Junior Embedded Software Engineer
Join a systems software team developing low-level software for custom silicon and cloud infrastructure. Work with C and C++, receive mentorship, and grow into embedded and systems software engineering.
Responsibilities
- Design, develop, test, and debug firmware, drivers, and low-level services for custom platforms
- Write and optimize C/C++ code close to the hardware
- Collaborate with hardware, silicon, and verification engineers on chip and platform bring-up
- Debug software and hardware issues using tools such as logic analyzers, JTAG, and system-level tooling
- Participate in code reviews and design discussions and improve software and engineering processes
Requirements
- Bachelor's or master's degree in computer science, computer or electrical engineering, or a related field
- Solid programming foundations in C and/or C++
- Strong understanding of data structures, algorithms, operating systems, and computer architecture
- Ability to write clear, correct, maintainable code
- Fluent written and spoken English
Nice to have
- Projects, internships, or personal work in embedded systems, firmware, device drivers, operating systems, or low-level programming
- Familiarity with Linux, the Linux kernel, or real-time operating systems
- Exposure to computer architecture, including CPUs, memory hierarchies, virtualization, or Arm
- Experience with hardware/software co-development, debugging tools, Python, or shell scripting
Benefits
- Technical mentorship and a structured ramp-up plan
- Work directly with custom silicon and production-scale cloud systems
- Collaborate across software, hardware, silicon, and verification teams