HamburgerMenu
hirist

Job Description

Job Summary

We are seeking a highly skilled and experienced Firmware Design Engineer to join our R&D team. The ideal candidate will have 5-10 years of hands-on experience in designing, developing, and debugging embedded firmware for complex hardware systems. You will play a crucial role in the entire product lifecycle, from initial concept and architecture definition to final product validation and support, ensuring robust, efficient, and reliable firmware solutions.

Key Responsibilities

- Firmware Development : Design, develop, and implement high-quality, efficient, and reliable embedded firmware for new and existing products, primarily in C/C++ for bare-metal, RTOS, or Linux environments.

- Architecture & Design : Contribute to the architectural design and specification of embedded systems, selecting appropriate microcontrollers/processors, peripherals, and communication protocols.

- Hardware-Software Integration : Work closely with hardware engineers during schematic capture, PCB layout review, and bring-up phases to ensure seamless hardware-software integration and functionality.

- Debugging & Troubleshooting : Perform extensive debugging, root cause analysis, and resolution of complex firmware and system-level issues using debuggers (JTAG/SWD), oscilloscopes, logic analyzers, and other lab equipment.

- Testing & Validation : Develop and execute comprehensive unit tests, integration tests, and system validation plans to ensure firmware meets functional, performance, and reliability requirements.

- Documentation : Create and maintain detailed design specifications, technical documentation, test plans, and release notes.

- Code Review & Quality : Participate in code reviews, ensuring adherence to coding standards, best practices, and maintainability. Drive continuous improvement in firmware quality and development processes.

- Communication Protocols : Implement and debug various communication interfaces (e.g., I2C, SPI, UART, USB, Ethernet, CAN, Bluetooth, Wi-Fi).

- Power Management : Optimize firmware for low-power consumption and efficient power management strategies.

- Version Control : Utilize version control systems (e.g., Git) effectively for collaborative development.

- Cross-Functional Collaboration : Collaborate effectively with cross-functional teams including hardware, software, mechanical, test, and manufacturing engineers.

- Mentorship : Potentially mentor junior engineers and contribute to team knowledge sharing.

Required Qualifications

- Experience : 5-10 years of progressive experience in embedded firmware development.

- Education : Bachelor's or Master's degree in Computer Engineering, Computer Science, or a related field.

- Programming Languages : Expert proficiency in C/C++ for embedded systems.

- Microcontrollers/Processors : Strong experience with various microcontroller architectures (e.g., ARM Cortex-M, PIC, AVR, ESP32) and/or embedded processors (e.g., ARM Cortex-A, MIPS).

- Operating Systems : Hands-on experience with Real-Time Operating Systems (RTOS) such as FreeRTOS, Zephyr, or similar, and/or embedded Linux.

- Hardware Interaction : Deep understanding of hardware schematics, datasheets, and board bring-up processes. Ability to read and interpret complex electrical diagrams.

- Debugging Tools : Proficient with debugging tools like JTAG/SWD debuggers, oscilloscopes, logic analyzers, and spectrum analyzers.

- Communication Protocols : Solid experience implementing and debugging various digital communication protocols (I2C, SPI, UART, USB, Ethernet, CAN, etc.).

- Problem-Solving : Excellent analytical and problem-solving skills with a strong attention to detail.

- Teamwork : Ability to work independently and as part of a collaborative team in a fast-paced environment.

- Communication : Strong written and verbal communication skills.

Preferred Qualifications

- Experience with scripting languages (e.g., Python) for automation, testing, or data analysis.

- Familiarity with cybersecurity principles and secure coding practices for embedded systems.

- Experience with wireless communication protocols (e.g., Bluetooth Low Energy, Wi-Fi, LoRa).

- Knowledge of embedded software testing frameworks and methodologies (e.g., unit testing, integration testing).

- Experience with continuous integration/continuous deployment (CI/CD) pipelines for embedded systems.

- Familiarity with agile development methodologies.

- Experience in a regulated industry (e.g., medical, automotive, aerospace).


info-icon

Did you find something suspicious?