Synack is a company focused on transforming cybersecurity through its Penetration Testing as a Service platform. The Senior Software Engineer, Application Platform will develop high-performance, scalable software systems that support cybersecurity products, while promoting a strong engineering culture and SDLC processes within the organization.
Responsibilities:
- Design, build and deploy high-performance, resilient, scalable cloud-based software systems and components for the best-in-class cybersecurity platform
- Drive the delivery of software capabilities from an idea to production, following SDLC processes, with an eye on quality and efficiency
- Utilize GCP platform to build and run highly-available software systems
- Identify and resolve performance issues across systems and components
- Collaborate on a cross-functional team, working with Product, Operations, and Platform Engineering
- Integrate monitoring and alerting capabilities with backend modules to allow proactive improvements to availability and response times
- Own and ensure the quality of systems through automated tests
- Ideate technical solutions for product requirements and user stories
- Actively engage and participate in design and code reviews
- Offer guidance and support to junior team members, encouraging and cultivating a culture of continuous learning within the team
Requirements:
- 7+ years of experience in distributed-systems and backend software engineering
- Expert knowledge of golang (4+ years). Knowledge of Ruby is preferred, but is not required
- Strong experience and understanding of microservices, REST API design, gRPC, writing unit testing, BDD testing
- Strong design skills required – UML is a bonus; exposure to Domain Driven Design desirable
- Experience with asynchronous messaging technologies such as Google PubSub, Kafka
- In depth knowledge of NoSQL and RDBMS technologies
- Strong experience with Docker, Kubernetes, Cloud Environments (GCP preferred)
- Experience working on agile teams
- Excellent communication and collaboration skills in all mediums
- Experience working on and scaling a microservice-based application
- Experience with GitOps and DevOps principles, practices and tools
- A proven ability to thrive in a collaborative environment involving different stakeholders and subject matter experts
- Knowledge of Ruby is preferred, but is not required
- UML is a bonus; exposure to Domain Driven Design desirable
- GCP preferred