Senior Firmware Engineer

BMR Solutions Ltd
Eastbourne, UK
28 Jul 2019
05 Aug 2019
Contract Type
Full Time

Job Title
Senior Firmware Engineer
Job Function
Embedded software development
Operation Unit
Central R&D
Eastbourne, UK
Manager's Job title
Technical Manager, Electronics

Mission/Purpose of the Job

To develop production quality customer-deliverable firmware (embedded software), mainly to run on microcontrollers, microprocessors or other programmable devices used as part of in-house or third-party designed electronic modules: e.g. vacuum pump and system controllers, vacuum gauges, instrumentation, dashboards, displays and custom interfaces.
Also to explore new software technologies and solutions that may offer some improvement in efficiency, effectiveness or added value for future New Product Introduction (NPI) projects.

Main Responsibilities

Capture and analyse requirements
Generate a formal software requirements document
Generate top-level software architecture and design documents
Make recommendations on processor architectures, software languages, operating-systems & software tool sets
Generate high-level language software source code, following local coding standards
Develop unit tests complemented by other testing tools and strategies to verify and validate the code
Produce detailed auditable test reports, showing traceability from requirements, to code to test results

Organisation Chart - available on request

Skills / Knowledge / Experience

Bachelor or Masters degree in Software Engineering, Computer Science, Electronics Engineering or in a related engineering discipline

A minimum of two years' experience in writing customer-deliverable embedded software, ideally for real-time applications

Must have a strong working knowledge of the C programming language

Some familiarity with other languages would be an advantage: e.g. C++ or Python

Must be experienced in writing software for standard Linux builds such as Yocto, Raspbian or others

Some familiarity with other embedded operating-systems would be an advantage: e.g. MQX or ThreadX/NetOS

Must have a broad familiarity with electronic components typically containing programmable registers: e.g. ADC, DAC, UARTs, analogue and digital I/O devices

A good understanding of electronic circuits would be a significant advantage

Must have a good working knowledge of serial data communications interfaces and protocols: e.g. RS232/RS485, I2C, SPI, Ethernet, Modbus...

Some familiarity with other protocols would be an advantage: e.g. CAN, EtherCAT, Profibus, Profinet...

Must be familiar with PC based software development tools, including requirements / change request trackers, version control, debuggers: e.g. Visual Studio, Axosoft, SVN...

Additional knowledge and skills that would be an advantage include VHDL, HTML, JavaScript, C#

Must be experienced in writing software for 'bare metal' applications (i.e. where no operating-system is used)

Must have good working knowledge and practical experience of Microsoft Office tools: e.g. Word, Excel, PowerPoint

Experience with Microsoft Visio and Project would be an advantage

Scope of the job

The role is based in Eastbourne, East Sussex, UK. There may be very occasional need to travel to other UK sites (e.g. Burgess Hill or Clevedon or to meet suppliers) and, in exceptional situations, to travel to European locations
The role requires close interaction with other engineers and managers from multiple-disciplines, so the candidate must be a strong team-player, and have a positive attitude
Must be a good communicator and have excellent fluency in spoken and written English
No budgetary responsibility
No direct reports in the short-term but could be assigned a more junior person to supervise in the future

Similar jobs

Similar jobs