Subscribe   |   Visit Store

Software Engineer

Working at the Global Research and Development Centre for Hochiki Europe and Kentec Electronics to provide a high level of support to Design and Development engineers, by exploring the need for improvements and enhancements to existing products and technology. Investigating software related issues to ensure high quality deliverables, whilst mitigating any risks that may cause delays to production or processes.


Department: R&D


Location: Rochester (maybe some travel to other locations)


Who you’ll report to

Sustaining Engineering Manager


What you’ll be doing:

  • Analyse and troubleshoot software issues experienced in current projects
  • Investigate site related issues with products due to evolving technology requirements
  • Perform upgrades and modifications due to obsolescence
  • Investigate revisions to software due to possible component changes, working with Production to ensure delivery is not affected
  • Provide support and assistance with legacy products
  • Work in conjunction with R&D Project teams to rectify bugs and issues raised in the field
  • Link any design changes with Production processes to prevent delays or issues occurring with manufacturing processes
  • Developing and supporting real-time embedded systems in a Linux environment
  • Utilising C and C++ for language programming on Embedded Linux systems
  • Support with testing of both PC/Mobile panel software and embedded firmware.
  • Ensure that modifications meet the stated project objectives relating to performance, cost and timescale.
  • Ensure that work is carried out within the framework of the company’s Production Engineering and Purchasing procedures.
  • Maintain and update designs and design documentation as required.
  • Ensure that all aspects relevant to the tasks in hand relating to the product operation and usage are understood, thereby ensuring that products operate as required.
  • Maintain efficient and effective records relating to design modifications, including issue status.
  • Keep abreast of new developments relating to components, circuit techniques, software tools and techniques.
  • Undertake other duties which may from time to time become necessary.

Person Specification




  • Essential: Degree/HND in an IT, Software, electronics or Computer Science related field (or equivalent)




  • Essential:
    • Minimum 5 years’ experience in a software development environment
    • Development of real-time Embedded Linux systems
  • Desirable:
    • Experience with ARM Core processors
    • Experience of embedded firmware development
    • Unit testing and integration




  • Essential:
    • An excellent knowledge of C and C++
    • Embedded Linux systems development using community tools
  • Desirable:
    • knowledge of Assembly language for embedded firmware design
    • Working knowledge of device drivers and networking stacks
    • EN54 Fire Detection and fire alarm system standards and ISO9001 Quality Standards
    • Microchip, STM32, 8/16/32 bit, ARM



Technical skills


  • Essential: Proficiency in Microsoft Software Packages, C, C++, Linux Inter-Process Communications (Shared memory, Semaphore and FIFO), Software configuration Management with SVN
  • Desirable: Familiarity with the Linux Kernal, Linux device driver or core kernel development, Java and .NET, SQL, Android and iOS


Personal qualities


-       An analytic approach to problem solving

-       A critical thinker and active listener

-       Good time management skills

-       Strong problem solving skills

-       Self-starter with the ability to quickly learn about new processes

-       A good team player with ability to work on own initiative

-       A strong leader and people manager


 For further information or to apply for this role, pleae email [email protected]