Embedded Software Engineer - Linux
Job Description
Job DescriptionDescription:
FEV North America, Inc. is seeking an Embedded Software Engineer – Linux to join our software and systems engineering team as a full-time employee. In this role, you will contribute to the design, development, testing, and validation of embedded software solutions used in off-highway applications.
FEV, Embedded Software Engineers work on technically challenging, safety-critical systems that interface closely with hardware, control systems, and vehicle or machine networks. You will collaborate with system engineers, suppliers, and global development teams to deliver high-quality embedded software that meets performance, quality, and compliance requirements. This role offers hands-on involvement across the full software lifecycle, from requirements and architecture through implementation, verification, and field support.
The ideal candidate has strong experience in embedded Linux environments, modern C++ development, and structured software development processes, with the ability to work across disciplines and support complex system integration efforts.
Key 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.
Requirements:
Required Qualifications:
· 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.
Preferred Qualifications
· Experience in vehicle applications including CAN communication, J1939 protocols, ISO-11783, ISO-14229.
· Experience with GitLab CI/CD.
· Experienced with Agile (Scrum/Kanban/SAFe) working methods is preferred.
· Knowledge of Internet related networking and application protocols: TCP/IP, Ethernet, MQTT, XMPP, DDS, etc.
· Knowledge of QT framework.
· Knowledge of Python.
· Knowledge of automotive or industrial machinery.
Equal opportunity employer as to all protected groups, including protected veterans and individuals with disabilities
