Staff Backend Software Engineer
Job description
About the role
You will architect and own the backend services that power Semgrep's core platform, translating product requirements into scalable and resilient systems. You will design and implement data models and APIs that ensure our code analysis platform remains fast, reliable, and secure under heavy load. You will collaborate closely with product managers and frontend engineers to define interfaces and ensure a seamless user experience across the entire stack. You will integrate with third-party vendors and cloud services while maintaining strict security and compliance standards for our users. You will optimize database performance and query strategies to handle complex code analysis workloads efficiently. You will mentor junior engineers and contribute to technical decisions that shape the future of the platform. You will ensure that backend services are observable, debuggable, and maintainable in production environments.
Key facts
What you'll do
Investigate and resolve complex backend issues that impact the performance and reliability of Semgrep's platform.
Design and implement new RESTful APIs and gRPC services that enable efficient communication between frontend and backend components.
Collaborate with data science teams to integrate AI-driven features that reduce false positives and improve code analysis accuracy.
Optimize database schemas and queries to support high-throughput analysis of millions of code repositories.
Implement robust authentication and authorization mechanisms to secure access to customer data and internal tools.
Build and maintain infrastructure that supports continuous deployment and automated testing for backend services.
Partner with product managers to translate business requirements into technical specifications and backend implementations.
Monitor system performance and implement alerting mechanisms to ensure high availability and rapid incident response.
Integrate with external cloud providers and third-party vendors to extend platform capabilities and improve reliability.
Contribute to the development of tools and frameworks that standardize backend development across engineering teams.
Evaluate and adopt new technologies that improve scalability, latency, and developer productivity.
Document backend architectures, APIs, and integration points to ensure clarity and maintainability for future engineers.
Participate in code reviews to uphold engineering standards and share knowledge across the backend team.
Support on-call responsibilities to address production incidents and provide timely resolutions to critical issues.
Engage in technical design discussions that influence long-term platform strategy and product direction.
Requirements
You have a Bachelor's or Master's degree in Computer Science, Engineering, or a related technical field.
You possess 5+ years of professional backend development experience with a strong track record of delivering reliable systems.
You have expert-level proficiency in Python and experience with frameworks such as Flask or Django for building web services.
You are experienced with SQL databases and have a deep understanding of query optimization and database design principles.
You have hands-on experience with TypeScript and are comfortable building frontend interactions that consume backend APIs.
You have worked with containerization technologies such as Docker and orchestration platforms like Kubernetes.
You have experience deploying and managing applications on cloud infrastructure, particularly AWS services.
You have a strong understanding of distributed systems concepts, including scalability, fault tolerance, and service communication.
Nice to have
Experience with authentication protocols such as OAuth and SAML is preferred.
Familiarity with infrastructure as code tools like Terraform or CloudFormation is a plus.
Knowledge of code analysis and security tools is beneficial but not required.
Experience with message queues and event-driven architectures is valued.
Practical notes
This is a hybrid role with the expectation you'll join us 3+ days per week in our San Francisco, New York, Boston or Denver offices depending on team.
Remote employment will be considered for exceptional candidates as well.
Eligibility Requirements
To be eligible for employment with Semgrep, you must be authorized to work in the country in which the position is located. Currently, for US-based roles open to remote work, we are able to hire employees in the following states only: Arizona, California, Colorado, Connecticut, District of Columbia, Florida, Georgia, Illinois, Maryland, Massachusetts, New Jersey, New York, North Carolina, Ohio, Pennsylvania, Texas, Virginia, and Washington. If you live outside these states but are authorized to work in the US, we encourage you to apply only for roles open to remote work in your country.
Application Process
If you are excited about this opportunity, please submit your application through our careers page. We will review your application and, if you are a strong match, our recruiters will be in touch to schedule the next steps. We look forward to learning more about your background and how you can contribute to Semgrep's mission.