As a Firmware Engineer, you will play a key role in designing, building, and refining firmware for advanced IP cameras used in modern security systems. Based in Belfast with a minimum of three days per week in-office, you'll work within a collaborative, multi-disciplinary team to deliver robust and efficient software solutions on schedule.
Key Responsibilities
- Design, implement, and test firmware components for a range of intelligent camera systems using C/C++ in Embedded Linux environments
- Create and maintain clear, comprehensive technical documentation aligned with industry standards
- Collaborate with hardware, software, and QA teams to ensure seamless product integration and timely delivery
- Participate in design and code reviews, adhering to established coding guidelines and development processes
- Diagnose and resolve complex technical issues with precision and efficiency
- Stay current with advancements in security technologies and embedded systems to inform development decisions
- Support and guide junior team members through mentoring and knowledge sharing
Qualifications and Experience
Candidates must hold a degree in Computer Science, Software Engineering, or a related field with a strong software focus. Essential qualifications include:
- Minimum of three years of hands-on development experience in C/C++ within Embedded Linux systems
- Proven understanding of UDP/IP and TCP/IP networking protocols, Linux kernel internals, and multi-threaded programming
- Experience with asynchronous programming models, relational databases, and integrating open-source software securely
- Familiarity with Agile methodologies and participation in iterative development cycles
- Strong problem-solving abilities and a detail-oriented approach to debugging and testing
- Effective communication skills, both written and verbal, with the ability to work across technical functions
- Demonstrated experience mentoring other developers or contributing to team growth
Preferred Skills
- Exposure to multiple processor architectures including ARM, x86, and MSP430
- Hands-on use of hardware debugging tools such as JTAG debuggers
- Proficiency in scripting languages like Python, Bash, Perl, Node.js, or JavaScript
- Experience with automated build and integration tools such as Jenkins
- Knowledge of network analysis using tools like Wireshark
- Background in video streaming protocols and performance optimization
- Ability to apply AI-powered development tools to accelerate coding and testing workflows
- Familiarity with ONVIF standards for interoperability in video systems