- Company Name
- Oxford Instruments plc
- Job Title
- Principal Software Engineer
- Job Description
-
Job title: Principal Software Engineer
Role Summary: Lead end‑to‑end development of high‑performance software for precision scientific instruments, integrating C++ and Python on Linux. Own design, implementation, testing, and deployment, collaborating closely with multidisciplinary teams to deliver robust, maintainable systems.
Expectations:
- Own critical software components and ensure delivery of high‑quality, reliable code.
- Translate scientific requirements into technical designs and specifications.
- Mentor junior engineers and promote best practices across the team.
- Maintain rigorous test coverage and documentation.
- Engage in system design reviews, design‑for‑manufacture, commissioning, and post‑installation support.
Key Responsibilities:
- Design, develop, and maintain C++/Python applications and device drivers for scientific instruments.
- Produce clean, well‑documented, and maintainable codebases.
- Collaborate with scientists and engineers to gather requirements, define system specs, and resolve technical challenges.
- Own software components, perform risk assessments, and ensure on‑time, on‑budget delivery.
- Create and execute unit, integration, and system tests to validate software reliability.
- Provide technical input during system design reviews and design‑for‑manufacture processes.
- Support commissioning, troubleshooting, and maintenance during installation and operational phases.
- Manage source code with Git, use CMake or equivalent build systems, and adhere to version‑control best practices.
Required Skills:
- 7+ years of software development experience; strong proficiency in modern C++ (C++11/14/17+) and Python 3.x.
- Extensive experience building and maintaining complex, real‑time or embedded software on Linux.
- Familiarity with device driver development and hardware/software integration.
- Proficient with unit and integration testing frameworks (e.g., Google Test, PyTest).
- Solid command of version control systems (Git) and build tools (CMake, SCons, etc.).
- Excellent analytical, problem‑solving, and communication skills.
- Experience with scientific instrumentation, measurement systems, or related domains preferred.
Required Education & Certifications:
- Bachelor’s degree in Computer Science, Software/Hardware Engineering, Physics, or a closely related discipline (equivalent practical experience accepted).
- No specific certifications required; Linux developer credentials or advanced programming certifications are a plus.