Job Title: Embedded Software Engineer Location: iowa or ND Duration: Long Term Client: John Deere 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, J , 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, J , 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.
By continuing you agree to our Terms & Privacy Policy.