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, 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.