Back to search
Trenton Systems Linkedin · Posted 6d ago

Embedded Software Engineer

Duluth, Georgia, United States

Linkedin
Continue to application Add your email once, then Caio opens the original posting.

Indexed description

Description

Position Description

The Embedded Software Engineer will design, develop, test, and maintain embedded software for next-generation products. The ideal candidate will have strong C/C++ programming skills, experience developing embedded Linux software, and a solid understanding of hardware/software integration. This role will work closely with electrical, mechanical, systems, and test engineers to translate product requirements into reliable, production-ready embedded software.

Essential Duties & Responsibilities

  • Design, develop, debug, and maintain embedded software for microcontroller- and processor-based systems.
  • Develop software primarily in C/C++, including low-level drivers, hardware interfaces, application code, and system services.
  • Develop, configure, customize, and maintain embedded Linux systems and associated build tools.
  • Integrate and configure real-time operating systems (RTOS), middleware, communication stacks, and third-party software components.
  • Develop and maintain firmware for interfaces such as SPI, I²C, UART, USB, Ethernet, and GPIO.
  • Collaborate with hardware engineers to bring up new circuit boards and troubleshoot hardware/software integration issues.
  • Analyze system requirements and translate them into robust software architectures and implementation plans.
  • Perform unit testing, integration testing, debugging, and performance optimization.
  • Use embedded debugging tools, oscilloscopes, logic analyzers, and other laboratory equipment to diagnose system-level issues.
  • Use Git for source-code management, branching, merging, and code collaboration.
  • Use JIRA to track software development tasks, defects, requirements, and project progress.
  • Use development tools like Visual Studio Code (VS Code) and others to implement and debug embedded software.
  • Participate in code reviews, design reviews, and software development process improvements.
  • Develop and maintain technical documentation, including software specifications, design documentation, and test procedures.
  • Support product verification, validation, manufacturing, and field-deployment activities.
  • Identify and resolve software defects and contribute to continuous improvement of product reliability and performance.

PM21

Requirements

Required

  • BS in Computer Engineering or Computer Science, or equivalent
  • 3+ years in software and firmware engineering
  • Exceptional Communication skills
  • Strong proficiency in C and C++ programming.
  • Experience developing software for microcontrollers or embedded processors.
  • Experience developing and maintaining embedded Linux systems.
  • Experience with Git for source-code management and collaborative software development.
  • Proficiency with Visual Studio Code (VS Code) or a comparable integrated development environment.
  • Solid understanding of embedded systems concepts, including interrupts, timers, memory management, concurrency, and hardware interfaces.
  • Experience with embedded debugging tools and software development workflows.
  • Familiarity with software development processes, code reviews, testing methodologies, and configuration management.
  • Strong analytical and problem-solving skills.
  • Ability to read and understand schematics, datasheets, and hardware specifications.

Desired

  • Familiarity with UEFI BIOS and Intel x86 architectures
  • Familiarity with ARM & embedded Linux development
  • Familiarity with PIC microcontroller development and other bare-metal and low-level firmware
  • Experience with the Yocto Project, including recipes, custom layers, BitBake, machine configurations, and image customization.
  • Experience with RTOS, such as FreeRTOS.
  • Experience with ARM processors.
  • Familiarity with Intel architecture.
  • Strong experience with embedded Linux system development and Linux kernel configuration.
  • Experience developing device drivers, bootloaders, BSPs, or board-support software.
  • Experience with secure boot, firmware updates, cybersecurity, or embedded device security
  • Knowledge of FIPS-140-2, TPM, Bitlocker, STIG, and/or other security technologies
  • Scripting experience – bash, Zsh, Powershell, Python
Free. 20 seconds. No password. See every match in this search.

Create a free Caio profile to unlock more results and save your role and location preferences.

Unlock free search
Want help applying to roles like this? Search Caio for free. If repetitive applications get heavy, Managed Job Search adds supervised execution for $99/month.
View Managed Job Search