This role requires a talented hands-on manager and engineer who is versatile and creative. One who can not only lead and influence groups of teams, but be an integral part of a small tight team that will build out the next generation of software solutions. The role will be 90% hands-on development and about 10% team management.
If you’re passionate about application engineering, want to help shape the direction of our next generation features and products for our partners in episodic care, and to make a significant impact on the health and lives of hundreds of thousands of people, then we have the perfect position for you!
The Senior Software Engineer will work with multiple SCRUM teams developing highly scalable enterprise applications and web services that are a key part of our ecosystem. The Senior Software Engineer will design and implement software that solves complex business problems. This person will identify risks and unnecessary complexity, and incorporate non-functional aspects into their software design.
What will you do?
Engineer highly scalable, distributed web services & applications
Work on enterprise services and applications
Be responsible for the security and privacy of all protected health information that may be accessed during everyday work activities
Deliver high-quality code to production
Suggest paradigms, toolsets, frameworks, or third party solutions and work to establish consistency in terms of process and approach.
Support team members and drive:
Partnership with and execution of product direction across the group.
Adoption of new technology and best practices.
Fostering a security mindset, helping to train and implement code security best practices within the team.
Aggregating and reviewing engineering performance and application uptime KPIs.
Strong mentorship and coaching to junior software engineers leading software design and implementation of most projects.
Identifying opportunities for improvement across dependent services and teams.
We are looking for someone with:
8+ years of experience in the engineering field as a software engineer
1+ year of software engineering team management
Experience designing, implementing, and supporting highly scalable applications and web services.
Strong Debugging Skills
Conversant with tools for coverage, memory sanitization, performance instrumentation/management
Ability to understand and refactor large pieces of code
Experience with Go is highly preferred, Java, Python
Experience with Amazon AWS services (e.g., Lambda, DynamoDB, Aurora, S3, AppSync, SNS, SQS, Kinesis)
Experience working with API documents, calling APIs using scripts, and testing APIs
Experience with automated testing including unit and integration testing.
Experience with distributed version control systems (e.g., Git)
Good understanding of the Secure Software Development Life Cycle (SSDLC)
Knowledge of Agile-support tools such as Jira, Confluence, BitBucket, Bamboo, etc.
Experience working in environments where Agile, Scrum / Kanban, DevOps, TDD, BDD, and Shift Left work practices are used and champion of these methodologies, leading and encouraging the practice of them.
Experience with Continuous Integration or Automated Deployment is a plus.
Experience with Docker, Kubernetes or related container solutions is a plus.
Bachelors in Computer Science or a related field