Overview

Software Engineer

Software Engineer

This is a fantastic opportunity for an experienced Software Engineer with at least 3 years solid experience working on software interfacing with Hardware using C# and C++. You will have strong experience of using GIT or equivalent for source control as well as working in a team structure.

In this role, you will be responsible for the development of software modules for the automated equipment which involves hardware interfacing with motion controllers, vision systems and liquid handlers. You will be required to provide coding documentation, develop code and test modules that have been designed. You will also be involved in the direct integration of the software and hardware systems in a dynamic R & D environment.

Needed Skills and Experience:

* At least 3 years of experience working on software interfacing with hardware

* C# and C++ coding experience

* Use of GIT or equivalent for source control and working in a team

Main Duties and Responsibilities: Primary Task List

Software design and development

* Integration of hardware and software, using any of C#, C++, javascript or 61131 Structured text

* Desirable to have previous experience in development of programmable logic controller (PLC) based applications using Structured text

* Experience of interfacing with RS232/485, I2C, Digital I/O, Network protocols (e.g. Modbus), IO Link, EtherCAT

* Experience of using motion controllers for motor control (e.g. Trio)

* Software testing, debugging and validation

Requirements and module design

* Working with the Software Architect and the product development team to understand specifications, requirements, test and qualification documentation

Working Practices

* Use best practices such as source code control, revision/release control, documentation, integration, and testing.

* Understanding of the full software development life cycle from design, through specification to implementation, testing and maintenance

* Travel to supplier and customer site will be required on an ad-hoc basis to assist with commissioning issues

Required Qualifications:

* Degree or HNC in computer science/electrical/electronic engineering or equivalent discipline

Needed Skills and Experience:

* At least 3 years of experience working on software interfacing with hardware

* C# and C++ coding experience

* Use of GIT or equivalent for source control and working in a team

Desirable:

* Experience with Beckhoff PLC Development TwinCat 3

* Development with Javascript and Structured text

* Experience with Embedded systems

* Experience in Agile working

Additional

* Travel required as part of the role