Software Engineer / Software Developer

Working for this leading global specialist manufacturing business, the Software Engineer / Software Developer will be developing software for a variety of projects and products, and across a wide spectrum from Windows based Graphical User Interfaces and Linux Systems, through Real-Time Control and Simulation to Hardware Interfaces, on a variety of platforms from PCs through Industrial Control Systems and PLCs to DSPs, microcontrollers and Raspberry PI.

The successful candidate will work on the user interface and lesson planning as well as simulating the user interfaces and systems found within the product, both developing new systems from scratch and adapting or extending the functionality of existing systems to meet the current requirements.

You will be involved in the whole lifecycle of the project from developing specifications in conjunction with sales and project staff or extracting the requirements from manuals etc. through developing and debugging the systems to acceptance testing with the customer and delivery and installation at the customers’ sites around the world.

Main Duties:

  • Undertake the conceptual development of the software and promote ideas within the bounds of the specification.
  • Review the software environment and specify the most appropriate software technology.
  • Develop software in accordance with the agreed framework and modules of the requirement.
  • Document all stages of development using appropriate tools to ensure that the software can be reviewed and modified with a 3rd Party.
  • Test software modules against the functional specifications and document results and non-compliance.
  • Demonstrate verification and compliance following modifications and software debugging processes.
  • Maintain all software files in good order and ensure the data is securely backed up along with all associated documentation.
  • Assist the development of software procedures and standardised ways of operating.
  • Prepare software for demonstration, authorisation & approval by the Project Manager.
  • Manage software development within the budget and programme parameters of the contract.
  • Instigate value engineered and innovative software design solutions.
  • Provide the necessary information, brief and guidance to instruct conceptual and software development by other programmers.
  • Review and check and approve all software produced by other programmers.
  • Attend project and progress reviews to identify pertinent issues and required actions.
  • Provide the required level of post contract support to the Client in relation to post design support.

Key Competencies:

  • A willingness and ability to adapt to diverse technologies and develop new skills as required is essential, due to the broad nature of the training and simulation field. As well as an ability to work both independently and as part of a team.

Person Specification, Skills and Experience:

  • Linux experience including shell scripting
  • C#, C++, C (including embedded C)
  • Networking
  • Open Scene Graph or similar graphical simulation tools
  • Experience with PCs (both Windows and Linux), Raspberry PI and embedded microcontrollers.


  • An appreciation of general engineering principles and practices would be an advantage.


  • Candidates will ideally have an Honours or Master’s Degree in Electrical/Electronic Engineering or computing or similar level of qualification.

Salary negotiable depending on experience, the role benefits from free parking away from the city centre and an early finish on a Friday.

To apply for the role of Software Engineer / Software Developer please click apply now or feel free to call Mark Clarke directly on 01744 452032 between 8 am and 5pm or 07391 869485 outside of these hours.