We are seeking an experienced Software Developer to join our dynamic and innovative team. In this role, you will be responsible for designing, developing, and maintaining high-performance backend software solutions using Java and C++ within Linux environments. You will work closely with customers and internal teams to understand requirements, define technical approaches, and deliver robust, reliable, and scalable solutions.
As a senior member of the engineering team, you will provide technical leadership, contribute to architectural decisions, mentor junior developers, and support the continuous improvement of development practices. With a strong focus on code quality, automation, testing, and maintainability, you will help shape the evolution of our products and technical capabilities.
Key Responsibilities
- Design, develop, and maintain high-performance backend software solutions using Java and C++ within Linux-based environments.
- Lead the technical design and implementation of software components, services, and APIs.
- Implement robust, maintainable, and well-tested code with a strong focus on performance, reliability, scalability, and security.
- Provide technical leadership and mentoring to junior and mid-level software engineers.
- Support architectural decision-making and contribute to technical strategy and roadmaps.
- Conduct code reviews and ensure adherence to software engineering best practices and development standards.
- Investigate, troubleshoot, and resolve complex software defects, including issues relating to customer libraries and third-party dependencies.
- Develop and maintain RESTful APIs, microservices, and distributed applications.
- Integrate and utilise static analysis, profiling, and debugging tools to maintain high software quality and code coverage.
- Containerise applications using Docker for streamlined deployment and scalability.
- Contribute to Continuous Integration and Continuous Deployment (CI/CD) pipelines and DevSecOps practices.
- Collaborate with customers, stakeholders, and cross-functional teams to understand requirements and translate them into technical solutions.
- Ensure software quality, performance, maintainability, and security through rigorous testing, code reviews, and adherence to engineering best practices.
- Utilise version control and collaboration platforms including Git, Bitbucket, and GitLab.
QUALIFICATIONS and Experience
- Bachelor's degree in Computer Science, Software Engineering, or related field (or equivalent work experience).
- Proven commercial experience (5+ years) developing software in Java and/or C++, preferably within Linux environments.
- Strong understanding of software architecture, software design patterns, and object-oriented programming principles.
- Experience designing and developing enterprise-scale backend applications, APIs, and distributed systems.
- Strong understanding of multithreaded and concurrent application development.
- Experience analysing, troubleshooting, and optimising software performance within Linux environments.
- Strong understanding of software debugging and diagnostic tools.
- Experience with relational and/or NoSQL database technologies.
- Familiarity with containerisation technologies such as Docker.
- Knowledge of CI/CD tools such as Jenkins, GitLab CI/CD, or Azure DevOps.
- Solid understanding of version control systems, particularly Git.
- Experience working within Agile software development environments.
- Excellent problem-solving and analytical skills.
- Strong communication, collaboration, and stakeholder engagement abilities.
Additional Requirements
- Ability to travel to company premises or other venues as required.
- Maintain professional development to meet the changing demands of the job and participate in appropriate training activities, including mandatory training.
- Undertake such other duties as may be required from time to time, commensurate with the level of skill and competence of this post, to assist with the smooth running of the business.
- Understand, comply with, and ensure adherence to organisational standards, particularly those related to security, privacy, and ethics.
Pay: £53,000.00-£78,000.00 per year
Benefits:
- Company events
- Company pension
- Cycle to work scheme
- Employee discount
- Enhanced maternity leave
- Enhanced paternity leave
- Flexitime
- Health & wellbeing programme
- Paid volunteer time
- Private medical insurance
- Referral programme
- Sick pay
Ability to commute/relocate:
- Cheltenham, Gloucestershire: reliably commute or plan to relocate before starting work (preferred)
Licence/Certification:
- UK eDV Clearance? (required)
Work Location: In person