Role overview
Senior Software Development Engineer is a key contributor within Indra's UTM Product team, responsible for the design, development, and delivery of high-quality software components within GuardianUTM and related systems. GuardianUTM is continuing to evolve as a platform, focusing on enhancing reliability, performance, and operational maturity while adding new capabilities. The role requires an engineer who is comfortable working in a growing and evolving system, able to identify areas for improvement, take ownership, and drive outcomes with minimal direction. The successful candidate will be a self starter-motivated, proactive, and delivery focused-capable of navigating ambiguity and getting things done. Alongside strong hands on engineering capability, they will take ownership of significant features or services and contribute to building a robust, scalable, and secure platform. Working closely with Product, Architecture, and Engineering leadership, the Senior Software Development Engineer ensures that product requirements are translated into effective technical implementations aligned with architectural direction and regulatory constraints. The role also contributes to strengthening engineering practices, improving system resilience, and supporting overall platform growth.
Key Responsibilities
- Software Design & Development
- Design, develop, test, and maintain high quality software components that meet defined functional and non functional requirements.
- Take ownership of significant features or services, ensuring code is maintainable, performant, and aligned with agreed standards.
- Proactively identify and address technical debt and any stability concerns within the codebase.
- Ensure solutions are delivered in line with agreed scope, timescales, and quality expectations.
- Technical Contribution & Implementation
- Contribute to the implementation of complex components and integrations within established architectural patterns.
- Collaborate with Principal Engineers and Architects to ensure technical solutions are consistent with platform design and long term direction.
- Apply sound engineering judgement to solve problems and make day to day technical decisions.
- Demonstrate initiative in identifying improvements and driving them through to completion.
- Delivery & Execution
- Support predictable and efficient delivery by contributing to planning, estimation, and task breakdown.
- Communicate progress, risks, and dependencies clearly within the team.
- Take responsibility for delivering work through the full development lifecycle, from design through to production support.
- System Reliability & Operational Support
- Support the operation of production systems, ensuring reliability, performance, and availability.
- Investigate and resolve issues, contributing to root cause analysis and continuous improvement of system resilience.
- Ensure solutions are designed with operability in mind, including monitoring, logging, and supportability.
- Quality & Engineering Practices
- Follow and contribute to established engineering standards, testing approaches, and development practices.
- Participate in code reviews, ensuring quality and consistency across the codebase.
- Support continuous improvement in development processes, tooling, and team ways of working.
- Standards & Governance
- Work within defined engineering standards, architectural guidelines, and governance frameworks.
- Ensure developed solutions meet required safety, regulatory, and operational constraints.
- Support documentation and audit requirements where needed.
- Collaboration & Cross Functional Working
- Work closely with product, safety, and operational teams to ensure technical solutions meet business and regulatory needs.
- Collaborate effectively with other engineers to deliver integrated platform capabilities.
- Mentoring & Team Contribution
- Provide guidance and support to less experienced engineers within the team.
- Contribute to knowledge sharing and help promote good engineering practices.
- Communication
- Communicate technical progress, issues, and risks clearly within the team and to relevant stakeholders.
- Support effective collaboration by contributing to shared understanding of requirements and solutions.
Essential
- Strong commercial experience with C# / .NET
- Experience building and supporting distributed or cloud based systems
- Experience with containerised applications (e.g. Docker, Kubernetes)
- Experience supporting and troubleshooting production systems
- Experience with version control systems (e.g. Git)
- Experience with TypeScript or modern front end frameworks
- Experience working in agile delivery environments (e.g. Scrum)
Desirable
- Experience with cloud platforms (e.g. Azure)
- Experience with CI/CD pipelines and release processes
- Experience with observability tools (monitoring, logging, alerting)
- Experience in technical leadership or mentoring roles
- Experience working in safety or regulation driven environments
Technology Stack
- .NET (latest versions)
- Kubernetes & Docker
- Azure (SQL, CosmosDB, cloud services)
- PostgreSQL
- TypeScript / modern web frameworks (e.g. Vue.js)
- Observability tooling (e.g. Azure Monitor, Prometheus, Grafana)
- Azure DevOps / CI-CD pipelines
Benefits
- 25 days per annum + 8 days bank holidays (options to buy/sell days)
- 37.5 hour working week
- Pension - 4% employee and 4% employer
- Private medical insurance (including dental & optical)
- Life assurance
- Income protection
- Employee assistance programs
- Flexible/remote working options
- Charitable initiatives
- Social events (formal & informal)
- Learning and development programs
- Innovative & collaborative work environment
Indra is an equal employment opportunity employer. Applicants are considered without regard to race, colour, religion, sex, sexual orientation, gender identity, origin, disability or other characteristics protected by law