Benefits: £45,000 - £55,000 Annual salary based on qualifications & experience Pension, free gym membership, unlimited holidays. Forest Rock is a UK-based tech company developing solutions for the Internet of Things. We specialise in IoT, Smart Buildings, Smart Cities, & Smart Grid solutions. We enable businesses to better understand and control their facilities; to save energy and reduce CO2 emissions, to reduce costs, and help to save the planet. This is an opportunity to join a forward-thinking company and be part of a highly creative and innovative team of software engineers developing IoT applications. The Opportunity We are seeking a firmware engineer to join our team and take a pivotal role in the design, testing, manufacturing, delivery, and deployment of high-quality firmware for our IoT products. You will play a crucial part in developing and delivering firmware that drives our IoT ecosystem, ensuring seamless integration between hardware and software. Qualifications & Experience: A degree in Computer Science or a related scientific/engineering subject. Proficiency in Bare Metal C, STM32 architecture, ARM Cortex M0. Experience with communication protocols (I2C, SPI, UART, RS485, Modbus) Hands-on experience with ADC, DAC, and sensors. Strong knowledge of LoRa/LoRaWAN and other wireless technologies. Experience implementing and troubleshooting over-the-air (OTA) updates. Knowledge of development environments and tools like Eclipse, Keil, IAR, and Git. Familiarity with Windows and UNIX shell scripting languages. Python programming skills. Familiarity with Product Management, Project Management, and Bug Tracking Tools (e.g., Jira, Confluence, Bitbucket). Experience delivering and deploying high-volume IoT products. Understanding of manufacturing processes and testing. Demonstrated ability to manage time and organise work effectively. Strong problem-solving skills and the ability to think creatively Experience working in an agile development environment Desirable Skills Proficiency with real-time operating systems (RTOS). Expertise in toolchains, build systems, and firmware optimisation. Knowledge of algorithm design and implementation for IoT applications. Experience with power and performance analysis of embedded systems. Hands-on debugging using tools such as J-Link, JTAG, oscilloscopes, and logic analysers. Familiarity with additional wireless technologies (e.g., BLE, Wi-Fi, Zigbee). Exposure to hardware design and familiarity with reading and interpreting schematics. Experience working in small, fast-paced teams and collaborating with multidisciplinary IoT teams. You will be responsible for: Design, test, and deliver robust firmware for IoT devices using C. Collaborate closely with hardware, software, and manufacturing teams to develop and integrate new features. Create and maintain automated testing processes for manufacturing. Optimise firmware for performance, power consumption, and scalability. Deploy and maintain firmware updates, including over-the-air (OTA) updates for IoT devices. You would be a great addition to our team if: You are curious and a good problem solver. You are open and eager to learn new technology rather than being intimidated by it. Someone who is not stuck to ‘traditional’ or ‘orthodox’ software development methodology. You are willing to work on any part of the product, from the web app to mobile apps to designing embedded systems. Someone with flair for creating beautiful products and for solving complex problems. You don’t mind breaking the rules or thinking out of the box to achieve great things, rather than following the tested path to mediocrity. You have your own ideas, you and are prepared to share them and listen to others. Our mission is to be the No 1 software and engineering company in field of the Internet Of Things To develop control systems and solutions across many different industrial sectors – Commercial Buildings, Manufacturing Plants, Renewable Energy, Critical Infrastructure, Power Generation, etc. …to be a great company to work for To foster teams of bright, enthusiastic people who love their jobs. To encourage innovation and new ideas. …to develop exciting products To develop products and services using new and innovative ideas, utilising the latest technologies. To do things differently.