Full Job Description
Embedded Software Engineer
Become a significant member of the Modem Core Software team, engaged in the next generation of product development for Cellular IoT solutions as a Software Development Engineer. This open, full-time role involves complex and advanced tasks in our IoT solution mixed with embedded tasks within our IoT modem chipset. Our devices achieve the highest level of integration, lowest power consumption, and best performance in the market.
You'll work with people who share the same values of being passionate, innovative, accountable, collaborative, and respectful. We take care of our teammates by offering meaningful and challenging work, growth opportunities, stock options, team events and lunches, competitive wages, 4 weeks paid holidays per year, hybrid work, flexible hours, and health benefits.
Key Responsibilities:
- Write embedded firmware for world's best IoT semiconductors - highly complex, super low-power, multi-radio system on chips, incorporating cutting edge technologies and systems.
- Develop core firmware components such as cellular stack, real time operating systems, and power management systems.
- Conduct micro architecting for the firmware component, design the firmware functions, implement, and perform unit level testing.
- Debug code in the embedded environment; quickly pinpoint issues and bugs and provide quick resolution.
- Interface with software, validation, and Silicon teams in the organization.
To be Successful in this role, you will have:
- Bachelor's or Master's Degree in electrical engineering, software engineering, or computer science
- 5+ years of proven experience in Embedded software development and debugging
- 5+ years of proven experience in C Programming
- Experience with embedded operating systems (such as RTOS, ThreadX, Embedded Linux)
- Deep understanding of the software components you are engaged with, flows and procedures within the system, and how they interact with the rest of the system
- high level of expertise in the relevant domain, excellent system level understanding
- Desire to learn, self-motivated, self-driven, with a "can-do" attitude
You may also have experience with:
- Network stack and protocols
- Cellular protocols
- ARM or MIPS based processors
- Device drivers development
- Linux, Python and bash
Common soft-skill requirements:
- Superior written and verbal communication.
- Ownership and sound judgment in driving technical and quality outcomes.
- Strong interpersonal skills and proactive collaboration across teams.
- A mentoring mindset and constructive approach to technical leadership.