Senior Software Engineer – AUE
Our Client is looking for a Senior Software Engineer (AUE: Attack and User Emulation Team) to join our team and provide expertise in microservices, event-driven messaging systems, Spring Boot, and containerization. You will drive delivery of various containerized microservices that power the core emulation services of our cyber ranges — allowing users to simulate real-life cyber attacks and user personas with high-fidelity realism. You’ll be responsible for ensuring our engineering practices are exemplary by guiding the team on best coding practices, system architecture, and cultivating a culture of continuous improvement. Your mentorship will be key in helping team members grow, while you contribute directly to code, design, and architecture.
Who you are:
- You feel comfortable leading, driving, and delegating team initiatives
- You enjoy solving complex problems and building solutions through collaborative methods
- You’re always open to feedback and willing to give feedback to your colleagues
- You understand that nothing is perfect and there is always room for improvement
- You are driven by goals and team outcomes
- You’re focused on the iterative delivery of high-quality, well-tested code
- You’re conscious of scalability and re-usability, but pragmatic when it comes to trade-offs
- You’ve worked in or tangential to the cybersecurity field
What you’ll be doing:
- Designing, developing, and maintaining core services for cybersecurity range simulation, with a focus on scalability, performance, and fault tolerance
- Leading end-to-end technical projects, from requirements gathering and architecture design through to deployment, while setting clear goals and priorities
- Mentoring and supporting engineers on the team, promoting a collaborative culture and guiding them in coding best practices, testing, and architectural design
- Collaborating cross-functionally with Product Managers and UX Designers to translate requirements into technically sound, user-centered solutions
- Conducting code reviews and providing constructive feedback to ensure code quality, performance, and adherence to company standards
- Implementing robust monitoring and alerting strategies to maintain high uptime and quick response to potential system issues
- Ensuring services meet security and compliance standards by integrating appropriate controls into the development lifecycle
- Contributing to documentation covering technical architecture, system design, and best practices to ensure knowledge sharing and team alignment
Languages and Tools we use:
- Python, Golang, Kotlin, Java, Kubernetes, Docker, Spring Boot, VMware
Requirements:
- 6+ years of hands-on software development experience with a strong focus on large-scale, distributed systems
- Expertise in an OOP-based language such as Java or Kotlin, with a strong understanding of API design, integration, and best practices
- Proven experience with unit and integration testing and deploying services in Kubernetes or a similar container orchestration platform
- Demonstrated ability to design, build, and operate fault-tolerant systems, including experience in requirements gathering and project breakdown
- Solid knowledge of cybersecurity with a broad understanding of offensive and defensive security concepts
Nice to have:
- Experience working in or adjacent to the cybersecurity industry
- Familiarity with air-gapped or compliance-driven deployment environments
- Experience collaborating with UX and Product teams in an Agile environment
- Background with event-driven architecture and messaging systems