To design and develop application software and embedded firmware in C and C++ for future products and assist with the support and enhancement of the existing product portfolio. We offer a great engineering environment for creative and collaborative professionals to work in a welcoming team. Our R&D department consists of 4 sections: mechanical, electronics, software, and test. All our engineers work side by side to create the latest generation of life safety equipment that includes Fire panels, devices, and detectors for use all over the world. You will be able to create great products that you can take pride in knowing has a positive impact in the real world. The role involves working on development cycles for the existing products (sustaining engineering) and new product development (NPD). For NPD you will be responsible for the product throughout its development lifecycle meaning you will need good architecture planning, design skills and keen documentation skills. The successful candidate will be working alongside the existing multidiscipline R&D team but should also be comfortable working on their own. What you’ll be doing · Designing embedded software in C / C++ for life safety systems including panels and modules. · Developing and supporting real-time embedded systems, running in either bare-metal or Linux environments. · Working across multiple 32-bit microcontroller families · Developing and testing of both PC/Mobile panel software and embedded firmware. · Contributing to the software architecture design, and electronic circuit design decisions where appropriate. · Ensure that designs meet the stated objectives relating to performance, cost and timescale. · Maintain and update designs and design documentation as required. · Ensure that all aspects relevant to the tasks in hand relating to the product operation and usage are understood, thereby ensuring that products operate as required. · Maintain efficient and effective records relating to designs and design modifications, including issue status. · Keep up to date with new developments relating to components, circuit techniques, software tools and techniques and be able to confidently share new ideas and methods with the team · Act as people leader on design projects when and if required. · Actively observe and support the company’s Quality Policy. · Travel to company manufacturing facilities (all located in Kent) to support production with problems that relate to issues in the product software. · Undertake other duties which may from time to time become necessary. Person Specification Qualifications · Essential: Degree/HND in an IT, Software, electronics, or Computer Science related field (or equivalent) Experience · Essential: o Minimum of 5 years’ proven hands-on experience in an embedded C software development environment · Desirable: o Experience developing embedded firmware running on Linux. o Experience with ARM Core processors o Experience with STM and PIC microcontrollers o Experience in developing graphical user interfaces (QT etc.) o Unit testing and integration o Experience working in the Fire Detection industry. o Experience with Atlassian tools (Jira/Bitbucket) Knowledge/Skills · Essential: o An excellent knowledge of C for embedded systems o Good understanding of TCP, UDP, RS-485, SPI and I2C Communications · Desirable: o Embedded Linux systems development using community tools o Knowledge of Assembly language for embedded firmware design o Working knowledge of device drivers and networking stacks o EN54 Fire Detection and fire alarm system standards o Familiarity with the Linux Kernel, Linux device driver or core kernel development, Jav, .NET, SQL, and Android. o Linux Inter-Process Communications (Shared memory, Semaphore and FIFO) o Fundamental understanding of electronic circuits o Enthusiasm for continuous learning. o Excellent verbal and written communication skills. Personal qualities · Integrity: o Effective Time Management: Demonstrates excellent time management skills to prioritize tasks efficiently. o Attention to Detail: Ensures that all information conveyed to others is accurate and presented clearly. · Passion: o Commitment to Continuous Learning: Enthusiastic about continuous learning and staying updated with evolving industry practices. o Empathetic Problem Solver: Recognizes the importance of maintaining compassion and empathy when dealing with challenging situations and solving problems o Self-Motivated and Positive Attitude: Displays high energy and self-motivation, maintaining a positive attitude that inspires the team. · Challenge: o Self-Motivated and Positive Attitude: Displays high energy and self-motivation, maintaining a positive attitude that inspires the team. · Teamwork: o Team Player and Initiative: Excels both as a team player and an independent worker, proactively driving tasks to completion. Critical Thinking and Active Listening: Demonstrates strong critical thinking skills and active listening, effectively evaluating information, questioning assumptions, and considering multiple perspectives.