Job Title: Software Engineer
Summary:
This is a hybrid role requiring 2 days per week onsite. The ideal candidate will have expertise in software development, cloud infrastructure, and high-performance computing (HPC). They will be responsible for architecting and developing software that runs in public clouds and HPC grids.
Responsibilities:
* Full end-to-end ownership of software component design and delivery
* Working closely with internal teams to bring a Quality First mentality and shifting testing left
* Mentoring and coaching team members in producing production-quality software solutions
* Developing frameworks and components for high-performance distributed software systems
* Working within and leading Scrum teams while contributing towards all tasks and team goals
Requirements:
* Bachelor's or higher degree in Software Engineering, Technology, or a relevant field
* Deep understanding of various testing frameworks and methodologies
* Deep experience with object-oriented or alternative software design models
* Understanding of Cloud infrastructure and SaaS with past experience on AWS, Azure, and Google Cloud
* Solid communication skills, including the ability to present ideas and share knowledge with others
* Experience with software development best practices for the full engineering lifecycle
* Proven technical leadership of SW domain areas
* Proven and sustained experience in complex software development
Preferred Qualifications:
* Has designed, developed, and led commissioning efforts for cloud-based microservices and orchestration software on public cloud
* Is an expert-level Linux user
* Has excellent protocol knowledge for networking, microservice communications, and data streaming (e.g., gRPC, TCP/IP, REST)
* Has developed Java-based software solutions for complex distributed systems
* Has a background in HPC or EDA
* Has the flexibility to wear different hats as the team grows
* Is interested in how things work under the hood