About this opportunity
Trenton Systems lists this Embedded Software Engineer opportunity in duluth, Georgia. Review the employer’s description below for duties, qualifications and application requirements.
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
PIf75f2cfc927b-
Who can apply
Review the original listing for work authorization, qualifications and employer requirements.