What are the responsibilities and job description for the Senior Software Engineer, Platform Development position at Impinj?
Team Overview:
You will be joining the RAIN RFID Reader Platform team where you will get to work on Firmware for ARM 64/32 bit Processors that will be used in our future RFID Reader models. The RFID Reader Platform team works closely with cross-functional teams, including Hardware, RF Modem, Cloud, and QA, to ensure seamless end-to-end enterprise solutions.
What You Will Do:
- Design, develop, and maintain embedded software on ARM 64/32 bit processors and microcontrollers
- Linux application development for C/C
- Build complete end-to-end enterprise solutions
- Contribute to architecture and design reviews, ensuring code quality and software scalability
- Optimize code for performance, memory usage, and power consumption in resource-constrained environments
- Explore opportunities to integrate AI/ML capabilities into embedded systems (e.g., edge computing, machine learning for IoT)
- Troubleshoot, debug, and resolve issues in embedded systems
- Write and maintain clear and detailed documentation for software architecture, design, and code
- Conduct unit testing and ensure that embedded systems meet functional and performance requirements
- Collaborate with embedded team members and other development teams including QA, Hardware, and Cloud to improve our organization’s overall success
- Mentor junior engineers and contribute to the professional development of the embedded software team
- Learn and grow with our small, but highly effective team of developers looking to continuously improve our solutions and processes
What You Will Bring:
- Bachelor’s Degree program in Computer Science, Computer Engineering, or Electrical Engineering or similar field of study
- 3 years of progressively responsible software development experience with a proven track record
- Familiarity with machine learning or artificial intelligence techniques and frameworks
- Experience working with networking protocols (TCP/IP, MQTT, CoAP, BLE, etc.)
- Expertise in modern C programming for embedded systems
- Proficiency in Python
- Strong experience with Embedded Linux and microcontrollers
- In-depth knowledge of hardware interfaces (SPI, UART, I2C, GPIO)
- Solid understanding of hardware/software interaction and low-level programming
- Experience developing on Linux Workstation
- Familiarity with CI/CD pipelines and automated testing frameworks
- Strong problem-solving skills and attention to detail
- A collaborative approach with the ability to work effectively within a team
- Desire to work in an Agile software development environment
- A passionate reliance on good software development and test methodologies
- A proven ability to learn new technologies quickly
- Excellent interpersonal, verbal and written communication, and documentation skills
Compensation & Benefits:
The benefits listed below may vary depending on the nature of your employment with Impinj and the country where you work.
The typical base pay range for this role across the US is $106,000 - $163,000. Individual base pay depends on various factors such as complexity and responsibility of role, job duties, requirements, and relevant experience and skills. Both market wage data and the mid-point of the pay range is reviewed and used as the starting point for all new hire offers. Offers are made within the base pay range applicable at the time.
At Impinj certain roles are eligible for additional rewards, including merit increases, annual bonus and stock. These awards are allocated based on individual performance. In addition, certain roles also have the opportunity to earn sales incentives based on revenue or utilization, depending on the terms of the plan and the employee’s role. US based employees have access to healthcare benefits; a 401(k) plan and company match among others.
For a more comprehensive list of US employment benefits, click here.
Salary : $106,000 - $163,000