Skip to content
mimi

Embedded Software Engineer - Linux

FEV North America Inc

Auburn Hills · On-site Full-time Today

About the role

Below is a sample cover‑letter and a targeted résumé you can use (or adapt) when applying for the Embedded Software Engineer – Linux position at FEV North America, Inc..
Both documents are written to match the key responsibilities, required qualifications, and preferred skills listed in the job posting.


📄 Sample Cover Letter

[Your Name]
[Street Address] • [City, State ZIP] • [Phone] • [Email] • [LinkedIn] • [GitHub]

April 6 2026

Hiring Manager
FEV North America, Inc.
[Company Address]

Dear Hiring Manager,

I am excited to submit my application for the Embedded Software Engineer – Linux role at FEV North America. With 5 + years of hands‑on experience developing safety‑critical embedded Linux solutions for off‑highway and automotive platforms, I have a proven track record of delivering robust, scalable code that meets stringent performance, quality, and compliance requirements. I am confident that my blend of modern C++ expertise, Yocto/Bitbake proficiency, and systems‑level understanding aligns perfectly with the responsibilities and goals of your software and systems engineering team.

Why I’m a strong fit

Requirement My Experience
Embedded Linux (Yocto) – 3 + years Developed and maintained Yocto‑based BSPs for ARM Cortex‑A53 and PowerPC platforms used in heavy‑duty agricultural equipment. Authored custom Bitbake recipes, integrated third‑party middleware, and automated image generation via GitLab CI.
Modern C++ (C++17/20), design patterns, CMake Lead developer for a C++20 telemetry stack, employing RAII, CRTP, and the Strategy pattern. Built a CMake‑driven build system that supports cross‑compilation for three hardware families.
Linux/Posix API Implemented multi‑threaded data acquisition services using pthread, epoll, and real‑time scheduling (SCHED_FIFO).
Problem analysis & debugging Utilized GDB, Valgrind, and SystemTap to resolve hard‑to‑reproduce race conditions in a CAN‑based control loop, reducing field failures by 30 %.
Collaboration & Agile Member of a Scrum team (8 engineers) delivering two major releases per year; facilitated sprint planning, backlog grooming, and retrospectives.
Supplier coordination Acted as the technical liaison for three Tier‑1 suppliers, conducting on‑site code reviews, corrective‑action tracking in Polarion, and delivering root‑cause analyses within 48 h of field incidents.
Automated testing & CI/CD Designed a hardware‑in‑the‑loop (HIL) test harness using GoogleTest and Python, integrated into GitLab pipelines that run nightly on a fleet of test rigs.
Vehicle networking (CAN, J1939, ISO‑11783) Developed a J1939 diagnostics module that parses PGNs, generates DTCs, and supports OTA firmware updates over CAN.
Additional skills (Qt, Python, TCP/IP, MQTT) Built a Qt‑based HMI for machine operators; scripted data‑migration tools in Python; implemented MQTT telemetry for remote monitoring.

What I can bring to FEV

  • Scalable, portable software architecture – My experience modularizing code for reuse across multiple hardware families will accelerate platform migrations and reduce long‑term maintenance effort.
  • Safety‑critical development mindset – Familiar with ISO 26262 and IEC 61508 processes; I consistently apply static analysis (Cppcheck, Clang‑Tidy) and code‑coverage metrics (> 85 %) to meet compliance goals.
  • Effective cross‑functional communication – I have successfully bridged the gap between system engineers, hardware designers, and external suppliers, ensuring that software specifications are realistic and traceable.
  • Continuous‑improvement culture – I championed the adoption of a unified GitLab CI pipeline that cut integration time by 40 % and introduced automated linting and formatting (clang‑format) to enforce coding standards across the team.

I am eager to contribute to FEV’s mission of delivering high‑quality embedded solutions for off‑highway applications. Thank you for considering my application. I look forward to the opportunity to discuss how my background and enthusiasm can benefit your engineering team.

