Senior Software Embedded Engineer
JOB DESCRIPTION
In short, we are looking for "C++ developer in Embedded Linux "!
Must Have
- Programming in Embedded Linux environment
- Software Development in C++
Responsibilities :
Are you a passionate and hands-on embedded Linux SW developer? If yes, we have this great opportunity for you to work on Client's state-of-the-art EV chargers and energy systems! The well qualified candidate will be responsible for the specification, design, implementation and testing of various embedded software components for Client's DC charging / energy systems.
The SW runs in embedded Linux OS on embedded HW platforms. Typical components involve PWM, A / D, D / A, sensors, CAN / Ethernet, low latency discrete board-to-board communication, timer applications, gRPC, Dbus, etc.
The candidate is responsible for all aspects of embedded SW engineering from requirements, coding, to validation. This position requires a solid understanding of multi-core embedded processor / controller architecture and peripherals.
The tasks include but not limited to :
- Design, build and maintain embedded Linux components and interface / device drivers for embedded SW applications.
- Embedded SW architecture design and algorithm packaging / coding.
- Create elegant / efficient software components and bullet-proof API / interfaces for real time workloads
- Develop software component testing methodologies and implementations to ensure maturity / stability.
- Work on hardware bench to guarantee software operation and debug system problems.
- Solve real-time signal / data processing problems.
- Document requirements, software design and test procedures / results.
Qualifications :
- Hands-on skills and enthusiasm in embedded SW programming using C++ / C, Python.
- Experience with embedded Linux SW development is highly desired.
- Understanding of basic Linux OS, kernel operation and build tools.
- Comfortable to work in Linux terminal and use scripting language such as Shell / Python / Perl.
- Knowledge of HW peripherals such as Ethernet, CAN, I2C, SPI, Uart, USB.
- Experience with collaboration tools such as Jira, Jama, SharePoint.
- Experience with embedded debugging tools such as Jtag, PLS / UAD, Lauterbach.
- Proficiency in version control software such as Git.
- Good team player with excellent verbal / written communications skills.
- Self-motivated, schedule driven, active / positive, eager to learn and explore.
- Ownership and leadership to drive the solution of complex problems across multiple teams and domains.
- Enjoy a fast paced dynamic environment (quick turn around time, modification of schedule to meet new needs).
- A college degree in an applicable engineering field.