Software Engineer II
Role details
Job location
Tech stack
Job description
As a Software Engineer II, you will work with a cross functional squad of Database, Platform, Salesforce, Software, Testing Engineers, Product and Project Management to develop solutions for critical projects. You will implement solutions, assist in defining scope and sizing of work, lead projects and other engineers at times, participate is technical discovery of for new projects, and collaborate with other teammates to brainstorm ideas and review solutions and code that follows best practices. What you'll do...
- Implement code that follows best practices based on technical specifications for projects.
- Assist and lead solution architecture for in-house development efforts, integrations with third party services, and designing/developing complex features for stakeholder needs.
- Research, recommend, and test modern technology stacks and tools to meet technology and project goals and help the Engineering team migrate toward their use.
- Participate in technical discovery phase of program development lifecycle in researching technologies and creating proof of concepts to present as potential solutions.
- Occasionally lead and manage projects from the technical side.
- Work with application developers, users, operational leadership, and subject matter experts to understand current and future operational goals.
- Review existing solutions, projects, and infrastructure to provide recommendations for enhancements and structural improvements.
- Develop complex software systems using modern framework and development patterns
- Participate in ongoing refinement of patterns and practices for Software engineering as part of optimized software development lifecycle (SDLC).
- Help develop a distributed system with concurrent access and usage patterns.
- Help advance and optimize software development lifecycle with development, testing, and deployment.
- Work closely with our product team to understand the needs of our clients.
Requirements
- Bachelor's degree in computer science, Engineering or related field, or equivalent experience.
- 4+ years' experience in Software Engineering utilizing one or more programming languages
- 2+ years' experience researching and presenting technical solutions
- Extensive experience with SQL and either MySQL or similar relational database systems (MariaDB, PostgreSQL)
- Detailed working knowledge of REST API development and supporting tools
- Extensive experience with Docker and AWS or similar cloud services
- Extensive experience in implementation methodologies, software development lifecycle process, and project management
- Extensive experience with software project planning and organization with strong problem solving and communication skills
- Detailed working knowledge of AWS serverless services (AWS Lambda, S3, RDS) and how to evaluate serverless vs. traditional services (EC2, ECS on EC2, etc.)
- Experience with infrastructure-as-code (IaC) and build pipelines (CI/CD), and deployment & release patterns
- Extensive knowledge of ETL development and supporting tools (ETL Tools such as Dagster, AWS Step Functions etc.)
- Detailed knowledge of advanced workflow development (schedule vs. event-based jobs, queued jobs, jobs that depend on other jobs)
- Strong ability to select, apply algorithms and data structures appropriate for processing large data sets
- Deep knowledge of stateless and stateful service designs and common supporting components
- Familiarity with container orchestration tools (K8S, Docker, containers, AWS-ECR, etc.)
Nice to Have Skills and Experience...
- Experience with Python, including experience with frameworks (such as FastAPI, Typer), libraries (such as SQLAlchemy and pandas), and core programming concepts such as OOP, SOLID, dependency injection, unit testing, optimization, etc.
- Experience with multiple IAC (Infrastructure as Code) Tools such as Terraform, Cloudformation, AWS CDK
- Experience in CI/CD pipelines, ideally CircleCI
- Experience in NoSQL Databases (Snowflake, DynamoDB, MongoDB, etc.)
- Experience with Automated Testing/TDD and QA frameworks is a plus
- Experience with HIPAA security guidelines & SOX compliance is a plus
- Experience in healthcare is a plus
Please note: This is not a digital nomad or remote international position; candidates must be based in the United States. Progyny is unable to provide visa sponsorship for this position. Candidates must be authorized to work in United States without the need for sponsorship, now or in the future.
Benefits & conditions
life insurance, parental leave, paid time off, sick time, flex time, 401(k), * Family friendly benefits: Paid family and parental leave, preconception, fertility and family building benefits (including egg freezing, IVF, and adoption support), family and pet care fund, and Parents' Employee Affiliation Group
- Menopause and midlife care
- Health, dental, vision and life insurance options for employees and family
- Free in-person, virtual and text-based mental health and wellness support
- Paid time off, including vacation, sick leave, personal days and summer flex time
- Company equity
- Bonus program
- 401(k) plan with company match
- Access to on-demand legal and financial advice
- Learning and development programs to help you grow professionally and a mentorship program
- Company social eventsto include annual volunteer day and donation matching
- Flex days (3 days a week in the office) and onsite meals and snacks for employees reporting into our NY office
In compliance with New York City's Wage Transparency Law, the annual salary [wage] range for NYC-based applicants is: $115,000 - $150,000. There are a variety of factors that go into determining a salary range, including but not limited to external market benchmark data, geographic location, and years of experience sought/required. Progyny offers a total compensation package comprised of base salary, cash bonus, and equity.