Senior Software Engineer – Abingdon, Oxfordshire – Permanent
Hybrid 3 days on site, 2 days remote
Requirements
* 5+ years of professional software engineering building & shipping complex, production‑grade applications — not solely scripting, prototyping, or research.
* Strong proficiency in C#/.NET; also C/C++; demonstrated 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.
* Any Eclipse RCP or IDE's nice to have.
* Comfort & curiosity with AI‑assisted development tools & a track record of staying ahead of technology trends.
* Experience with cloud architecture (AWS, Azure, &/or Google Cloud).
* Proven experience with software engineering fundamentals: object‑oriented & component‑based design, design patterns, unit/integration testing, version control (Git), & 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.
Senior Software Engineer Job Duties
This is a hands‑on software engineering role. My 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 & working closely with the Product Owner, you will own the technical direction of production software — writing code daily, reviewing pull requests, & driving architectural decisions.
Senior Software Engineer Key Responsibilities
* Design & build software — Architect, implement, & maintain complex desktop & cloud applications using modern software engineering practices (design patterns, SOLID principles, automated testing, continuous integration/delivery).
* Modernize legacy systems — Lead migration of mature C/C++ codebases to modern languages, runtimes, & UI/UX frameworks while preserving scientific accuracy & performance.
* 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 — Escalate 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, & problem‑solving skills.
#J-18808-Ljbffr