PC Applications Software Engineer
- Location: Cambridge
- Reporting Relationships : Reports directly to the Engineering Manager
- Key Internal Relationships: R&D Design Team, Business Project Managers, and Operations Team.
To work as part of the Product Development Team, with specific responsibility for PC software design. The role is responsible for developing PC based applications to support our clients software products. You will own the software architecture design through expertise and innovation of product development from architecture and concept definition through to detailed modelling, coding, debug and subsequent product qualification. An accurate understanding of product requirements and the system architecture is essential.
Generation of detailed specifications and design of PC applications with a focus on:
- Controlling remotely connected instruments and analysing their data.
- Capture analysis and recording of data.
- Implementation of complex algorithms.
- Delivery of high quality documentation and reports.
- Meeting of challenging project deadlines while assuring high quality solutions.
- Helping to build the core knowledge, best practices and design standards for the team, department and company.
The PC Applications Software Engineer will have a high skill level in the fundamentals of software Engineering including:
- Mathematics and statistics.
- Developing applications in Windows environment.
- Interfacing PC applications to embedded controllers.
- Connecting PC applications across networks.
Qualifications and Experience:
- Batchelor’s degree in Computer Science/Engineering or equivalent.
- Minimum of five years developing software in a commercial environment.
- Knowledge of object orientated design and analysis.
- Knowledge and experience in C/C++.
- Experience with source control systems, e.g. GIT.
- Experience with bug tracking systems, e.g. JIRA.
- Experience of developing PC applications, including GUI design.
- Experience with designing for automatic test/regression and test driven development.
- Experience of working with databases, ideally using SQL.
- Experience of using Delphi.
- Experience of using Qt framework.
- Experience of developing embedded firmware.