Lead the architecture and development of sophisticated embedded firmware systems in a role that bridges hands-on engineering with high-level technical strategy. You will shape the foundation of reliable, high-performance devices by defining system architecture, guiding code quality, and ensuring robust integration between hardware and software components.
Key Responsibilities
- Establish and evolve firmware architecture for complex embedded platforms, ensuring scalability, security, and long-term maintainability.
- Lead technical reviews and mentor engineering teams to uphold coding standards, design patterns, and best practices.
- Collaborate across hardware, software, and systems engineering disciplines to refine product performance and reliability.
- Perform board bring-up, validate MCU peripherals, and develop low-level drivers for embedded controllers.
- Design and implement real-time, multi-threaded applications on ARM-based microcontrollers using C and C++.
- Build and maintain automated test frameworks, diagnostic tools, and internal software to support development and validation.
- Ensure traceability of requirements, manage software dependencies, and maintain comprehensive technical documentation.
- Advance capabilities in wireless connectivity, power efficiency, and embedded security across product platforms.
- Implement and optimize CI/CD pipelines and DevOps practices tailored to embedded firmware workflows.
- Diagnose and resolve deep-level hardware-firmware interaction issues, providing root cause analysis and corrective solutions.
- Ensure designs meet safety, regulatory, and industry compliance standards for embedded systems.
Qualifications
Candidates must have a Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or Computer Engineering, along with at least 10 years of professional firmware development experience focused on embedded systems.
- Proficiency in C and C++ with strong understanding of object-oriented design and embedded programming patterns.
- Proven experience with real-time operating systems (RTOS), including task scheduling, resource management, and interrupt handling.
- Hands-on knowledge of embedded communication protocols such as CAN, SPI, and I²C.
- Familiarity with Bluetooth, wireless technologies, and display interfaces including LCD and OLED.
- Experience developing and debugging firmware directly on ARM-based hardware platforms.
- Solid background in software configuration management, peer review processes, and defect tracking systems.
- Working knowledge of CI/CD pipelines and DevOps tools in embedded environments.
- Experience managing dependencies and build systems in large-scale firmware projects.
Preferred Background
- Experience with Linux or RTOS in embedded contexts.
- Scripting ability in Python or Bash for automation and tooling.
- Exposure to IoT systems and cloud-connected device architectures.