What are the responsibilities and job description for the Firmware Engineer position at SCRAM Systems?
Job Description
Job Summary:
We are seeking a skilled Embedded Software Developer to join our team. The ideal candidate will have experience in developing firmware and software for embedded systems, working closely with hardware engineers to create efficient, reliable, and optimized solutions in an automotive environment. This role involves designing, coding, testing, and debugging software for microcontrollers and embedded platforms across various applications. Our products are automotive in nature, and expertise in CAN and LIN communication protocols is a plus.
Duties/Responsibilities
Experience and Skills
Job Summary:
We are seeking a skilled Embedded Software Developer to join our team. The ideal candidate will have experience in developing firmware and software for embedded systems, working closely with hardware engineers to create efficient, reliable, and optimized solutions in an automotive environment. This role involves designing, coding, testing, and debugging software for microcontrollers and embedded platforms across various applications. Our products are automotive in nature, and expertise in CAN and LIN communication protocols is a plus.
Duties/Responsibilities
- Develop and maintain firmware for embedded systems in C.
- Work with microcontrollers (ARM, STM32, LPC, etc.) and real-time operating systems (RTOS).
- Design and implement communication protocols (UART, SPI, I2C, CAN,?LIN,?USB, etc.).
- Optimize code for performance, power efficiency, and reliability.
- Debug and troubleshoot hardware/software integration issues using oscilloscopes, logic analyzers, and other tools.
- Write and maintain technical documentation for designs and implementations.
- Work with cross-compilation toolchains and embedded development environments
- Collaborate with hardware and software teams to deliver high-quality embedded products.
Experience and Skills
- Strong proficiency in C programming for embedded systems.
- Experience with embedded debugging tools and methodologies.
- Knowledge of real-time operating systems (FreeRTOS, CMX-RTOS, etc).
- Familiarity with version control systems.
- Understanding of low-level hardware interactions, memory management, and peripheral configurations.
- Knowledge of wireless communication protocols (Bluetooth, Wi-Fi, etc).
- Experience with safety-critical or automotive embedded systems.
- Bachelor’s degree in Electrical Engineering, Computer Science, or related field.
- 5 years of experience in embedded software development.
- Sitting: Over 70%
- All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status.