JOB SUMMARY (added November 2024)
The Software Engineer II is a full-stack developer proficient at working in all layers of complex software applications. This engineer works on an agile product development team as a hands-on contributor and collaborator who can become the “go to” person for features or components of technology solutions which transform healthcare into a safer and more cost-effective industry.
ESSENTIAL DUTIES & RESPONSIBILITIES
Software Development
Create high quality software features and components that integrate into complex software solutions. Develop software that fulfills requirements, is readable, maintainable, testable, and performant using standard idioms and common software craftsmanship techniques. Pair with other engineers and apply clean code techniques to produce high quality code.
Testing & Quality Assurance
Create and understand the importance of appropriate testing strategies for features. Create appropriate unit, integration, and automated acceptance tests for features based on requirements. Utilize test-driven development to guide development.
Data Management
Devise data storage and access strategies during development work. Use knowledge of data modeling, data storage, and data transmission techniques to make appropriate design decisions. Contribute to data import, export, and analytics initiatives.
Operations
Create highly dependable software features through use of operationalization development techniques such as monitoring, logging, metrics gathering, system health, and reporting. Identify, diagnose, and address issues using operational data and tools.
Security & Compliance
Develop 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. Identify potential security issues during requirements analysis, development, and threat modeling discussions.
Product & User Experience
Develop software features with user experience in mind. Follow existing UX guidelines and identify opportunities to improve user experience. Extend and enhance user-facing software effectively using knowledge of best practices and an appreciation for tech and design debt.
Requirements & Design
Translate technical specs into business context even when working with ambiguous requests or partial information. Make cost-effective feature design decisions and extend application architecture at appropriate points.
ESSENTIAL DUTIES & RESPONSIBILITIES
-
Write feature code that fulfills requirements, compiles, passes test, and integrates successfully with larger software systems. Participate actively in paired programming. Begin to learn and demonstrate basic software craftsmanship techniques
- Understand basic software testing strategy benefits and concepts. Develop appropriate unit and integration tests prior to completing feature work. Organize code so that it is unit-testable
- Participate in team activities like standups and code reviews in order to promote proper communication about work product and issues
- Participate in monitoring and troubleshooting activities, including night rotations and on-call schedules
KNOWLEDGE & REQUIREMENTS
-
Strong, proven understanding of Python programming language and its ecosystem.
-
Strong, proven understanding of SQL, and common RDBMSs- preferably PostgreSQL and MS SQL Server
-
Experience in AWS ecosystem. Airflow experience is a plus.
-
Knowledge of front-end technologies like HTML, CSS, and JavaScript is a plus
-
Excellent problem-solving and analytical skills
-
Ability to work collaboratively in a team environment
-
Strong communication and interpersonal skills
-
Good time management and multitasking abilities
-
Understand basic software testing strategy benefits and concepts. Develop appropriate unit and integration tests prior to completing feature work. Organize code so that it is unit-testable
-
Understand basic software testing strategy benefits and concepts. Develop appropriate unit and integration tests prior to completing feature work. Organize code so that it is unit-testable
EDUCATION & EXPERIENCE REQUIREMENTS
-
Minimum years of work experience: 4+ years of experience
-
Minimum level of education or education/experience: Bachelor in Computer Science
#LI-FC1
#LI-Hybrid