/Embedded Software Engineer

Embedded Software Engineer

Grand Rapids, USusvia direct
// Job Type
Full Time
// Salary
USD 130,000 - 150,000/year
// Salary Range
130,000–150,000 USD / year
// Posted
2 months ago
// Seniority
senior
// Experience
7+ years

About the Role

The Embedded Software Engineer contributes advanced technical expertise to the design, development, testing, and maintenance of embedded software and systems used within AvaSure products. This role works highly independently on complex engineering tasks and may act as a team lead within specific workstreams. The engineer collaborates closely with hardware engineering and cross‑functional partners to deliver high‑quality, reliable firmware in alignment with project, safety, and regulatory requirements. Responsibilities: Design, develop, test, debug, and implement embedded software in C/C++, Embedded C, and related languages. Develop, integrate, and optimize drivers and software modules for communication buses such as SPI, I²C, USB, and UART. Implement firmware aligned with software requirements, architecture, and system-level constraints. Perform bug/defect analysis, debugging, and root‑cause investigations using simulation, emulation, and lab tools. Conduct unit, integration, and system testing; follow established Software Development Lifecycle (SDLC) processes. Utilize Software Bug Tracking, static analysis, and automated testing frameworks to ensure reliability. Work closely with hardware engineers on board bring‑up, driver validation, and system integration. Support manufacturing, testing, deployment, and firmware update activities across the product lifecycle. Provide technical input to requirements, design reviews, and risk assessments. Use Integrated Development Environments (IDE), version control, simulation tools, and Application Lifecycle Management (ALM) systems. Develop and maintain Software Requirements Specifications and Technical Specifications. Participate in continuous improvement of development workflows and engineering standards. May act as a team lead or technical guide for smaller project groups. Mentor junior engineers by sharing domain knowledge, reviewing code, and promoting best practices. Competencies: Strong expertise in Embedded C/C++, firmware development, and embedded system design. Proficiency with communication protocols: SPI, I²C, USB, UART, and related hardware interfaces. Advanced debugging skills using logic analyzers, oscilloscopes, simulators, and JTAG/SWD tools. Deep understanding of SDLC, ALM tools, software quality practices, and documentation standards. Experience with performance analysis, prototyping, simulation, and code optimization. Ability to interpret schematics, datasheets, and technical specifications. Strong analytical problem‑solving skills and the ability to work independently on complex tasks. Effective communication with cross‑functional teams, both technical and non‑technical. Supervisory Requirements: None Education & Experience: Bachelor’s degree in Computer Science, Electrical Engineering, or a related field required. 7+ years of experience in embedded software or firmware development. Experience with Firmware development and debugging Experience with Communication interface drivers Experience with Software testing and defect analysis Experience with SDLC, ALM, and version control systems Experience with Technical documentation (SRS, specifications) Experience with Lab validation and embedded prototyping

Tech Stack

Embedded CC++SPII²CUSBUARTJTAGSWDSDLCALMFirmware developmentDebuggingSoftware testingDefect analysisVersion control systemsLogic analyzersOscilloscopesSimulators

Interested in this job?

Login to Apply

Use our AI to tailor your resume for this Embedded Software Engineer position at AvaSure.