Our Opportunity
As a Senior Software Engineer at Snyk, you'll be at the forefront of building the future of application security. You'll be challenged to create high-performance, reliable, and scalable services while collaborating closely with cross-functional teams. We're looking for individuals who are passionate about crafting exceptional software, solving complex problems, and driving innovation.
As a part of our Security Experience team you'll work on a variety of projects, building a scalable, adaptable product used by both our Snyk products and Enterprise customers. This is a unique opportunity to help evolve how developers and security teams worldwide interact with their security data, driving real change in the cybersecurity landscape.
You'll Spend Your Time:
- Analyzing, designing and implementing high-quality solutions to problems with well-tested, maintainable code.
- Building systems with the long-term in mind, focusing on good design, robust testing, and sustainability from the perspective of cost and scale.
- Supporting our customers by resolving bugs and customer support escalations.
- Designing solutions to problems which typically require multiple engineers to implement.
- Demonstrating end-to-end ownership for the delivery of key efforts, and leading peers in the delivery of particularly broad efforts as a technical lead.
- Providing mentorship to more junior engineers, and playing a role in growing the next generation of engineers at Snyk.
What You'll Need:
- At least 5 years of commercial experience as a Software Engineer.
- Experience in large-scale software systems design, and familiarity with fundamental computer science concepts (algorithms, complexity, data structures).
- Proficiency in at least one of our core programming languages (Go, TypeScript), and a willingness and enthusiasm for learning new languages and technologies.
- Experience in at least one of:
- Building highly reliable, scalable microservice back-ends for web APIs or applications, or other types of large-scale, high reliability systems.
- Building web UIs, CLIs or APIs for use by other engineers.
- Building infrastructure or platform automation, or observability or release tools.
- Demonstrable skill in effective software testing.
- Strong commitment to code quality, and the value of giving and receiving feedback through code reviews.
- Ability to deal with ambiguity, and respond with agility when requirements and priorities change.
- Effective communicator both verbally and in writing. Able to work collaboratively, be curious and have a growth mindset.
- Ability to lift the performance of a team through coaching and mentoring of more junior engineers.
We'd be Lucky if You:
- Enjoy working on early stage products; talking with customers to identify, prioritize and solve problems iteratively and build something that they really love.
- Feed off complex technical problems and find solutions where others see roadblocks.
- Embrace challenges and learn from them.