Senior Software Engineer Permanent Location: Portsmouth / Home (on site 3 days a week) Salary: £80,000 - £90,000 ( benefits) Skills: Python / C++ / Legacy Modernisation / Complex Systems, MOD DV Clearance We are looking to recruit a MOD DV Cleared Senior Software Engineer for a leading technology consultancy delivering complex software engineering, maintenance and modernisation projects. This is a hands-on senior engineering role focused on maintaining, improving and evolving complex software systems. The role would suit someone with strong Python development experience, ideally combined with exposure to C/C++ integration, performance improvement, refactoring, legacy system modernisation or engineering-heavy environments. You will work on technically challenging codebases where reliability, maintainability and engineering quality are critical. This will include: Investigating complex defects and incidents Performing root cause analysis Implementing durable fixes Refactoring and improving existing software Supporting architecture changes as requirements evolve Helping modernise codebases, tooling and engineering standards The role requires someone who is comfortable working across established systems, improving existing code and supporting other engineers through mentoring, review and technical leadership. Key Responsibilities Lead hands-on software maintenance, enhancement and upgrade work across complex codebases Investigate defects, incidents and technical issues, carrying out root cause analysis and implementing robust fixes Refactor and improve existing software to increase maintainability, reliability and performance Support architecture adaptation and evolution as system requirements change Work across Python-based systems, including integration with C/C++ components or bindings where required Contribute to codebase modernisation, engineering standards, tooling improvements and quality processes Support performance analysis and deliver improvements where needed Mentor engineers, provide technical guidance and help raise engineering quality across the team Contribute to peer review, quality gates and engineering governance Produce technical evidence, documentation and supporting material for project deliverables Support planning activity, estimation, acceptance criteria and delivery inputs Skills & Experience Strong hands-on software engineering experience in complex technical environments Strong Python development skills Experience working with C or C++ codebases, bindings, integrations or interoperability would be highly beneficial Experience maintaining, refactoring or modernising existing/legacy software systems Strong debugging, problem-solving and root cause analysis skills Ability to investigate complex incidents and deliver durable, well-engineered fixes Understanding of software architecture, maintainability, reliability and performance considerations Experience with peer review, engineering standards, quality gates and technical documentation Ability to mentor other engineers and provide technical leadership in a hands-on capacity Comfortable working in structured delivery environments where evidence, quality and engineering discipline are important Desirable Experience Experience with MATLAB or Simulink integration Experience working on scientific, engineering, defence, aerospace, simulation, modelling or complex systems software Exposure to performance optimisation, systems integration or software used in high-assurance environments Experience supporting architecture evolution or major codebase upgrade programmes