Job Description
About the Role
We are seeking an experienced Embedded Software Engineer with a strong background in bare-metal C development to help design and deliver innovative embedded products from concept through production. This role is ideal for a hands-on engineer who enjoys working close to the hardware, building firmware from the ground up, and solving complex system-level challenges.
You will take full ownership of embedded software development, collaborating closely with hardware and PCB design teams to ensure seamless integration and reliable product performance.
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 Firmware Development
Design, implement, and optimize firmware in C for bare-metal microcontrollers (no operating system)
Ensure deterministic behavior, timing accuracy, and efficient hardware interaction
New Product Development
Lead embedded software efforts for new product introductions, creating clean, maintainable codebases from scratch
Support hardware bring-up and early prototype development
Hardware Collaboration
Work closely with electrical and PCB engineers to define interfaces, validate designs, and resolve hardware/software integration issues
Testing & Debugging
Develop test plans and perform system-level verification
Debug firmware using oscilloscopes, logic analyzers, JTAG, and in-circuit debuggers
Quality & Documentation
Participate in design reviews and contribute to technical documentation
Promote code quality, scalability, and long-term maintainability
Required Skills & Experience
5+ years of embedded software development experience using C in bare-metal environments
Proven experience taking embedded products from concept through production
Strong understanding of embedded system architecture, interrupt-driven design, and real-time constraints
Hands-on debugging and troubleshooting skills using hardware tools (oscilloscopes, emulators, JTAG)
Experience with communication protocols such as SPI, I2C, UART, CAN, and USB
Solid grasp of hardware/software integration principles
Strong written and verbal communication skills
Preferred Qualifications
Experience with STM32 or similar microcontroller families
Familiarity with hardware abstraction layers (HAL) and bootloader design
Experience using Git or similar version control systems
Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, or a related fieldCompany Description
Putting people at the forefront is our priority at Technical Talent Group. Our recruiters are trained to prioritize understanding what candidates are looking for in a new role. Our initial conversation with candidates revolves around their needs, not a job description. The most common mistake made by recruiters is assuming they know a candidate’s preferences solely based on their resume. At Technical Talent Group, we invest time in getting to know you before matching you or your company with the perfect match.
Full-time