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.
About the Role:
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
What we're looking for:
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.
What we offer:
Competitive salary, based on experience
33 days annual leave (including bank holidays)
Death in service at 4 x your annual salary
Employee Assistance Programme
Enhanced parental leave policies
Birthday day off
Paid bereavement and sick leave
Company salary sacrifice pension scheme
Cycle to work scheme
Regular social breakfasts, lunches and team events
Job Type: Full-time
Pay: 40,000.00-50,000.00 per year
Work Location: Hybrid remote in Glasgow G76 7EP
Beware of fraud agents! do not pay money to get a job
MNCJobs.co.uk will not be responsible for any payment made to a third-party. All Terms of Use are applicable.