×
Register Here to Apply for Jobs or Post Jobs. X

Embedded Software Engineer

Job in Greenville, Greenville County, South Carolina, 29617, USA
Listing for: Actalent
Full Time position
Listed on 2026-06-03
Job specializations:
  • Software Development
    Embedded Software Engineer, Software Engineer, C++ Developer, DevOps
Job Description & How to Apply Below
Job Title:

Embedded Software Engineer

Job Description

This role focuses on full lifecycle development of embedded software for complex electronic systems, from requirements analysis and design through implementation, integration, verification, and formal sell-off testing. The Embedded Software Engineer collaborates closely with hardware engineers, contributes to robust technical documentation, and supports automated build and test pipelines. This position offers the opportunity to work on advanced real-time and embedded Linux or RTOS-based solutions within a growing engineering team.

Responsibilities

* Perform full lifecycle development for embedded systems, including implementation, unit testing, integration, and formal sell-off testing.

* Review customer requirements, translate them into clear specifications, and produce technical documentation, designs, and operational concepts.

* Estimate effort and schedule for software development tasks and support planning activities.

* Collaborate closely with hardware engineers to ensure seamless integration of software with electronic components, circuit card assemblies, and boards.

* Develop and execute detailed test plans and procedures for embedded software and associated electronic equipment.

* Perform debugging and troubleshooting to identify and resolve software and integration issues, ensuring compliance with functional specifications.

* Conduct design and code reviews, provide constructive feedback, and resolve identified defects in a timely manner.

* Adhere to established development processes, configuration management practices, and release procedures throughout the software lifecycle.

* Design and implement software for real-time operating systems (RTOS) with strict timing requirements, including low-level device drivers and component-level integration.

* Develop and maintain embedded software for embedded Linux or RTOS environments using C and C++.

* Support and enhance automated build and test pipelines for embedded software using modern tools and practices.

* Integrate software with custom processor-based circuit card assemblies and perform verification testing at the hardware-software interface.

* Create and maintain required engineering documentation, including design descriptions, interface control documents, and test reports.

* Support formal verification procedures and ensure traceability to requirements throughout development and testing.

* Work effectively under technical leadership while demonstrating initiative, self-direction, and ownership of assigned tasks.

* Present and explain software designs, technical decisions, and solutions to internal teams and stakeholders.

* Contribute to requirements development and management activities, including analysis, decomposition, and traceability.

* Participate in or lead small working groups as needed to solve technical problems and drive project tasks to completion.

* Collaborate within a team environment on projects with a large number of requirements, ensuring consistency and quality across the software baseline.

Essential Skills

* Bachelor's degree and a minimum of 5 years of relevant experience, or a graduate degree with at least 4 years of related experience.

* Proficient programming skills in embedded C and C++ for embedded Linux or RTOS environments.

* Strong proficiency with microcontrollers, including understanding of requirements, constraints, and capabilities.

* Strong proficiency in bare-metal driver development and writing code at the hardware level.

* Strong proficiency integrating software with custom processor-based circuit card assemblies.

* Proficient programming skills in Python for scripting, automation, or test support.

* Experience in requirements development and management, including analysis and traceability.

* Experience with formal verification procedures for embedded systems.

* Hands-on experience with integration and verification testing of electronic equipment via software.

* Experience creating required engineering documentation such as design documents and test procedures.

* Familiarity with writing test scripts to support verification and validation activities.

* Working knowledge of higher-level programming languages, including C#.

* Excellent written and verbal communication skills for technical and non-technical audiences.

* Strong attention to detail and a systematic, methodical approach to problem solving.

* Ability to work effectively in a collaborative team environment on projects with a large number of requirements.

* Willingness to learn, adapt, and embrace challenging technical tasks.

Additional

Skills & Qualifications

* Experience with Linux device driver development.

* Experience with Linux shell scripting for automation and tooling.

* Experience with bare-metal register-level configuration and setup software.

* Experience developing device drivers for UARTs, I²C, and similar communication interfaces.

* Familiarity with tool suites such as JIRA, Confluence, Bitbucket (Git), Bamboo, and Jenkins.

*…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary