1

Microcontroller Programmer Jobs in Oregon (NOW HIRING)

Embedded Software Engineer

OR · On-site

$139K - $183K/yr

... microcontroller-based embedded systems. Expectations: This role blends hands-on engineering with cross-functional collaboration, technical problem solving, product lifecycle support and software ...

Microcontroller Programmer information

See Oregon salary details

$12

$41

$72

How much do microcontroller programmer jobs pay per hour?

As of Jun 19, 2026, the average hourly pay for microcontroller programmer in Oregon is $41.80, according to ZipRecruiter salary data. Most workers in this role earn between $27.21 and $54.38 per hour, depending on experience, location, and employer.

How much do microcontroller programmers make?

Microcontroller programmers typically earn between $60,000 and $100,000 annually, depending on experience, location, and industry. Entry-level positions may start lower, while experienced professionals with specialized skills or certifications can earn higher salaries, especially in fields like embedded systems or IoT development.

What jobs work with microcontrollers?

Jobs that work with microcontrollers include roles such as embedded systems engineer, firmware developer, electronics technician, and hardware engineer. These positions involve designing, programming, testing, and maintaining microcontroller-based devices, often requiring knowledge of programming languages like C or C++ and tools such as development boards and debugging equipment.

What are the typical daily responsibilities of a Microcontroller Programmer?

Microcontroller Programmers typically spend their days writing, testing, and debugging firmware that runs on embedded devices. They often collaborate with hardware engineers to define system requirements, integrate new features, and troubleshoot issues that span both hardware and software. In addition to hands-on programming, they may be responsible for updating documentation, participating in team meetings, and reviewing code to ensure quality standards are met. This role frequently involves problem-solving, adapting to evolving project needs, and staying current with emerging microcontroller technologies.

What is a Microcontroller Programmer job?

A Microcontroller Programmer is responsible for writing, testing, and debugging code for microcontrollers, which are small embedded systems used in various electronic devices. They typically work with programming languages like C and C++ and use development environments specific to different microcontroller families. Their role involves optimizing code for performance, integrating hardware components, and troubleshooting firmware issues. Microcontroller programmers are commonly employed in industries such as automotive, medical devices, robotics, and consumer electronics.

What is a microcontroller programmer?

A microcontroller programmer is a professional who writes, tests, and uploads software to microcontrollers, which are small integrated circuits used to control electronic devices. They typically use specialized tools and programming languages like C or Assembly, and may need knowledge of hardware interfaces such as JTAG or SPI. This role often requires understanding embedded systems and debugging skills.

What are the key skills and qualifications needed to thrive in the Microcontroller Programmer position, and why are they important?

A Microcontroller Programmer should have a solid background in embedded systems, C/C++ programming, and microcontroller architectures, usually supported by a degree in electrical engineering, computer engineering, or a related field. Familiarity with development tools like IDEs (e.g., MPLAB, Keil), debugging interfaces, and version control systems is essential, and certifications such as ARM Accredited Engineer can be advantageous. Strong problem-solving skills, attention to detail, and the ability to communicate technical information clearly are valuable soft skills in this field. These competencies are crucial for developing reliable, efficient firmware solutions and effectively collaborating with hardware and systems engineering teams.

Is embedded systems a good career?

A career as a microcontroller programmer in embedded systems offers steady demand due to the widespread use of embedded devices in industries like automotive, healthcare, and consumer electronics. It requires knowledge of programming languages such as C or C++, and familiarity with hardware interfaces and real-time operating systems. The field provides opportunities for specialization, innovation, and growth with certifications and hands-on experience.
What are popular job titles related to Microcontroller Programmer jobs in Oregon? For Microcontroller Programmer jobs in Oregon, the most frequently searched job titles are:
Infographic showing various Microcontroller Programmer job openings in Oregon as of June 2026, with employment types broken down into 91% Full Time, 1% Part Time, 7% Contract, and 1% Nights. Highlights an 90% Physical, 4% Hybrid, and 6% Remote job distribution, with an average salary of $86,945 per year, or $41.8 per hour.
Embedded Software Engineer

$139K - $183K/yr

Full-time

Posted 7 days ago


Job description

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.