Genesis is seeking a talented Application Solutions Architect to help deliver our next generation software solutions that will enable Genesis' accelerated growth. The ideal candidate is a forward and innovative thinker, experienced with transformative projects and has a successful track record working collaboratively with cross-functional team members. You should have practical experience creating Service Oriented Architectural solutions and can draw on that experience to mentor and lead team members. We are looking for an engineer who is delivery focused who has experience with multiple technology stacks and can translate strategic roadmaps into practical designs to achieve objectives. We run Agile Scrum, and desire folks that thrive under Agile and look for ways to constantly improve the practice. Time to market is important to us, and we like to see candidates with applicable experience with FP as well as OOP using TDD principles in CI/CD environments.
As our Applications Solutions Architect you will:
- Develop and refine the strategic roadmap with the Enterprise Architect; evangelize and communicate to achieve awareness and understanding of the principles and goals.
- Translate the strategic roadmap into practical designs to drive projects that will advance both the architecture and the business goals of the company.
- Mentor team members to continuously raise our capabilities, multiplying your contribution through knowledge sharing and development talents on the development scrums.
- Write lots of high-quality, secure, efficient, scalable, and reusable code which protects customer privacy and confidentiality at all times.
- Ensure strong delivery practices are exercised and followed to instill professionalism into the fabric of the organization.
- Collaborate and consult with business leaders to define, scope and plan new features.
- Evaluate and recommend technologies to improve our overall solutions.
- Be a leader in the evolution and growth of our agile development process.
- Produce excellent documentation.
- Strategic and critical thinking skills.
- Strong architectural design and execution skills.
- 7+ years of experience in all aspects of the application development process; including gathering end user requirements, coding, deployment, and the creation of documentation.
- Deep experience with SQL and No-SQL databases.
- Expert level knowledge of C#, F# and TypeScript.
- Expertise in writing high performance distributed systems, and a deep understanding of CAP related trade-offs.
- Experience writing secure code, including HSMs, Certificate Authorities and the proper use of cryptographic primitives.
- Experience with actor-based frameworks such as Akka and ServiceFabric.
- Strong multi-threading skills using asynchronous methods, TPL, and Dataflow.
- Deep understanding of Functional Programming techniques, including implementing those techniques in Object Oriented languages like C#.
- Experience writing automation utilities, including parsers and code-generators.
- Experience with transactional message queues and synchronization strategies at scale.
- A strong understanding of SOA and micro services.
- Ability to distill complex code into modular, reusable libraries.
- Experience with web frameworks like Bootstrap, React, Vue, or AngularJS.
- Experience using property-based testing tools.
- Experience with CI/CD Pipeline systems like TeamCity, Jenkins, Concourse, Hudson, Bamboo.
- Nice-to-have experience: Docker, Kubernetes, Graphql, Lucene, Service Fabric, Kafka/Service Bus, RabbitMQ, ActiveMQ, ReasonML.
- Excellent written and oral communications skills required.
- 4-year degree in computer related field or equivalent experience in computer systems desired.