A self-motivated, enthusiastic and flexible Software Engineer is required to work as part of a growing multi-disciplinary team developing innovative products and technologies for the global security industry.
The primary purpose of this role is to produce fully tested, high quality code that meets the requirements in the assigned time.
* Research, design and develop software solutions for new and existing products within the guidelines provided by Management.
* Provide full technical documentation for allocated projects and provide support for those projects where future design changes are required.
* Ensure product designs and code conform to all relevant standards pertaining to safety, functionality and performance.
* Ensure new code and updated code is fully tested with no regressions.
* Participate in code and design reviews
* Work with the Project Manager to provide realistic effort estimates for new projects.
* Assist in other projects where your specialist knowledge is required.
* To take part in specification and planning meetings as required.
* Provide status reports on assigned tasks to the Project Manager.
* Organise your work within each stage of a project to achieve an earliest possible completion date.
* When required provide support to resolve customer issues.
* Train and support new staff where the need arises.
* C/C++ skills, (+ 5 years)
* Object Oriented Design (+ 5 years)
* Embedded Linux (+ 5 years)
* ARM Cortex family of processors
* Digital wireless comms (examples: Z-wave, BT, ZigBee, mesh networks)
* In Circuit Emulation and debug monitors or simulators
* Experience of source code control systems (Git)
* Proven experience in the full development life cycle of high volume electronic products
* Good spoken and written English skills
* Real Time Operating Systems
* Understanding of serial communications
* TCP and UDP communications
* Familiarity with microcontroller peripherals e.g. DMA, ADC, Timers, etc.
* Component test harnesses