Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+42 more
Job 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., * 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.
Requirements
- 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
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Where to Find Entry-Level Software Engineering Jobs
The Best Software Developer Blogs to Read
How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again
Best Countries for Software Engineers