Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+36 more
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., * 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.
Requirements
- 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., Aerospace and Defense, Analysis Skills, Artificial Intelligence (AI), Atlassian JIRA, C Programming Language, C++ Programming Language, Candidate Screening, Circuit Components, Code Reviews, Communication Skills, Computer Engineering, Computer Programming, Configuration Management, Continuous Improvement, Debugging Skills, Detail Oriented, Device Drivers, Document Management, Documentation, Electrical Components, Embedded Linux, Embedded Programming Languages, Embedded Software, Embedded Systems, Formal Verification, Genetics, Git, Hardware Quality Assurance, Home Automation, Hospital, Identify Issues, Integration Testing, Jenkins, Leadership, Linux Drivers, Linux Operating System, MATLAB, Machine Tool, Maintain Compliance, Microcontroller, Microsoft C# (C Sharp), Open Systems Interconnection (OSI), Presentation/Verbal Skills, Problem Solving Skills, Process Development, Process Improvement, Process Management, Product Lifecycle, Programming Languages, Python Programming/Scripting Language, Realtime Operating System, Requirements Management, Sales, Scripting (Scripting Languages), Software Administration, Software Design, Software Development, Software Development Lifecycle (SDLC), Software Engineering, System Lifecycle, Team Lead/Manager, Team Player, Technical Leadership, Technical Support, Technical Writing, Technical/Engineering Design, Test Automation, Test Plan/Schedule, Test Scripts, Testing, Time Management, Traceability, Unit Test, Unix Shell Programming, Validation Testing, Writing Skills
Benefits & conditions
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 Permanent 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
About the company
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.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role β technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Top Characteristics of a Software Engineer
Is Software Engineering Hard?
7 Important Tips That Every Software Developer Should Know
Quick guide: How to write a Software Developer CV