Trenton Systems

Embedded Software Engineer

Trenton Systems Duluth, Georgia, United States

Computer Hardware Manufacturing · 51-200 employees

1 h ago
embedded Mid (2-5 yrs) Full-time United States
Create a free account to apply — email only, no card. You can also save this posting or score it against your profile with AI.

About the role

The Embedded Software Engineer will design, develop, and maintain embedded software for microcontroller and processor-based systems. They will collaborate with cross-functional teams to integrate hardware and software while ensuring robust performance through testing and debugging.

What they look for

C C++ Embedded Linux Firmware Development Microcontrollers RTOS Git JIRA Visual Studio Code Hardware Integration Debugging SPI I2C UART USB Ethernet

Requirements

Candidates must hold a Bachelor's degree in Computer Engineering or Computer Science and possess at least 3 years of experience in software and firmware engineering. Strong proficiency in C/C++ and experience with embedded Linux systems are essential requirements for this role.

Full 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

Similar roles