Back
Verified FactoryFix Icon VERIFIED

Embedded Software Engineer

Technical Talent Group

Money Icon
$48-53 /h
PAY RATE
Location Pin Icon
Phoenix, AZ
LOCATION
First Shift
SHIFT

Job Description

As posted by the hiring company

Job Overview:

About the Role

We are seeking an experienced Embedded Software Engineer with a passion for building innovative products from the ground up. The ideal candidate is hands-on, detail-oriented, and capable of taking a project from initial requirements through full product realization. This is a critical role for engineers who thrive in a fast-paced environment and enjoy solving complex technical challenges on bare-metal embedded systems.

Key Responsibilities

  • Full Lifecycle Ownership: Translate high-level system requirements into robust embedded software solutions — including architecture, design, implementation, validation, and production support.

  • Bare Metal Development: Design and implement firmware in C for microcontrollers without operating systems, ensuring optimal performance, timing accuracy, and hardware integration.

  • New Product Development: Lead software development for new product introductions, creating reliable codebases from scratch that integrate seamlessly with custom hardware.

  • Hardware Collaboration: Work closely with hardware and PCB design engineers to define requirements, validate system interfaces, and debug integration issues.

  • Testing & Validation: Develop test plans, perform hardware bring-up, and execute system-level verification using tools such as oscilloscopes, logic analyzers, and emulators.

  • Continuous Improvement: Participate in design reviews, documentation, and knowledge sharing to ensure code quality, maintainability, and scalability for future designs.

Required Skills & Experience

  • 5+ years of experience developing embedded software in C for bare-metal microcontrollers.

  • Proven track record of taking products from concept to production, including requirements definition, coding, testing, and release.

  • Deep understanding of embedded architectures, interrupt-driven design, and real-time system constraints.

  • Strong debugging and troubleshooting skills using hardware tools (oscilloscopes, JTAG, in-circuit debuggers).

  • Experience with common communication protocols such as SPI, I2C, UART, CAN, and USB.

  • Solid understanding of hardware/software integration principles.

  • Excellent documentation and communication skills.

Preferred Qualifications

  • Experience with ST32 or similar microcontrollers.

  • Familiarity with hardware abstraction layers and bootloader design.

  • Exposure to firmware version control (Git) and configuration management.

  • Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, or related field.