Embedded Software Engineer

Trenton Systems
  • Duluth, GA
    Today

    Job 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 PIa7643735e1f6-25448-415367435c143e31-5e48-4549-b638-05792d185386

    Numbers & Facts

    LocationDuluth, GA

    Skills

    • ARM (Advanced RISC Machine)unmatched
    • Analysis Skillsunmatched
    • Atlassian JIRAunmatched
    • Bash Scriptingunmatched
    • Bootingunmatched
    • C Programming Languageunmatched
    • C++ Programming Languageunmatched
    • Code Reviewsunmatched
    • Collaboration Softwareunmatched
    • Communication Skillsunmatched
    • Computer Engineeringunmatched
    • Computer Firmwareunmatched
    • Computer Programmingunmatched
    • Computer Scienceunmatched
    • Concurrencyunmatched
    • Configuration Managementunmatched
    • Continuous Improvementunmatched
    • Datasheetsunmatched
    • Debugging Skillsunmatched
    • Debugging Toolsunmatched
    • Device Driversunmatched
    • Documentationunmatched
    • Electricityunmatched
    • Embedded Linuxunmatched
    • Embedded Processorsunmatched
    • Embedded Softwareunmatched
    • Embedded Systemsunmatched
    • Ethernetunmatched
    • FIPS (Federal Information Processing Standards) 140-2unmatched
    • Gitunmatched
    • Hardware Specificationunmatched
    • Hardware-Software Integrationunmatched
    • IDE (Integrated Development Environment)unmatched
    • Identify Issuesunmatched
    • Integration Testingunmatched
    • Intel Product Familyunmatched
    • Internet Securityunmatched
    • Laboratory Equipmentunmatched
    • Linux Administrationunmatched
    • Linux Kernelunmatched
    • Logic Analyzerunmatched
    • Manufacturingunmatched
    • Memory Managementunmatched
    • Microcontrollerunmatched
    • Microsoft Visual Studiounmatched
    • Middlewareunmatched
    • Oscilloscopeunmatched
    • Performance Tuning/Optimizationunmatched
    • Printed Circuit Board (PCB)unmatched
    • Problem Solving Skillsunmatched
    • Process Improvementunmatched
    • Product Supportunmatched
    • Product Testingunmatched
    • Programming Toolsunmatched
    • Python Programming/Scripting Languageunmatched
    • Quality Assurance Methodologyunmatched
    • Realtime Operating Systemunmatched
    • Reliability Engineeringunmatched
    • Requirements Managementunmatched
    • Schematicsunmatched
    • Software Administrationunmatched
    • Software Architectureunmatched
    • Software Debuggingunmatched
    • Software Designunmatched
    • Software Developmentunmatched
    • Software Engineeringunmatched
    • Software Specificationunmatched
    • Source Code/Configuration Management (SCM)unmatched
    • System Testunmatched
    • Systems Analysisunmatched
    • Systems Engineeringunmatched
    • Systems Maintenanceunmatched
    • Technical Writingunmatched
    • Test Designunmatched
    • Test Plan/Scheduleunmatched
    • Testingunmatched
    • USBunmatched
    • Unit Testunmatched
    • Universal Asynchronous Receiver-Transmitter (UART)unmatched
    • Validation Testingunmatched
    • Windows PowerShellunmatched
    • Zsh (Z Shell) Scriptingunmatched
    • x86 Processorsunmatched

    Be found by employers

    5,500+ employers search our resume database daily. Add yours to get found by recruiters looking for candidates like you.

    Level up your application

    Professional resume templates

    Browse dozens of recruiter approved resume templates, layouts and formats. Choose your favorite and make it your own in minutes.

    Free resume templates

    Free resume builder

    Improve your existing resume or start from scratch and create a standout, ATS-friendly resume. Add job-specific content, download and apply.

    Free resume builder