Sincerely,

[Your Name]


📄 Targeted Résumé

[Your Name] – Embedded Software Engineer (Linux)
[Phone] • [Email] • [LinkedIn] • [GitHub]

PROFESSIONAL SUMMARY

Embedded software engineer with 5 + years of experience designing, implementing, and validating Linux‑based firmware for automotive and industrial machinery. Expert in Yocto/Bitbake, modern C++ (C++17/20), POSIX APIs, and CAN/J1939 communications. Proven ability to lead cross‑functional teams, manage supplier relationships, and deliver safety‑critical code that complies with ISO 26262/IEC 61508 standards.

CORE COMPETENCIES

Embedded Linux C++ Development Real‑Time Systems
Yocto Project, Bitbake, OpenEmbedded C++17/20, STL, templates, design patterns, CMake POSIX threads, real‑time scheduling, lock‑free data structures
Device‑tree, kernel module development GoogleTest, Catch2, static analysis (Cppcheck, Clang‑Tidy) Linux PREEMPT_RT, Xenomai (basic)
Build automation (GitLab CI/CD) Code reviews, peer‑design, pair programming HIL testing, hardware‑in‑the‑loop
Cross‑compilation for ARM/PowerPC Modern C++ idioms, RAII, move semantics
Linux networking (TCP/IP, Ethernet, MQTT) Qt (Widgets, Quick)
CAN, J1939, ISO‑11783, ISO‑14229 Python scripting for test & tooling

PROFESSIONAL EXPERIENCE

Senior Embedded Software EngineerXYZ Automotive Systems, Detroit, MI
Jan 2022 – Present

  • Lead development of a Yocto‑based BSP for a new ARM Cortex‑A72 ECU, creating 30+ custom Bitbake recipes and integrating third‑party middleware (OpenSSL, MQTT, DDS).
  • Designed and implemented a C++20 telemetry stack using the Strategy and Observer patterns; achieved > 200 kB memory reduction vs. legacy code.
  • Developed a J1939 diagnostics module (ISO‑11783) handling 150+ PGNs, supporting OTA updates over CAN; reduced field‑failure rate by 30 %.
  • Built a GitLab CI pipeline that runs static analysis, unit tests (GoogleTest, 85 % coverage), and HIL tests on a fleet of 12 test rigs; integration time cut from 48 h to 28 h.
  • Acted as primary technical liaison for three Tier‑1 suppliers, coordinating corrective‑action plans in Polarion and conducting on‑site code reviews.
  • Authored automated test scripts in Python (PyTest) for protocol conformance and performance benchmarking; reduced manual test effort by 70 %.

Embedded Linux EngineerABC Machinery Corp., Chicago, IL
Jun 2019 – Dec 2021

  • Developed Linux kernel drivers for custom CAN and Ethernet interfaces on PowerPC platforms; performed extensive validation using KUnit.
  • Implemented real‑time data acquisition services using POSIX threads and epoll; achieved deterministic latency < 200 µs.
  • Created a Qt‑based HMI for operator control, integrating with backend services via MQTT; UI performance met 60 fps target on low‑power hardware.
  • Participated in ISO 26262 functional safety activities: hazard analysis, safety concept, and verification planning; contributed to ASIL‑B compliance documentation.
  • Maintained CMake‑driven build system supporting cross‑compilation for three hardware variants; introduced ccache and ninja to speed up builds by 2.5×.

Software Engineer (Intern)DEF Robotics, Boston, MA
May 2018 – Aug 2018

  • Assisted in porting a ROS‑2 node to an embedded Yocto image; wrote Bitbake recipes for ROS‑2 packages.
  • Developed Python utilities for log parsing and automated regression testing.

EDUCATION

M.S. Computer ScienceUniversity of Michigan, Ann Arbor, MI
Graduated: May 2019

B.S. Electrical & Computer EngineeringMichigan State University, East Lansing, MI
Graduated: May 2017

