The role
The Senior Embedded Software Engineer will, in conjunction with Electronic and Mechanical colleagues, work on the development of our Spirometry and other devices, from concept through to support of a deployed portfolio of products. The engineer will work within a well-established development process and support our continuous improvement.
Spirometry is a test used to assess how well one s lungs work. It measures how much air one inhales, exhales and flow and pressure profiles. Spirometry is used to diagnose asthma, chronic obstructive pulmonary disease (COPD) and other conditions that affect breathing.
The team
The Product Development team consists of hardware, mechanical and software engineers and the Senior Embedded Software Engineer will work with the team in developing new devices and device features, driving the product roadmap forward, reporting to the Product Development, Engineering Manager.
Responsibilities
The responsibilities of Senior Embedded Software Engineer will include: -
Projects
Designing and developing new devices and new features on devices.
Adhering to the development processes and supporting continuous improvement.
Ensuring project artefacts e.g., design documentation is delivered as required.
People
Operating in the project team in a co-operative, respectful manner.
Maintaining a positive and motivating outlook.
Process
Assisting in the planning, scheduling and delivery of product releases.
Ensuring that all work and tasks carried out are consistent and compliant with our Quality Management System.
The ideal candidate
The Senior Embedded Software Engineer will: -
Be educated to 3rd level degree, or equivalent, in Software, Computer Engineering or a related discipline and a minimum of 7 years relevant engineering experience
Have a strong team ethic.
Experience and technical skill areas; required or advantageous
Skills
A strong knowledge of C and C++ programming languages
Experience with C#, Python or similar an advantage
Knowledge of Qt an advantage
A good knowledge of microprocessor-based architecture with the ability to interpret circuit diagrams
Familiarity with a range of microcontrollers (8-,16-,32-bit) or DSPs incl. ARM processors.
Communications protocols such as, SPI, I2C, RS232, USB, Bluetooth etc.
Experience with new target system bring-up, configuration of SOCs etc.,
Working with Embedded Linux or within an RTOS or small kernels; familiar with correct and efficient use of SOC resources etc.; some familiarity with a Bare-Metal environment an advantage.
Experience with driver coding for control of ADCs, DMA, UARTs etc.
Comfortable with methodologies/coding for interfacing to transducers and associated basic signal conditioning etc. and working with electronics engineers on system design and selection of transducers.
Tooling/Process
Experience working in a regulated environment an advantage
Comfortable with use of JTAG emulators and Logic Analysers etc.
Have experience with Embedded IDEs and be proficient with low-level embedded code-debug, performance profiling and optimization, using In-Circuit Emulators and other embedded tooling
Coding standards and Static analysis tooling, and testing methodologies
Working knowledge of SCM tooling such as Git and problem tracking tools
Email me jobs like this