Software Engineer - Embedded - CI/CD

NPAworldwide
Alpharetta, United States of America
1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Compensation
$ 140K

Job location

Alpharetta, United States of America

Tech stack

Keil
Application Lifecycle Management
Bash
C++
CMake
Software Documentation
Computer Engineering
Continuous Integration
Software Debugging
DevOps
Linux on Embedded Systems
Hardware-In-The-Loop Simulation
Python
Perforce
Quick EMUlator (QEMU)
Real-Time Operating Systems
Software Engineering
Virtual Machines
Web Services
Scripting (Bash/Python/Go/Ruby)
Doxygen
Delivery Pipeline
Gitlab
GIT
Build Management
Containerization
Yocto
Information Technology
Build Tools
Build Process
Software Version Control
Data Pipelines
Docker
Jenkins

Job description

Our customer is looking for a passionate and experienced CI/CD Engineer to advance the build and automation pipelines for our embedded products. You will be the cornerstone of our software development lifecycle, ensuring our engineering teams can deliver high-quality, reliable software efficiently. Beyond necessary training, success in this role requires a high degree of resourcefulness.

We seek individuals who can work autonomously and possess the inherent grit to independently research and overcome challenges.

What You'll Do:

  • Implement, manage, and continuously improve the CI/CD processes for our embedded Linux, RTOS, mobile, and web service projects.
  • Champion a culture of automation and continuous integration, working with leadership to improve the entire application lifecycle from conception to deployment.
  • Collaborate closely with software development teams to identify, design, and implement process improvements with a focus on automation, build efficiency, and quality.
  • Maintain and improve build systems for large C/C++ projects using tools such as BitBake, make, and CMake.
  • Lead recurring software merge discussions, reliably executing build processes and training developers on coding and project-structure best practices.
  • Debug build errors and collaborate with developers to resolve issues promptly.
  • Create and maintain clear, comprehensive documentation for all system processes and procedures.

Requirements

  • Bachelor's degree in Computer Science, Computer Engineering, Electrical
  • Engineering, Math, Physics, or a related field.
  • Proven experience in a DevOps, Build/Release, or CI/CD engineering role.
  • Expertise with CI/CD tools (e.g., GitLab, Jenkins), version control (Git, Perforce), and containerization (Docker).
  • Strong experience maintaining build systems for large C/C++ projects using tools like make, CMake, and BitBake (Yocto).
  • Proficiency in scripting languages such as Python, Shell, or Bash, with a solid understanding of C/C++.
  • Experience leveraging containers and virtual machines to create isolated and portable build environments.
  • Excellent communication skills with strong attention to detail.

Preferred Skills:

  • Experience with Hardware-in-the-Loop (HIL) testing techniques.
  • Experience with hardware emulation using QEMU.
  • Familiarity with embedded IDEs (e.g., Keil ?Vision, Arm Development Studio, Segger Embedded Studio) and porting projects to standalone builds.
  • Knowledge of source code documentation tools like Doxygen.
  • Experience in architecting and building pipelines for both monorepo and polyrepo structures.

Logistics: Work Arrangement: This is an on-site role initially moving to a Hybrid role based in Alpharetta, GA.

Travel: Periodic travel between our engineering offices is required.

Compensation: 130,000 - $140,000 DOE plus benefits

Applicants must be authorized to work for any U.S. employer.

Apply for this position