Job Summary
This role requires the capabilities to design, develop, code, test and debug software of our embedded devices and systems. A key responsibility will be to recommend new approaches, advising on industry standards, and will work closely with hardware specialists and programming teams.
Key Responsibilities:
1. Technical responsibility for the design of our embedded software (firmware) for control, monitoring and connectivity solutions.
2. Specify, design and document technical requirements, and define test plans as appropriate.
3. Analyse and enhance efficiency, stability and scalability of our designs.
4. Work closely with internal and external resources to ensure work is completed to specification.
5. Evaluate and select software components that will be used in larger solutions.
6. Manage technical updates to our existing product portfolio.
7. Advise on opportunities to streamline our control, monitoring and connected solutions.
Requirements:
* Honours Degree in Electronic Engineering, Computer Science, or similar
* 7+ years of experience in best practices software development, delivery, and deployment
* In-depth knowledge of C programming languages
* Experience in developing firmware for embedded applications
* Knowledge of software architecture for connected industrial applications/solutions
* Knowledge of embedded systems with IoT or M2M capability
* Knowledge of industrial communications protocols (Modbus, CAN, OPC, DNP3)
* Knowledge of Telecoms/Network communications protocols (TCP/IP, GPRS/3G/4G, Wireless, low energy protocols)
* Experience with version control software
* Analytical skills for root cause determination
* Experience of working in a multi-disciplinary and multinational team environment
Additional Requirements:
For the first 6 months, this role will be fully based on site. Thereafter, 6 months, the company will allow 2 days working remotely.
Required Skills:
* C programming languages
* Embedded systems with IoT or M2M capability
* Modbus, CAN, OPC, DNP3
* TCP/IP, GPRS/3G/4G, Wireless, low energy protocols
* Version control software
* Software architecture for connected industrial applications