Job Description
Software Development
Design and implement high quality software features and components that integrate into complex software solutions. Select appropriate design patterns to create maintainable, long-lived code optimized for long-term quality. Lead the product team in identification and adoption of development best practices leading to software that is logically well-structured, fulfills requirements, is readable, maintainable, testable, and performant using good software craftsmanship techniques. Lead sizing and complexity evaluation discussions for initiatives. Facilitate effective team collaboration, guiding and mentoring peers in software quality, testing, and best practices.
Testing & Quality Assurance
Define test practices for product team covering all software layers of application. Define and implement QA processes such as code review and static analysis. Create advanced testing strategies covering unit, system, and end-to-end tests as well as security, performance, regression, and automation testing. Coach teams on advanced testing techniques such as test-driven development (TDD), behavior-driven development (BDD), and testing for positive and negative scenarios.
Data Management
Devise data storage and access strategies that meet the needs of high complexity features. Use knowledge of data modeling, data storage, and data transmission techniques to make appropriate design decisions. Design metadata to make applications more scalable and adaptable. Leverage transformational models and warehousing techniques to create unique measures and analytics. Skilled in data storage solutions and integrating analytics and machine learning into business processes.
Infrastructure & Integrations
Designs and implement microservices and API-based architecture using advanced understanding of cloud architecture and cloud-native design principles. Advise on and pilot specialized cloud services for analytics, AI/ML, etc. Expert-level management of relational and non-relational database servers. Establish advanced monitoring, alerting, and logging solutions for infrastructure. Design systems for high availability, load balancing, and disaster recovery.
Operations
Design and create highly dependable, highly available software systems through usage of operationalization development techniques such as monitoring, logging, metrics gathering, system health, and reporting. Improve operations culture of team by defining best practices, metric radiation, and identification of operational patterns. Utilize advanced techniques like blue/green deployments to minimize user impact. Set technology strategy through collaboration with product management. Understands business impact of operational product issues in production.
Security & Compliance
Lead product team in development of software with a security-first mindset using knowledge of standard security protocols and common security risks, secure coding techniques, and appropriate usage and protection of sensitive information such as PHI. Proactively design secure code, employing best practices and advanced threat modeling. Complete regulatory compliance documentation and design advanced security safeguards.
Product & User Experience
Lead product team in the development of features with user experience in mind. Advocate for aligned user experiences and engage with UX teams when necessary. Lead the implementation of reusable design patterns across products. Demonstrate expertise in user-facing technologies, adapting them to fit specific design objectives. Guide the team in making informed tech and design debt decisions.
Requirements & Design
Collaborate with stakeholders to design appropriate systems based on business needs and technical limitations. Write detailed technical stories, technical epics, define and manage tech debt. Coordinate technical epics and non-functional requirements. Employ industry recognized architectural patterns to create high-scale, high-reliability system designs. Manage transitions in both application and system architecture.
Skills and Requirements
Deep knowledge and experience with object-oriented design principles and patterns
High level of experience with multiple server-side programming languages (Java with Spring Boot)
High level of experience with multiple client-side programming languages (JavaScript React)
High level experience developing, deploying, and supporting REST services and microservices
Deep understanding of Test-Driven Development, high level of experience with unit/integration/load automated tests, experience with testing frameworks, static and dynamic code analysis tools
Experience using cloud services for concepts such as storage and compute. Capable of applying infrastructure as code practices. Experience with Kubernetes and AWS preferred.
Experience with relational databases, non-relational databases, and messaging systems.
Provides a positive impact at a company level influences cross-team initiatives, mentors teammates, drives innovation, guides projects with unclear outcomes, appropriately balances team autonomy with organizational guidance
Excellent track record of collaborating with stakeholders. Experience proposing new product offerings. Actively contributes to company-wide strategies using industry knowledge and foresight
Minimum years of work experience: 10+ years
Minimum level of education or education/experience: Bachelors or equivalent work experience in Computer Science, Computer Engineering, Electrical Engineering, Information Systems, IT null
We are a company committed to creating diverse and inclusive environments where people can bring their full, authentic selves to work every day. We are an equal employment opportunity/affirmative action employer that believes everyone matters. Qualified candidates will receive consideration for employment without regard to race, color, ethnicity, religion,sex (including pregnancy), sexual orientation, gender identity and expression, marital status, national origin, ancestry, genetic factors, age, disability, protected veteran status, military oruniformed service member status, or any other status or characteristic protected by applicable laws, regulations, andordinances. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request to [email protected].