Software Developer
Role details
Job location
Tech stack
Job description
-
Design, develop, and maintain high-quality software components using Java and C++, with a focus on robustness, performance, and maintainability
-
Implement and extend code that interacts with a flexible integration framework for solver coupling and data exchange
-
Work closely with clients, domain scientists, and computational engineers-often on-site-to understand requirements and translate them into effective software solutions
-
Contribute to defining and evolving software architecture, balancing performance, scalability, and long-term maintainability
-
Write clean, well-documented, and testable code in line with scientific software development best practices
-
Participate regularly in code reviews, debugging sessions, and performance profiling to improve code quality across the team
-
Support and mentor junior developers through technical guidance, constructive review, and knowledge sharing
-
Over time, take on increasing responsibility for guiding technical direction and contributing to the planning, delivery and management of project work
-
Help develop client relationships and contribute to development of new business, such as through writing effective proposals
-
Thrive in a consultancy environment solving real-world, high-consequence challenges, If you are an experienced Software Developer seeking a new challenge and wish to further develop your technical and leadership skills, we would love to hear from you. Apply now to join our client's impactful and dynamic team. Not what you are looking for?
-
Developer jobs
-
Software jobs
-
Software Engineer jobs
-
Web Developer jobs
-
Python Developer jobs
Requirements
- Professional experience developing software in Java and C++
- Practical experience applying object-oriented design principles and modular software architectures
- Familiarity with collaborative development practices, including Git and CI/CD pipelines
- Experience working across the full software development lifecycle, including design, implementation, testing, and maintenance
- Knowledge of software testing techniques and a commitment to writing reliable, maintainable code
- Solid analytical and problem-solving skills, with the ability to work effectively both independently and as part of a multidisciplinary team
- The confidence and communication skills to work directly with clients and technical stakeholders
- Sole UK nationality, due to the nature of the work
Desirable Skills:
- Experience writing unit tests using JUnit and Google Test Frameworks
- Solid understanding of numerical methods and scientific computing principles
- Background in physics, applied mathematics, or engineering
- Experience in development with Fortran 90
- Experience in SQL database development
- Experience using the Java Spring framework
- Experience working in the defence sector
Benefits & conditions
- Competitive salary with yearly reviews
- 25 days holiday + the opportunity to buy 5 days
- A company with its heart in the right place and a welcoming work culture
- Happy to talk flexible working
- Enhanced parental benefits
- Company pension scheme
- Targeted professional development
- Life assurance
- Private healthcare membership
- Bonus scheme linked to company performance
- Paid membership fees to a professional institution
- Support in attaining professional membership
- Cycle to work scheme
- Season rail ticket loan
- Additional optional benefits tailored to your personal requirements