Summary
The Associate Engineer, Software, supports the development, debugging, and maintenance of code for systems and equipment applications. Focusing primarily on Linux-based environments, this role involves creating diagnostic tools, drivers, and Board Support Packages (BSP). The Associate Engineer works closely with senior engineers and cross-functional teams to ensure software acts as a robust bridge between hardware and application layers. This position follows established software development processes to ensure on-time delivery of high-quality software solutions.
Detailed Description (Key Responsibilities)
- Develop diagnostic (DIAG) tools within the Linux system environment according to product definitions.
- Assist with manufacturing production line support and cooperate in troubleshooting and resolving production issues.
- Design and develop Device Drivers for various peripherals, including NIC, SPI, I2C, UART, CPLD, and FPGA.
- Develop Board Support Packages (BSP), Hardware Abstraction Layers (HAL), and Applications based on Debian, CentOS, Embedded Linux, and other standard Linux distributions.
- Cooperate with cross-functional development and test teams to analyze and solve technical problems.
- Adhere to the software development process to ensure software is released on schedule.
- Deliver DIAG/BSP design specifications and other related technical documentation.
Knowledge/Skills/Competencies
- Bachelor's Degree in Computer Science, Software Engineering, Electrical Engineering, or a related field.
- Solid understanding of the Linux operating system. Preference will be given to candidates with relevant experience in Linux driver development.
- Programming proficiency in C, Shell scripting, and Python.
- Demonstrated sense of ownership and eagerness to learn and grow.
Typical Experience
- 0 to 3 years of experience (Fresh graduates are encouraged to apply).
- Prior internship or experience in a software engineering role is a plus.