Embedded Software Engineer
Job in
Greenville, Greenville County, South Carolina, 29602, USA
Listed on 2026-06-19
Listing for:
Actalent
Full Time
position Listed on 2026-06-19
Job specializations:
-
Software Development
Embedded Software Engineer, Software Engineer, Software Testing, DevOps
Job Description & How to Apply Below
Responsibilities
+ Perform full lifecycle development for embedded systems, including requirements analysis, design, implementation, unit testing, integration, and formal sell-off testing.
+ Review customer requirements, translate them into detailed specifications, and produce technical documentation, designs, and operational concepts while estimating development effort.
+ Collaborate closely with hardware engineers to ensure seamless integration of software with electronic components, microcontrollers, and custom processor-based circuit card assemblies.
+ Design and implement software for real-time operating systems (RTOS) and embedded Linux environments with strict timing requirements.
+ Develop and maintain low-level device drivers, including bare-metal drivers and component-level integration software.
+ Develop and execute test plans and procedures, perform debugging and troubleshooting, and ensure compliance with functional and performance specifications.
+ Conduct design and code reviews, identify and resolve defects, and adhere to established development processes, configuration management practices, and release procedures.
+ Support automated build and test pipelines for embedded software using modern continuous integration and delivery tools.
+ Integrate and verify electronic equipment via software, ensuring that embedded systems meet requirements, constraints, and capabilities of the underlying microcontrollers.
+ Create required engineering documentation, including specifications, design descriptions, test procedures, and verification reports.
+ Apply formal verification procedures to validate software behavior and ensure adherence to requirements.
+ Work effectively within a team environment on projects with a large number of requirements, contributing to shared goals and schedules.
+ Present and explain software designs, implementation decisions, and solutions to internal teams and stakeholders.
+ Write test scripts and automation to support verification and regression testing of embedded software.
+ Demonstrate initiative and self-direction while working under technical leadership, taking ownership of assigned tasks and delivering high-quality results.
Essential Skills
+ Bachelor's degree with 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 real-time operating system (RTOS) environments.
+ Strong proficiency in writing code at the hardware level, including bare-metal driver development.
+ Strong proficiency integrating software with custom processor-based circuit card assemblies and microcontrollers.
+ Proficient programming skills in Python for scripting, tooling, or test automation.
+ Working knowledge of higher-level programming languages such as C#.
+ Experience in requirements development and management for complex embedded systems.
+
Experience with formal verification procedures to validate embedded software behavior.
+ Hands-on experience with integration and verification testing of electronic equipment via software.
+ Understanding of microcontrollers, including their requirements, constraints, and capabilities.
+ Experience creating required engineering documentation, including specifications, design documents, and test artifacts.
+ Excellent written and verbal communication skills to document designs and collaborate with cross-functional teams.
+ Strong attention to detail, a systematic approach to development, and solid problem-solving abilities.
+ Ability to work effectively in a team environment on projects with a large number of requirements.
+ Willingness to learn and embrace challenging tasks in a dynamic technical environment.
Additional
Skills & Qualifications
+
Experience with Linux device driver development.
+
Experience with Linux shell scripting for development and automation tasks.
+
Experience with bare-metal register-level configuration and setup software.
+ Experience developing device drivers for interfaces such as UARTs, I²C, and similar communication protocols.
+ Familiarity with tool suites such as JIRA, Confluence, Bitbucket (Git), Bamboo, and Jenkins for issue tracking, collaboration, version control, and continuous integration.
+
Experience with model-based development using MATLAB/Simulink.
+ Demonstrated ability to provide technical leadership and lead small working groups.
+…
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).
(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:
×