Impinj is looking to solve the problem of connecting everyday items to the Internet, with a focus on RAIN RFID technology and Internet of Things (IoT) solutions.
Requirements
- Expertise in modern C++ programming for embedded systems
- Proficiency in Python
- Strong experience with Embedded Linux and microcontroller development
- In-depth knowledge of hardware interfaces (SPI, UART, I2C, GPIO)
- Strong understanding of hardware/software interaction and low-level programming
- Deep experience with debugging tools such as oscilloscopes, logic analyzers, and JTAG/SWD debuggers
- Experience working with networking protocols (TCP/IP, MQTT, CoAP, BLE, etc.)
Responsibilities
- Lead the architecture and design of embedded firmware systems, ensuring scalability, reliability, and performance
- Write, test, and debug efficient, maintainable, and well-documented C/C++ code for embedded systems on ARM 64/32 bit processors and microcontrollers
- Lead system bring-up on new hardware platforms including driver development, peripheral integration, and board-level diagnostics
- Work closely with hardware, software, systems, and product teams to define and implement end-to-end solutions
- Provide technical leadership by setting direction, ensuring code quality, and promoting best practices
- Identify and execute optimization of code for performance, memory usage, and power consumption in resource-constrained environments
- Write and maintain clear and detailed documentation for software architecture, design, and code
Other
- Bachelor's degree in computer science, Computer Engineering, or Electrical Engineering
- Minimum of 12 years of progressively responsible software development experience with a proven track record of success
- Demonstrated experience leading complex projects or initiatives with cross-functional impact
- Proven ability to mentor & guide junior engineers
- Strong problem-solving skills and attention to detail