Senior Systems Developer
Role details
Job location
Tech stack
Job description
We're looking for a Software Engineer to design, build, and maintain software solutions across Gamma's product and service portfolio. In this role, you'll contribute to the design and development of internal tooling applications focused on monitoring, diagnostics, reporting, and data processing. You'll work closely with product, operational, and engineering teams to ensure systems are scalable, observable, and aligned with Gamma's architectural standards. This is an opportunity for someone who thrives on solving complex, open-ended problems and wants to make a measurable impact through high-quality engineering. What will you be doing day-to-day?
- Design software systems that meet defined objectives and architectural standards
- Develop and maintain internal tooling applications for monitoring, diagnostics, and reporting
- Implement robust back-end services and components underpinning these systems
- Collaboratively design and define APIs (local libraries and remote services)
- Ensure software is testable at all levels and implement automated testing strategies to minimise regression risk
- Integrate solutions into existing CI/CD pipelines, or create new pipelines where required
- Facilitate technical design discussions, document Architecture Decision Records (ADRs), and maintain high-quality technical documentation
- Follow Gamma architecture recommendations and team conventions, contributing to their evolution
- Contribute to defining and delivering the team's technical roadmap
- Work closely with production and operational teams to understand domain-specific data and optimise how it is consumed, processed, cached, and presented
- Ensure systems are observable through appropriate metrics, monitoring, and alerting integrations
- Provide technical input to customer support teams regarding incidents and potential user-impacting changes
Requirements
Do you have experience in Scalability?, Technical expertise
- 5+ years' experience with PHP (role variant dependent)
- 3+ years' experience with JavaScript and modern front-end frameworks
- Strong understanding of design patterns and architectural patterns
- Experience working with large datasets, including caching strategies and schema/query optimisation
- Solid SQL and working knowledge of NoSQL databases
- Linux experience (including bash)
- Experience deploying and operating software in cloud environments
- Experience with containerisation
- Kubernetes (beneficial)
- Git version control
- SIP and RTP knowledge (beneficial)
- Engineering capability
- Expert-level problem-solving skills, particularly with ambiguous or open-ended challenges
- Ability to conduct root cause analysis and proactively identify technical risks
- Experience refactoring code for testability, scalability, and maintainability
- Strong decision-making skills, balancing abstraction, complexity, and future change
- Ability to contribute to scoping decisions with estimation and risk analysis
- Experience integrating monitoring, metrics, and alerting into systems
Collaboration & leadership behaviours
- Clear and concise communicator, able to tailor technical discussions to different audiences
- Comfortable working closely with Product Owners, Team Leads, developers, and operational teams
- Empathetic and approachable, actively sharing knowledge and supporting colleagues
- Provides honest, constructive feedback to help others grow
- Growth mindset, open to experimentation and continuous learning
- Understands the operational and cost implications of engineering decisions