Job Description:
Objective of role:
The Embedded Software Engineer is responsible for the design, development, testing, and support of embedded software solutions for both existing and new products, including new hardware bring-up, low-level hardware/software integration, and support of microcontroller-based embedded systems.
Expectations:
This role blends hands-on engineering with cross-functional collaboration, technical problem solving, product lifecycle support and software technical leadership where appropriate. The engineer will contribute to software architecture, product enhancements, and reliability validation while supporting internal teams, customers, and manufacturing operations.
This position requires strong analytical skills, a solid foundation in software engineering principles, and the ability to work independently across most phases of the development cycle. The ideal candidate is comfortable working close to the hardware and can efficiently diagnose and resolve low-level issues involving microcontrollers, memory, interfaces, sensors, and communication devices.
Main Duties and Responsibilities:
Software Design & Development
โขย ย ย Develop, code, test, and debug new embedded software or enhancements to existing software for third-party customers and internal product lines.
โขย ย ย Work from specifications with limited guidance to design and modify moderately complex software applications, tools, and utilities.
โขย ย ย Apply software design theories, engineering principles, and scientific methods to create robust, maintainable embedded solutions.
โขย ย ย Modify existing software packages to meet unique customer configurations and requirements.
โขย ย ย Validate successive software versions to ensure proper integration with system hardware.
โขย ย ย Bring up embedded software on new hardware platforms, including initialization and verification of microcontrollers, memory, clocks, interrupts, communication interfaces and peripheral devices.
โขย ย ย Develop, integrate and debug low-level drivers and board support software for interfaces such as UART, SPI, I2C, ADC, USB, Ethernet, GPIO, etc.
Engineering Leadership & Departmental Support
โขย ย ย Provide technical input to project schedules, development estimates, software-related planning activities and team training needs.
โขย ย ย Coordinate technical activities with cross-functional project teams and communicate software scope, status, risks, and technical issues clearly.
โขย ย ย Document designs, changes, and engineering analyses thoroughly and professionally.
Testing, Reliability & Verification
โขย ย ย Determine test and analysis requirements to validate product reliability, performance, and parameter control.
โขย ย ย Conduct or coordinate tests to evaluate failure limits, environmental susceptibility, component reliability, and overall product safety.
โขย ย ย Participate in the design of product test equipment or production test systems when needed.
โขย ย ย Interpret test results and translate findings into actionable engineering decisions.
โขย ย ย Develop and execute bring-up, integration, and regression test plans for new hardware and firmware.
โขย ย ย Diagnose issues related to startup behavior, communication failures, timing issues, memory, and interaction between firmware and hardware.
Cross Functional & Customer Support
โขย ย ย Resolve software-related user complaints and respond to suggestions for improvements or enhancements.
โขย ย ย Assist in the development of software user manuals and technical documentation.
โขย ย ย Collaborate with technical staff to diagnose and resolve software issues.
Innovation & Product Development
โขย ย ย Drive the electrical/software design process from concept through manufacturing release, including:
oย ย ย Creative concept development
oย ย ย Detailed design
oย ย ย Mathematical and scientific verification
oย ย ย Prototype build and evaluation
oย ย ย Engineering documentation
oย ย ย Production transition
โขย ย ย Work closely with electrical engineering during schematic review, component selection and prototype bring-up to ensure software readiness and efficient debug.
Qualifications:
โขย ย ย Bachelorโs degree in engineering (Software, Electrical, Computer Engineering, or related discipline required).
โขย ย ย Minimum of 4 years of relevant experience in embedded software development or related engineering roles.
โขย ย ย Proficiency in embedded programming languages (e.g., C/C++), version control (Git/Github) and real-time operating environments (FreeRTOS, MQX).
โขย ย ย Strong understanding of hardware/software integration and system level design.
โขย ย ย Ability to work independently across design, coding, testing, debugging, implementation, and documentation phases.
โขย ย ย Excellent analytical, problem-solving, and communication skills.
โขย ย ย Experience supporting manufacturing, field teams, or customer applications is a plus.
โขย ย ย Demonstrated experience with new board bring-up, including debug of low-level hardware/software issues on prototype hardware.
โขย ย ย Ability to read and work from schematics, datasheets, reference manuals and interface documentation.
โขย ย ย Experience with embedded debug tools such as JTAG debuggers, oscilloscopes, logic analyzers and serial/protocol analysis tools.
โขย ย ย Experience integrating communication and connectivity technologies such as Bluetooth/BLE, UART, SPI, I2C, USB, or Ethernet.
โขย ย ย This role requires quarterly travel to our Fairmont, MN facility, with the possibility of additional onsite visits depending on project-specific needs.
ย
#LI-Remote
Compensation Information:
salary range
$78,400 - $130,000
ITW is an equal opportunity employer. We value our colleaguesโ unique perspectives, experiences and ideas and create workplaces where everyone can develop their careers and perform to their full potential.ย
As an equal employment opportunity employer, ITW is committed to equal employment opportunity and fair treatment for employees, beginning with the hiring process and continuing through all aspects of the employment relationship.ย
All qualified applicants will receive consideration for employment without regard to race, color, sex, gender identity, sexual orientation, religion, national origin, age, disability, protected Veteran status or any other characteristic protected by applicable federal, state, or local laws.