Lead the architectural vision across projects and system design using modern technologies with a core focus on reusability, scalability, and performance at scale.
Collaborate with Product and Engineering stakeholders to design and build platform services that meet key product and infrastructure requirements
Lead/mentor a team of engineers to build necessary shared infrastructure to enable rapid development of services from product teams
Analyze the requirements of each project, evaluate the pros and cons of different designs and technologies.
Clearly communicate architectural decisions, roadblocks and timelines to key stakeholders
Continuously learn and be at the leading edge of industry’s best practices
At least 3-5 years of experience designing Java applications
Experience refactoring monolith application into Microservices will be a plus
Strong experience in building distributed, event-based microservice-style and cloud-based applications
Strong analytical skills with the ability to break down and communicate complex issues, ideas, and solutions
Strong communication skills and ability to influence to reach consensus on designs
Fluency with the full software development lifecycle using Agile methodologies
Extensive experience with a strongly typed object-oriented language (Java or Python)
Extensive experience with scripting languages
Experience with relational databases
Full-stack experience with web services
Familiarity with standard software development best practices: source code control, unit testing, in-code documentation and automated build environments
Experience with Linux applications spread across a hybrid cloud environment (AWS, Azure, collocation facility)
Superior communication skills in a highly diverse cross-discipline environment
Preferred: At least one project implementation Next-generation sequencing data or LIMS systems