Job Title: Embedded Software EngineerJob 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.
Experience supporting or building automated build and test pipelines for embedded software.
Experience with model-based development using MATLAB and Simulink.
Demonstrated leadership ability to lead small working groups or technical task teams.
Knowledge of messaging protocols within the OSI 7-layer stack.
Interest in working with advanced aerospace and defense-related systems.
Motivation to contribute to a rapidly growing engineering team and participate in continuous improvement of processes and tools.
Work Environment
The role is based in an on-site office environment with a team of approximately 20 people, fostering close collaboration and frequent interaction with hardware and software engineers. The work involves hands-on interaction with embedded systems, microcontrollers, and custom processor-based circuit card assemblies, as well as use of modern software development and lifecycle tools such as JIRA, Confluence, Bitbucket (Git), Bamboo, and Jenkins. The environment supports structured development processes, configuration management, and automated build and test pipelines. Team members work on advanced, real-time embedded solutions in a professional setting that encourages knowledge sharing, technical excellence, and growth within a rapidly expanding engineering group.
Job Type & Location
This is a Contract to Hire position based out of Greenville, SC.
Pay and Benefits
The pay range for this position is $90000.00 - $130000.00/hr.
Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following: - Medical, dental & vision - Critical Illness, Accident, and Hospital - 401(k) Retirement Plan - Pre-tax and Roth post-tax contributions available - Life Insurance (Voluntary Life & AD&D for the employee and dependents) - Short and long-term disability - Health Spending Account (HSA) - Transportation benefits - Employee Assistance Program - Time Off/Leave (PTO, Vacation or Sick Leave)
Workplace Type
This is a fully onsite position in Greenville,SC.
Application Deadline
This position is anticipated to close on Jun 2, 2026.
About Actalent
Actalent is a global leader in engineering and sciences services and talent solutions. We help visionary companies advance their engineering and science initiatives through access to specialized experts who drive scale, innovation and speed to market. With a network of almost 30,000 consultants and more than 4,500 clients across the U.S., Canada, Asia and Europe, Actalent serves many of the Fortune 500.
The company is an equal opportunity employer and will consider all applications without regard to race, sex, age, color, religion, national origin, veteran status, disability, sexual orientation, gender identity, genetic information or any characteristic protected by law.
If you would like to request a reasonable accommodation, such as the modification or adjustment of the job application process or interviewing process due to a disability, please email actalentaccommodation@actalentservices.com for other accommodation options.
San Francisco Fair Chance Ordinance: Pursuant to the San Francisco Fair Chance Ordinance, for all positions located in the city and county of San Francisco, we will consider for employment qualified applicants with arrest and conviction records.
Massachusetts Lie Detector: It is unlawful in Massachusetts to require or administer a lie detector test as a condition of employment or continued employment. An employer who violates this law shall be subject to criminal penalties and civil liability.
Use of Artificial Intelligence (AI): We may use Artificial Intelligence (AI) to support parts of our hiring process, including sourcing, screening, and evaluating candidates. AI helps assess applications and qualifications, but final decisions are made by our hiring team. By applying, you acknowledge and agree that your application may be reviewed using AI tools.