About the Role
The role involves developing low-level software for embedded platforms, ensuring robust performance, real-time responsiveness, and integration with vehicle control systems.
Responsibilities
- Design and implement firmware for embedded systems used in vehicle automation
- Develop software that interfaces directly with microcontrollers and sensors
- Ensure code operates efficiently within strict timing constraints
- Collaborate with hardware engineers to validate system functionality
- Diagnose and resolve low-level software issues in production environments
- Optimize software for minimal memory and processor usage
- Support integration of embedded systems with higher-level control software
- Contribute to software testing and validation procedures
- Maintain detailed documentation for code and system behavior
- Follow coding standards for safety-critical applications
- Participate in code reviews and technical design discussions
- Troubleshoot real-time performance bottlene0cks
- Work with debugging tools such as oscilloscopes and logic analyzers
- Ensure compliance with industry-specific reliability standards
- Support over-the-air update mechanisms for embedded firmware
- Implement secure communication protocols between components
- Monitor system health and report anomalies
- Assist in root cause analysis for field-reported issues
- Contribute to development of bootloaders and startup code
- Work within version control and continuous integration systems
- Support certification processes for software components
- Collaborate on power management strategies for embedded devices
- Develop interrupt service routines and real-time task scheduling
- Integrate third-party libraries and drivers where needed
- Ensure software meets electromagnetic compatibility requirements
Compensation
Competitive salary based on experience and location
Work Arrangement
Hybrid work model with office and remote options
Team
Collaborative engineering team focused on autonomous vehicle systems
Technology Stack
- Primary languages: C, C++
- Platforms: ARM Cortex-M and Cortex-R series
- RTOS: FreeRTOS, Zephyr, or equivalent
- Tools: Git, JTAG debuggers, oscilloscopes, CAN analyzers
Development Environment
- Agile development process with two-week sprints
- Continuous integration using Jenkins and automated testing
- Code reviews conducted via Gerrit or similar tools
- Hardware-in-the-loop testing for validation
Available for qualified candidates requiring sponsorship