Job Description
Job Description
We are looking for an experienced Software Engineer V to join a long-term contract opportunity in Eagan, Minnesota. This role is ideal for a hands-on engineer who enjoys building embedded software in a fast-paced environment and collaborating across technical disciplines. The position focuses on firmware design, low-level software development, and reliable communication between hardware and software components. This job requires working onsite 5 days/week in Eagan, MN. Must be local to the area to be considered.
Responsibilities:
• Design, develop, and enhance embedded software and firmware solutions for hardware-based systems.
• Build and maintain low-level applications using C and C++ for embedded platforms and Linux-based environments.
• Implement and troubleshoot serial communication interfaces and related protocols, including UART, TCP/IP, and I2C.
• Contribute to board support package work, platform integration, and early-stage hardware bring-up activities.
• Develop and support components such as boot loaders, embedded file systems, system controls, and bus-level interfaces.
• Partner with cross-functional teams to test, debug, and optimize software performance, stability, and reliability.
• Participate in Agile delivery processes, including planning, iterative development, and technical collaboration across teams.
• Manage multiple assignments effectively while communicating progress, risks, and technical decisions clearly.
• Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering, or a related technical discipline.
• At least 5 years of software development experience in a dynamic engineering environment.
• Minimum 5 years of hands-on experience programming in C or C++ for embedded firmware applications.
• Background working with embedded RTOS, bare-metal systems, or Linux-based development environments.
• Practical experience with serial communication technologies and protocols such as UART and I2C.
• Familiarity with areas such as board support packages, boot loaders, embedded file systems, system controls, bus development, Modbus, or board bring-up.
• Understanding of Agile development practices and experience contributing within iterative delivery teams.
• Strong written and verbal communication skills, solid organization, and the ability to work both independently and with multidisciplinary teams.
