i3 Product Development has an exciting opening for a Senior Software Engineer (C/C++) to contribute to our product development team. This position offers the opportunity to thrive in a collaborative team atmosphere and bring fresh/new ideas to the table as we develop new and innovative products.
i3 is a group of engineers that combine Design, Mechanical Engineering, Electronics and Software under one roof to create the most efficient product development lifecycle possible. We complete over 100 projects each year that span many different industries such as medical, agriculture, consumer goods, industrial and sports, and fitness. If you get bored looking over the same projects day after day, this is the job for you!
We offer a fun, energetic work environment, flexible scheduling, full benefits and a casual atmosphere.
Responsibilities and Duties of the Senior Embedded Software Engineer include designing and developing firmware/software for new products, developing code in the C++ and C programming languages, and designing new control algorithms and communication interfaces. This position will collaborate directly with electrical and software engineers while writing code that doesn't necessarily fall into the firmware or embedded category but lives on a PC or Server.
The Qualifications that are required for this position are a bachelor's degree in Computer Science or a related discipline AND 5 - 10 years of relevant work experience designing, including 5 years of experience in the ‘C++’ and 'C' languages. The individual should have a strong background in software development and a reasonable understanding of electrical engineering fundamentals, as well as a strong desire to develop new and innovative products in a collaborative environment.
The right candidate will possess the competence to develop firmware with moderate direction and specification and be able to follow established firmware development processes and procedures. We are looking for practical experience with the following:
- 32-bit microcontroller and Single Board Computer (SBC) platforms
- Software compilers and debugging tools
- Developing for a Windows or Linux environment
- Developing software using embedded frameworks and SDKs
- Real-Time Operating Systems (RTOS)
- Interfacing with external hardware on proprietary communication protocols
Additional Skills Preferred:
- Familiarity with test equipment (oscilloscopes, logic analyzers, DMMs, etc.)
- Experience with other programming languages (C#, Java, Python, etc.)
- Experience with communication protocols and tools (WiFi, Bluetooth, CAN, TCP/IP, Wireshark, etc.)
- In-depth knowledge of Linux internals (bootloaders, file systems, kernel) and build systems (Yocto, Buildroot)'
'Benefit Conditions: * Only full-time employees eligibleCOVID-19 Precaution(s):
- Remote interview process
- Personal protective equipment provided or required
- Social distancing guidelines in place
- Virtual meetings
- Sanitizing, disinfecting, or cleaning procedures in place
- Temporarily due to COVID-19
Job Type: Full-time
- 401(k) matching
- Dental insurance
- Employee assistance program
- Flexible schedule
- Flexible spending account
- Health insurance
- Life insurance
- Paid time off
- Relocation assistance
- Retirement plan
- Vision insurance
We are working remotely as much as possible with office visits as needed.
Ability to commute/relocate:
- Middleton, WI 53562 (Preferred)
- What is your desired salary range?
Work Location: One location