Our client is seeking a Staff Software Engineer to help design, build, deploy, and maintain the microservice architecture that's responsible for powering our security ratings platform used by over 2100 customers to manage their cyber risk. Leveraging your software engineering experience, you'll be responsible for developing a deep understanding of our tech stack, the information architecture that drives the product, and the interplay between the two.
The scope of this role extends beyond core software engineering; you'll be responsible for working closely with our Product, DevSecOps, Data Science, and UI/UX teams to understand the evolving requirements our middleware architecture and how to build performant, scalable solutions for those requirements the right way.
Key responsibilities will include:
- Serving in a leadership role in scaling our SaaS product during a time of rapid user growth to ensure an excellent customer experience;
- Maintaining, building, and optimizing our REST APIs with a particular focus on making existing APIs scale to handle larger and larger amounts of data;
- Decoupling existing chunks of our primary backend service with an eye towards spinning them off into their own microservice if prudent;
- Where appropriate, design and implement non-REST APIs to improve performance for specific customer or front-end needs--e.g. websockets for real time notifications, etc.;
- Championing best practices for our microservice architecture and design. Bonus points if you can tell us which of the 12 factors is your favorite;
- Working closely with the DevOps team to improve and optimize our CI/CD processes and production architecture to improve both developer and customer experience.
- Have significant (5-10 years) experience designing, building, and maintaining a large SaaS application;
- Strong understanding of software and microservice architecture designs patterns;
- Significant experience with an object-oriented language (Python, Ruby, C#, Java, etc.);
Nice to have:
- Significant experience with the one/some/all of following technologies: Python, Django, Kubernetes, AWS/GCP/Azure, Jenkins, Express, Nodejs, Spring Boot, Flask;
- Experience with breaking up a software monolith into microservices;
- Experience with managing the roll out of new technologies (gRPC, GraphQL, Kafka, etc.) to software development organization;
If being part of a quickly growing software company that's rapidly evolving its underlying technology while still providing an excellent customer experience, we want to hear from you!