Primary Function: Responsible for development/maintenance of embedded software.
Interfacing Roles: All development roles (Software Engineer /Hardware Engineer / 3rdparty solution provider)
Job Description:
- Design, develop, code, test, and debug system software.
- Review system and hardware designs, ensure compatibility with system software.
- Assess third party and open source software.
- Analyze and enhance efficiency, stability, and scalability of system resources.
- Interface with hardware design and development.
- Develop software validation plans and conduct testing to ensure system performance.
- Create and maintain comprehensive software documentation.
- Troubleshoot and resolve firmware issues in embedded systems.
- Collaborate with cross-functional teams to deliver products on schedule.
- Ensure compliance with product design and coding standards.
- Stay updated on emerging technologies and trends in firmware development.
Job Requirements:
- BS degree in Computer Science or Engineering.
- Proven work experience as a Firmware Engineer, Software Developer, or similar role for 3~5 years
- Experience in hands-on development and troubleshooting on embedded targets.
- Strong programming experience in C/C++/java/dart
- Familiar with android/linux development environment
- Knowledge of CAN bus/ROS1/ROS2/Lidar systems will be added advantage
- Familiarity with software configuration management tools, defect tracking tools, and peer review.
- Knowledge of different microcontrollers and microprocessors.
- Familiarity with firmware testing methodologies and tools.
- Excellent problem-solving and analytical skills.