CERTIFICATIONS & TRAINING

  • Yocto Project Development – Linux Foundation (2023)
  • ISO 26262 Functional Safety – Fundamentals – TÜV SÜD (2022)
  • Certified Scrum Developer (CSD) – Scrum Alliance (2021)

TOOLS & TECHNOLOGIES

  • Version Control / CI: Git, GitLab, GitLab CI/CD, Gerrit
  • Issue Tracking: Jira, Polarion, Redmine
  • Build Systems: Bitbake, CMake, Ninja, Make
  • Testing: GoogleTest, Catch2, PyTest, Valgrind, SystemTap, KUnit, HIL rigs
  • Languages: C++17/20, C, Python 3, Bash, Qt (QML & Widgets)
  • Protocols: CAN, J1939, ISO‑11783, ISO‑14229, TCP/IP, Ethernet, MQTT, DDS, XMPP

PROFESSIONAL AFFILIATIONS

  • Member, IEEE Embedded Systems Society
  • Contributor, Yocto Project (maintainer of a community recipe for libmodbus)

How to Use These Documents

  1. Customize the header with your personal contact information.
  2. Tailor the summary to reflect any additional experiences you have that match the posting (e.g., specific vehicle platforms, additional languages).
  3. Quantify achievements wherever possible – replace the sample numbers with your own metrics.
  4. Insert the company address and any recruiter name you have for the cover letter.
  5. Proofread for spelling/grammar and ensure the formatting stays clean (use a simple, professional font like Calibri 11 pt or Arial 10 pt).

Good luck with your application! If you need further help—such as interview preparation, a deeper dive into Yocto, or mock technical questions—just let me know.

Requirements

  • Bachelor’s degree or master’s degree in computer science or related field.
  • Minimum 3 years of embedded software development on Yocto/Linux.
  • Proficient in modern C++ programming, design patterns, core guidelines, templates, std library, idioms, CMake.
  • Intermediate knowledge required for Linux and Posix API.
  • Basic Knowledge of Yocto Project and Bitbake.
  • Well-developed problem analysis and problem-solving techniques.

Responsibilities

  • Work cohesively as a member of a development team, collaborating as needed with other members of the team with the end goal of maximizing quality and delivering on schedule.
  • Design core software features that are scalable, portable, and maintainable which allows for easier transitions to new and different hardware platforms.
  • Writing software code, embedded programs, and system protocols.
  • Implementing effective repairs, modifications, and upgrades to the embedded code.
  • Follow established corporate and project-level Software Development Processes, ensuring consistency of development standards.
  • Participate in peer design and code reviews to ensure the best design and detect/resolve software bugs early in the development process.
  • Participate in problem resolutions of software issues utilizing industry known best practices.
  • Provide issue recommendations and helps oversee supplier corrective actions, traveling to supplier sites as needed to facilitate communication between engineering and suppliers.
  • Design automatic testing routines.
  • Troubleshoot and resolve any system issues.
  • Understand control systems, sub-systems, and component requirements of all systems.
  • Lead verification and validation planning, as well as compliance assessment and reporting.
  • Manage all documentation, change control, and traceability.
  • Use CI/CD systems (such as Gitlab), bug tracking systems (such as Polarion, Jira) and adhere to the policies and practices followed by other software engineers across various teams.
  • Participate to requirements analysis activities and provide inputs to software development teams.
  • Work in tandem with system engineers to design the software functionality in detail.
  • Establish test procedures and systems for inspection of software.
  • Travel, as necessary, to supplier facilities, test facilities, and customer field sites to gather data, resolve problems and explore software design alternatives.
  • Learning, understanding, continuously improving, and promoting the quality management system in accordance with ISO standards.

Skills

C++CMakeCI/CDEthernetGitlabISOJiraLinuxMQTTPosix APIPythonQTSAFeScrumTCP/IPXMPPYoctoBitbakeDDSCANJ1939ISO-11783ISO-14229

Don't send a generic resume

Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.

Get started free