Embedded Software Engineer

Wave Recruitment Ltd
Clarkston, United Kingdom
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate
Compensation
£ 50K

Job location

Clarkston, United Kingdom

Tech stack

Agile Methodologies
Artificial Intelligence
Amazon Web Services (AWS)
Data analysis
ARM
Computer Vision
Azure
Bash
Bluetooth
C++
Software Quality
Communications Protocols
Data Transmissions
Datasheets
Software Debugging
Microprocessors
Embedded Software
Ethernet
Firmware
Joint Test Action (IEEE Standards)
Python
Modbus
Message Queuing Telemetry Transport (MQTT)
Real-Time Operating Systems
Cloud Services
LoRaWaN
Software Engineering
Software Requirements Analysis
Universal Asynchronous Receiver/Transmitter
Scripting (Bash/Python/Go/Ruby)
Google Cloud Platform
Serial Peripheral Interface
PIC Microcontroller
GIT
Information Technology
Front End Software Development
Hardware Infrastructure
Software Version Control

Job description

We design and develop across a full stack of disciplines - Mechanical, Electronic, Electrical and Software Engineering - within the Digital team we develop software for IoT edge devices, cloud services, frontend UI, AI/ML models in computer vision, and Data Analysis., We are seeking a talented and passionate Embedded Software Engineer to join our growing technology team. You will play a crucial role in designing, developing, and implementing embedded software for our next-generation technology.

This is an exciting opportunity to contribute directly to technology for good, working on real-world systems that have a tangible impact. You will be involved in the full software development lifecycle, from requirements gathering to deployment and maintenance, working closely with hardware engineers, data scientists.

What you'll be doing:

  • Design, develop, and debug embedded software and firmware for a variety of monitoring and control systems (e.g., sensor integration, automated feeding systems, water quality monitoring devices).
  • Write clean, efficient, and well-documented code Python for embedded systems.
  • Work with microcontrollers, microprocessors, and real-time operating systems (RTOS).
  • Implement communication protocols (e.g., MQTT, UART, SPI, I2C, Ethernet, Bluetooth, LoRaWAN) for data transmission and device control.
  • Integrate software with various hardware components, including sensors, actuators, and communication modules.
  • Participate in the full software development lifecycle, including requirements analysis, design, implementation, testing, and deployment.
  • Develop and execute unit, integration, and system tests to ensure software quality and reliability.
  • Troubleshoot and debug software and hardware issues in embedded systems.
  • Collaborate effectively with hardware engineers, data scientists, and experts to define system requirements and ensure seamless integration.
  • Contribute to the continuous improvement of our software development processes and tools.
  • Stay up-to-date with the latest advancements in embedded software development

Requirements

Do you have experience in Scripting?, Do you have a Bachelor's degree?, * Bachelor's degree in Computer Science, Electrical Engineering, or a related field.

  • Proven experience (typically 2+ years) in developing embedded software and firmware.
  • Strong proficiency in Python programming for embedded systems.
  • Experience working with microcontrollers and microprocessors (e.g., ARM Cortex-M, ESP32, NVIDIA Jetson).
  • Knowledge of communication protocols relevant to IoT and industrial automation (e.g., MQTT, Modbus).
  • Solid understanding of communication protocols (e.g., UART, SPI, I2C, Ethernet, Bluetooth, LoRaWAN).
  • Experience with debugging tools and techniques for embedded systems (e.g., JTAG, oscilloscopes, logic analyzers).
  • Ability to read and understand hardware schematics and datasheets.
  • Experience with C/C++, BASH, etc. for embedded systems or scripting.
  • Experience with cloud platforms (e.g., AWS, Azure, Google Cloud) and IoT services.
  • Familiarity with data acquisition and processing techniques.
  • Understanding of control systems and algorithms.
  • Experience with version control systems (e.g., Git).
  • Experience with agile development methodologies.

Apply for this position