Job Title:
Embedded Software Engineer
Location:
iowa or ND
Duration:
Long Term
Job Responsibilities
-
:
Embedded Linux / BSP and Middleware Engineer – Autonomous Orchard Tract
-
orSupport the Automation Core Software team on an autonomous orchard tractor program, contributing to embedded Linux, BSP, middleware, hardware abstraction, communication, integration, and validation activitie
-
s.Work in one of two primary technical tracks: Board Support Package (BSP) development or Middleware / middle-layer software developmen
-
t.Develop, integrate, test, and document production-quality embedded software using Deere processes, tools, sprint cadence, and engineering standard
-
s.Collaborate frequently with customer engineering teams, suppliers, and cross-functional stakeholders to resolve technical issues, clarify requirements, and deliver working software increment
-
s.Support either remote middleware development or preferably on-site BSP developme
ntBSP Track – Key Responsibiliti
-
esDevelop and maintain embedded Linux BSPs for target controller hardwar
-
e.Work with Yocto, recipes, layers, toolchains, root file systems, and Linux image build
-
s.Configure and debug bootloaders such as U-Boot, including board startup, clocks, memory, and pin configuratio
-
n.Configure and customize the Linux kernel, device tree, drivers, and board support file
-
s.Bring up new hardware and debug boot, kernel, driver, and hardware/software integration issue
-
s.Validate BSP functionality through unit, integration, regression, and release testin
-
g.Support source control, branching, tagging, release notes, build instructions, and technical documentatio
n.Middleware Track – Key Responsibiliti
-
esDesign and develop middleware software that connects the BSP, hardware interfaces, and application laye
-
r.Develop Hardware Abstraction Layer components to standardize hardware access and improve portability across platform
-
s.Build core middleware services such as IPC, configuration management, resource management, scheduling, and task coordinatio
-
n.Support communication interfaces and protocols, including CAN, J1939, and Linux SocketCA
-
N.Support data handling, including serialization, deserialization, caching, persistence, and system-state managemen
-
t.Define APIs, support application integration, and optimize deployable components such as Docker container
-
s.Develop unit and integration tests using the existing test framework and target controller hardware where neede
-
d.Validate middleware performance, fault handling, recovery behavior, latency, throughput, memory usage, and resource utilizatio
n.Required Qualificatio
-
ns
Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, Software Engineering, Computer Science, or a related technical discipli
-
ne.3+ years of professional embedded software experience; senior candidates with deeper BSP, middleware, Linux, or architecture experience are strongly encourag
-
ed.Hands-on experience developing embedded software in C and/or C++ on Linux-based platfor
-
ms.Experience with embedded Linux development, debugging, integration, and testing in a hardware-dependent environme
-
nt.Working knowledge of Git-based version control, Agile/Scrum delivery, defect tracking, code reviews, and technical documentati
-
on.Ability to work independently in the assigned engagement model: remote collaboration for Middleware roles and preferably on-site support for BSP roles involving board bring-up, hardware access, and integration/debug activiti
-
es.Strong written and verbal communication skills, including the ability to document requirements, design decisions, interfaces, test results, and technical issu
es.Preferred / Nice-to-Have Experie
-
nceYocto Project / OpenEmbedded, BitBake, custom recipes, layers, image generation, and build troubleshooti
-
ng.Linux kernel configuration, device tree, U-Boot, driver development, board bring-up, root filesystem generation, and hardware/software deb
-
ug.Middleware, HAL, API design, microservices, IPC, scheduling, resource management, configuration management, and service-oriented embedded architectur
-
es.CAN, J1939, SocketCAN, Ethernet, sensor integration, machine communication networks, or autonomous/off-highway vehicle syste
-
ms.Docker or containerized embedded application deployment, including container size optimization and integration into embedded Linux targe
-
ts.CI/CD build automation, automated regression testing, hardware-in-the-loop testing, and release/configuration manageme
-
nt.Experience in agriculture, off-highway equipment, autonomous systems, robotics, automotive, industrial controls, or safety-/mission-critical embedded syste
ms.