Principal Software Engineer
£45,000 - £50,000
Job Description and Skills
The role covers two main areas:
The design, development and maintenance of robust software for market leading cooled thermal imaging cores based upon a bespoke Android hardware platform. The system has been designed with power efficiency and performance in mind from the ground up and as such makes use of a number of cutting edge technologies such as GPU compute for real time image processing. This role also includes the design and development of Android software to control external devices and other sensors to meet specific customer system requirements. Additional tasks include software to monitor hardware performance in real time and to aid with system verification.
The design, development and maintenance of in-house test software. The candidate will be expected to develop and code software to interface with custom-built hardware to control both test equipment and test our range of detector products.
Key Responsibility Area
- To develop software concepts and specifications working with product design authorities and customers.
- To plan software development tasks
- To develop modular, reusable and testable code.
- To develop software to specification, cost and timescale estimates
- To complete software verification tasks
- To release and document software
- To work to design process and procedures
- To work with hardware engineers to debug and integrate software
- To work with suppliers of Android platform at a Kernel level.
Skills, Qualifications & Knowledge Required
Key Skills and Experience
- Recognised 2.1. Degree or higher in Software Eng., Physics or Electronic Eng.
- Experienced Java developer and experience of another language, e.g. C++/C#/LabView
- Experienced in writing multi-threaded applications.
- Experienced in making Linux kernel device tree modifications.
- Experience of using version control systems, such as Git.
- Ability to assimilate and apply technical information to design tasks and to problem solving
- Ability to apply software engineering best practices throughout the development lifecycle
- Evidence of good organisation, planning and execution of work
- Ability to work closely in a team with other engineering and science disciplines
- Effective communicator with attention to detail and a flexible approach.
- Experience of working with customers to develop requirements into technical definitions and specifications
- Certified qualifications in Software Development
- Experience of writing unit tests
- Knowledge of OpenGL / real time image processing
- Experienced in writing software to communicate with peripheral hardware devices
- Experience of other languages
- Experience of using development environments, such as Android Studio
- Experience of developing software in a product development environment
- Knowledge of micro-electronics
- Hands-on laboratory test and measurement experience
- Office based, full time hours
- Display Screen User Equipment
- Tight deadlines – working to achieve milestones and project deadlines, whilst working on concurrent projects
- Requirement for some travel on an occasional basis.
For more information about the role please contact Teo Rusu on 01908 886 030 or email@example.com