C#/.Net Senior Desktop Software Engineer – Abingdon, Oxfordshire – Permanent
Hybrid 3 days on site, 2 days remote
No sponsorship available
Qualifications
- 5+ years of professional software engineering building & shipping complex, production-grade applications – not solely scripting, prototyping, or research.
- Strong proficiency in C#/.NET with ability to work across both languages in a single product ecosystem.
- Undergraduate (or higher) degree in Computer Science, Software Engineering, or a closely related engineering discipline.
- Experience with cloud architecture (AWS, Azure, and/or Google Cloud).
- Proven experience with software engineering fundamentals: object-oriented & component-based design, design patterns, unit/integration testing, version control (Git), and code review workflows.
- Hands‑on CI/CD experience – building, configuring, or maintaining automated build & deployment pipelines.
- Experience modernizing legacy software – migrating codebases from older languages or frameworks to current platforms, including UI/UX modernization.
- Nice to have: Any Eclipse RCP or IDE experience.
- Comfort & curiosity with AI-assisted development tools and a track record of staying ahead of technology trends.
- Experience migrating mature C/C++ codebases to modern languages, runtimes, & UI/UX frameworks while preserving scientific accuracy & performance.
Job Duties
This is a hands‑on software engineering role. The client is looking to recruit an experienced Senior Software Engineer to design, develop, & modernize high-performance Rock Physics desktop & cloud applications. Reporting to the Team Lead and working closely with the Product Owner, you will own the technical direction of production software – writing code daily, reviewing pull requests, and driving architectural decisions.
Key Responsibilities
- Design & build software – architect, implement, and maintain complex desktop & cloud applications using modern software engineering practices (design patterns, SOLID principles, automated testing, continuous integration/delivery).
- Modernize legacy systems – lead the migration of mature C/C++ codebases to modern languages, runtimes, and UI/UX frameworks while preserving scientific accuracy & performance. (nice to have)
- Leverage AI-assisted development – actively adopt AI-powered tools (e.g., Copilot, code‑generation, automated testing assistants) to accelerate delivery & improve code quality.
- Collaborate on architecture – partner with the Team Lead & Product Owner to translate requirements into sound, maintainable technical solutions the team can implement & iterate on.
- Mentor & lead technically – coach junior & mid-level developers through code reviews, pair programming, & knowledge sharing; foster a culture of engineering excellence.
- Communicate clearly – escalates risks, trade‑offs, & progress in a timely, structured manner to technical & non‑technical stakeholders.
- Stay current – continuously evaluate & adopt emerging languages, frameworks, cloud services, & AI/ML tooling relevant to the product.
Self‑motivated & collaborative; thrives in a team environment & takes initiative without direction. Excellent analytical, communication, and problem‑solving skills.
#J-18808-Ljbffr…
