Embedded Software Engineer
Role details
Job location
Tech stack
Job description
In this role you to develop and design new control system software to enable the Company to stay ahead in the market bringing skills to the organization that contribute towards the creation of enhanced capabilities for SMD's range of subsea machines and services.
The software team is very much a supplier to the rest of the business to help the company to push boundaries in technology and meet customer requirements and new ways of working.
Key duties are:
-
Develop and maintain software using C/C++
-
Work with microcontroller architectures (e.g. ARM) and implement and manage hardware interfaces like UART, CAN, USB
-
Utilize debugging tools
-
Develop and maintain device drivers for various hardware components and work within embedded Linux environments as needed
-
Optimize code for performance, memory usage, and power efficiency
-
Implement and manage industrial communication protocols like TCP/IP
-
Ensure the security of embedded systems through proper protocol implementation
-
Version control and collaborative development
-
Create and maintain clear technical documentation, including design documents, test reports, and user manuals
-
Adherence to all SMD QA processes
There is a potential to work away to support our customers.
Requirements
We are looking for someone with a degree in the relevant subject or with strong experience in program assembly language for low-level hardware interaction and optimization. The candidate should have experience in the following areas:
· Developing applications using real-time operating systems (RTOS) such as ubuntu
· Interpreting schematics and understanding electronic components
· Conducting unit integration, and hardware-in-the-loop (HIL) testing to ensure system reliability
· ROS2.0 DDS Experience (Desirable)
· Azure Portal Experience (Desirable)
· Matlab Simulink Experience (Desirable)
A strong team player who is customer focused with excellent attention to detail and flexibility to multi-task and prioritise. We are looking for someone who is self-motivated who enjoys the technical aspects of engineering and is always looking for continuous improvement with a willingness to learn.
What you will need
Required criteria
- Relevant software engineering degree or equivalent or relevant experience
- strong experience in program assembly language for low-level hardware interaction and optimization
SMD
Benefits & conditions
At Soil Machine Dynamics (SMD), we value our employees and offer a comprehensive benefits package to support their well-being and professional growth. Our benefits include competitive salaries, generous holiday allowances, and a company pension scheme to ensure financial security. We prioritize employee health with private medical insurance, wellness programs, and access to mental health support. Professional development is encouraged through training opportunities and career progression pathways. Additionally, we foster a positive work-life balance with flexible working options where possible. At SMD, we are committed to rewarding our team's hard work and dedication with benefits that enhance both their personal and professional lives.