Senior Embedded Software Engineer
About The Page Group
At The Page Group, we specialize in connecting top-tier technology talent with industry-leading opportunities. We are currently seeking a Senior Embedded Software Engineer to join one of our clients in the rapidly growing electric vehicle (EV) industry. This position offers the chance to contribute to the next generation of software-defined vehicles by developing innovative embedded software solutions.
Role Summary
As a Senior Embedded Software Engineer, you will work on designing and developing software stacks for the design verification of PCBAs (Printed Circuit Board Assemblies) and ECUs (Electronic Control Units) for advanced vehicle platforms, including autonomy, infotainment, and vehicle controls. This role involves creating device drivers, prototyping hardware-software co-designs, and developing validation test cases in Python/C.
Key Responsibilities
- Collaborate with hardware and software architects to design and implement automotive platform architectures involving SoCs and software stacks.
- Develop and deploy embedded software on Linux/Android and/or RTOS for board bring-up and system verification.
- Debug complex issues across software and hardware stacks and provide effective solutions.
- Work with cross-functional teams to ensure seamless integration and delivery of quality code.
- Communicate effectively with peers, stakeholders, and technical leaders to align on project goals and solutions.
Qualifications
- Bachelor’s or Master’s degree in Computer Science, Computer Engineering, or a related field.
- 4+ years of experience in embedded software development.
- Proficient in Linux or RTOS fundamentals, including Board Support Packages (BSPs) and device driver development.
- Hands-on experience with tools such as JTAG, Oscilloscopes, and flashing tools.
- Strong understanding of interface protocol stacks (e.g., SPI, I2C, Ethernet, PCIe).
- Experience with scripting languages such as Python or shell scripting.
Preferred Skills
- Knowledge of OS internals, including process scheduling and memory management.
- Experience with ARM cores and architecture.
- Familiarity with electronic test equipment for hardware debugging.
- Exposure to embedded toolchains, including compilers and linkers.