Software Engineer - Scientific & Engineering Software (C# & .Net)
Onsite in Abingdon 3 days a week
Are you an experienced Software Engineer looking to work on technically challenging software that combines modern development practices with advanced scientific and engineering applications?
We're looking for a Senior Software Engineer to join a collaborative development team responsible for designing, building, and evolving complex desktop and cloud-based software used by technical professionals around the world. This is an opportunity to contribute to the development of sophisticated applications, influence technical direction, and help modernise an established suite of products.
This is a hands-on engineering position where you'll play an active role in software architecture, development, code quality, mentoring, and technical decision-making while working closely with cross-functional teams including product specialists, domain experts, and fellow engineers.
Key Responsibilities
- Design, develop, and maintain high-performance desktop and cloud-based applications.
- Take ownership of software solutions from initial design through to deployment and ongoing enhancement.
- Develop and maintain applications using C#/.NET and C/C++.
- Modernise existing applications by introducing contemporary frameworks, technologies, and user experiences.
- Apply software engineering best practices, including object-oriented design, SOLID principles, design patterns, automated testing, and CI/CD.
- Collaborate with technical and product stakeholders to deliver scalable, maintainable software solutions.
- Participate in code reviews and provide technical guidance and mentoring to other developers.
- Evaluate and adopt AI-assisted development tools and emerging technologies to improve engineering efficiency and software quality.
- Contribute to technical roadmaps and continuous improvement initiatives across the development team.
You'll have:
- At least five years' experience developing commercial software applications.
- Strong experience with C# and the .NET ecosystem.
- Commercial experience using C and/or C++.
- Experience developing complex desktop software within scientific, engineering, technical, or data-intensive environments.
- A solid understanding of software architecture, object-oriented programming, design patterns, and software engineering best practices.
- Experience with version control, automated testing, code reviews, and CI/CD pipelines.
- Exposure to cloud platforms such as Microsoft Azure, AWS, or Google Cloud.
- Experience enhancing or modernising legacy software applications.
- Strong communication skills with the ability to collaborate across multidisciplinary teams.
- A degree in Computer Science, Software Engineering, or a related technical discipline.
Experience in any of the following would be advantageous:
- Scientific, engineering, industrial, or technical software development.
- Working with large datasets, mathematical models, or numerical algorithms.
- AI-assisted software development tools such as GitHub Copilot or AI-powered testing and code generation platforms.
What's on Offer
- The opportunity to work on technically sophisticated software solving real-world engineering and scientific challenges.
- A collaborative environment where you'll have genuine input into technical architecture and engineering direction.
- Ongoing opportunities for professional development and career progression.
- Exposure to modern technologies and software engineering practices.
- A supportive team culture focused on innovation, quality, and continuous improvement.
- If you enjoy building robust, high-quality software and solving complex technical problems in a collaborative environment, we'd love to hear from you.