Embedded Software Engineer

Trenton Systems

  • Duluth, GA
  • Today

    Highlights

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

    Numbers & Facts

    LocationDuluth, GA

    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 





    PI7e6f16e03379-37456-41536743

    Similar Jobs

    See more jobs