At Oshkosh, we build, serve and protect people and communities around the world by designing and manufacturing some of the toughest specialty trucks and access equipment. We employ over 18,000 team members all united by a common purpose. Our engineering and product innovation help keep soldiers and firefighters safe, is critical in building and keeping communities clean and helps people do their jobs every day.
The Senior Software Engineer will design, develop, integrate, test, and maintain embedded Linux software used in production vehicle systems. This role focuses on embedded Linux platform development and maintenance, Yocto-based Linux distributions, modern C/C++ application development, Qt-based user interfaces and services, automated testing, and software build and deployment infrastructure.The team member will be an integral part of multiple programs and will be expected to contribute across the complete software lifecycle, including architecture, requirements, implementation, code review, automated testing, continuous integration, release management, production support, and long-term platform maintenance.
The ideal candidate has strong software engineering fundamentals, extensive experience developing production C/C++ software on embedded Linux, and the ability to diagnose complex issues spanning application software, operating system services, libraries, build systems, and hardware interfaces.
YOUR IMPACT- Design, develop, integrate, test, and maintain production-quality software for embedded Linux platforms.
- Develop maintainable C/C++ applications, services, and user interfaces using modern C++ and Qt 6.8+.
- Develop and maintain embedded Linux platforms using Yocto Project, BitBake, OpenEmbedded, and associated BSPs, layers, recipes, and image configurations.
- Support platform lifecycle activities, including Linux/Qt migrations, dependency and security updates, toolchain changes, and BSP upgrades.
- Diagnose complex issues across applications, operating systems, networking, device interfaces, and hardware/software boundaries.
- Support software integration, validation, and troubleshooting using bench test environments, target embedded hardware, and production vehicle platforms.
- Use Python for development tooling, automation, testing, build infrastructure, and data processing.
- Design software for reliability, maintainability, performance, resource efficiency, testability, and long-term support.
- Develop automated unit, integration, system, and Qt/QML tests using GoogleTest, CppUnit, Squish, or similar frameworks.
- Develop and improve CI/CD pipelines for automated builds, analysis, testing, packaging, and releases while maintaining reproducible builds.
- Contribute to software architecture, requirements, design documentation, test plans, and other engineering artifacts.
- Lead and participate in code reviews, design reviews, root-cause analysis, and continuous improvement of software engineering practices.
- Collaborate across software, electrical, systems, controls, test, cybersecurity, manufacturing, suppliers, and other technical stakeholders.
- Support software integration and validation on target hardware, simulation, and development environments.
- Evaluate and introduce tools, libraries, frameworks, and practices that improve software quality and developer productivity.
- Provide technical leadership, mentoring, and code review support to other engineers.
- Estimate development activities and communicate technical risks, dependencies, and schedule impacts.
- Follow applicable software development, configuration management, cybersecurity, functional safety, and CMMI processes.
- Support software configuration, release, and lifecycle management activities.
- Travel as needed to support engineering, integration, and product testing.
- Perform other duties as assigned; regular attendance is required.
- Accredited Bachelor's degree in Computer Engineering, Electrical Engineering, Software Engineering, or a related technical field.
- Five (5) or more years of professional software development experience.
- Strong C and C++ software development experience.
- Strong professional experience developing and maintaining software for Linux or embedded Linux systems.
- Experience with modern C++ and object-oriented software design.
- Experience developing multithreaded and asynchronous software.
- Professional experience with Yocto Project, OpenEmbedded, and BitBake.
- Experience developing and maintaining custom Yocto layers, recipes, package configurations, and embedded Linux images.
- Professional experience developing applications using modern Qt, with experience in Qt 6.8 or newer preferred.
- Experience developing Qt/QML applications for embedded or production systems.
- Experience with Linux development and debugging tools.
- Experience with source control and collaborative software development workflows using Git or comparable tools.
- Experience developing automated unit and/or integration tests using frameworks such as GoogleTest, CppUnit, Squish, or comparable technologies.
- Experience with scripting and development automation using Python.
- Significant experience owning and maintaining production embedded Linux platforms throughout the product lifecycle.
- Experience maintaining or migrating Yocto-based products across major Yocto releases.
- Deep experience with Qt 6, particularly Qt 6.8 or newer.
- Strong experience with Qt Core, Qt Quick, QML, Qt Network, Qt Remote Objects, Qt DBus, or other Qt modules used in embedded systems.
- Experience designing and maintaining large-scale Qt/QML applications.
- Experience migrating applications from older Qt releases to modern Qt 6 releases.
- Extensive experience with GoogleTest, CppUnit, Squish, or comparable C++/Qt automated testing frameworks.
- Experience automating Qt/QML GUI and system-level testing.
- Experience with UI/UX design and prototyping tools such as Figma, Qt Design Studio, Adobe Illustrator, and Adobe Photoshop.
- Strong Python development experience for tooling, test automation, build systems, and engineering workflows.
- Experience with modern CMake or SCons and maintaining non-trivial C/C++ build systems.
- Experience with Conan 2 for C/C++ package and dependency management.
- Experience with static analysis, code coverage, sanitizers, formatting, and automated code-quality tooling.
- Experience with package management, dependency management, Software Bill of Materials (SBOM), and reproducible build practices.
- Experience debugging Linux systems using tools such as GDB, systemd tooling, core dumps, tracing, profiling, and system logs.
- Experience with Linux system services, networking, IPC, filesystems, permissions, and process management.
- Experience with embedded hardware interfaces and communication protocols such as CAN, Ethernet, serial interfaces, SPI, or I2C.
- Experience with automotive software architectures, standards, and development toolchains such as AUTOSAR (Classic or Adaptive) and associated industry-standard configuration, integration, and development tools.
- Experience with bootloaders, BSPs, Linux kernel configuration, device trees, or embedded Linux driver integration.
- Familiarity with secure boot, software signing, system hardening, vulnerability management, and embedded Linux cybersecurity practices.
- Experience supporting production software releases and performing root-cause analysis of field issues.
- Experience working within formal software development processes such as CMMI, functional safety, or other regulated engineering environments.
- Experience with systems engineering, requirements management, and modeling tools such as IBM Engineering DOORS and MagicDraw/Cameo Systems Modeler.
- Experience with vehicle communication and diagnostic standards, including SAE J1939, UDS (ISO 14229), and SAE J2012.
- Familiarity with vehicle safety standards and safety-critical software development practices, including FMVSS and ISO 26262.
- Technical Leadership: Demonstrates ownership of significant software components and provides technical direction and mentorship to other engineers.
- Software Engineering: Applies strong software architecture, design, implementation, testing, debugging, and maintenance practices to production systems.
- Problem Solving: Independently analyzes complex problems spanning applications, operating systems, development infrastructure, and embedded hardware.
- Quality: Produces maintainable, testable, reliable software and promotes automated testing, code review, static analysis, and continuous integration.
- Communication: Clearly communicates technical designs, tradeoffs, risks, defects, and recommendations to engineering teams and technical leadership.
- Collaboration: Works effectively across software, electrical, systems, controls, test, cybersecurity, manufacturing, and supplier organizations.
- Decision-Making: Makes technical decisions based on system requirements, engineering tradeoffs, maintainability, reliability, risk, and product lifecycle considerations.
- Mentorship: Provides technical guidance, peer review, and mentoring to less-experienced engineers.
- Continuous Improvement: Identifies opportunities to improve software architecture, development workflows, automation, testing, and engineering productivity.
- Physical Demands: Frequent: Standing, walking, sitting, reaching, hearing, talking, visual work, and typing. Occasional: Driving, fine dexterity, manual dexterity, and repetitive upper-extremity motion. Seldom: Lifting/carrying or pushing/pulling up to 25 lbs.
- Non-Physical Demands: Frequent: Analysis and reasoning, technical communication, problem solving, reading technical documentation, sustained mental activity, and technical writing.
- Environmental Demands: Frequent: Independent work, collaboration with engineering teams, frequent task changes, and detailed technical work. Occasional work in laboratory, manufacturing, or vehicle environments may be required.
- Work Schedule: Routine shift hours with infrequent overtime, weekend work, or travel as required to support integration, testing, or production activities.
- Demands/Deadlines: Work involves multiple concurrent technical priorities and project deadlines requiring effective prioritization, communication, and independent judgment.
- Travel: Up to 200 hours per year spent travelling to offsite locations for on-vehicle support.
Pay Range:
$79,300.00 - $126,900.00The above pay range reflects the minimum and maximum target pay for the position across all U.S. locations. Within this range, individual pay is determined by various factors, including the scope and responsibilities of the role, the candidate's experience, education and skills, as well as the equity of pay among team members in similar positions. Beyond offering a competitive total rewards package, we prioritize a people-first culture and offer various opportunities to support team member growth and success.
Oshkosh is committed to working with and offering reasonable accommodation to job applicants with disabilities. If you need assistance or an accommodation due to disability for any part of the employment process, please contact us at [email protected].
Oshkosh Corporation is a merit-based Equal Opportunity Employer. Job opportunities are open for application to all qualified individuals and selection decisions are made without regard to race, color, religion, sex, national origin, age, disability, veteran status, or other protected characteristic. To the extent that information is provided or collected regarding categories as provided by law it will in no way affect the decision regarding an employment application.
Oshkosh Corporation will not discharge or in any manner discriminate against employees or applicants because they have inquired about, discussed, or disclosed their own pay or the pay of another employee or applicant. However, employees who have access to the compensation information of other employees or applicants as a part of their essential job functions cannot disclose the pay of other employees or applicants to individuals who do not otherwise have access to compensation information, unless the disclosure is (a) in response to a formal complaint or charge, (b) in furtherance of an investigation, proceeding, hearing, or action, including an investigation conducted by the employer, or (c) consistent with Oshkosh Corporation's legal duty to furnish information.
Certain positions with Oshkosh Corporation require access to controlled goods and technologies subject to the International Traffic in Arms Regulations or the Export Administration Regulations. Applicants for these positions may need to be "U.S. Persons," as defined in these regulations. Generally, a "U.S. Person" is a U.S. citizen, lawful permanent resident, or an individual who has been admitted as a refugee or granted asylum.
Skills Required
- Accredited bachelor's degree in computer engineering, electrical engineering, software engineering, or a related technical field
- Five or more years of professional software development experience
- Strong C and C++ software development experience
- Professional experience developing and maintaining software for Linux or embedded Linux systems
- Experience with modern C++ and object-oriented software design
- Experience developing multithreaded and asynchronous software
- Professional experience with Yocto Project, OpenEmbedded, and BitBake
- Experience developing and maintaining custom Yocto layers, recipes, package configurations, and embedded Linux images
- Professional experience developing applications using modern Qt; Qt 6.8 or newer preferred
- Experience developing Qt/QML applications for embedded or production systems
- Experience with Linux development and debugging tools
- Experience with source control and collaborative software development workflows using Git or comparable tools
- Experience developing automated unit or integration tests using GoogleTest, CppUnit, Squish, or comparable technologies
- Experience with scripting and development automation using Python
- Significant experience owning and maintaining production embedded Linux platforms throughout the product lifecycle
- Experience maintaining or migrating Yocto-based products across major Yocto releases
- Deep experience with Qt 6, particularly Qt 6.8 or newer
- Experience with Qt Core, Qt Quick, QML, Qt Network, Qt Remote Objects, Qt DBus, or other embedded Qt modules
- Experience designing and maintaining large-scale Qt/QML applications
- Experience migrating applications from older Qt releases to Qt 6
- Extensive experience with GoogleTest, CppUnit, Squish, or comparable C++/Qt automated testing frameworks
- Experience automating Qt/QML GUI and system-level testing
- Experience with UI/UX design and prototyping tools such as Figma, Qt Design Studio, Adobe Illustrator, and Adobe Photoshop
- Strong Python development experience for tooling, test automation, build systems, and engineering workflows
- Experience with modern CMake or SCons and non-trivial C/C++ build systems
- Experience with Conan 2 for C/C++ package and dependency management
- Experience with static analysis, code coverage, sanitizers, formatting, and automated code-quality tooling
- Experience with package management, dependency management, software bills of materials, and reproducible builds
- Experience debugging Linux systems using GDB, systemd tooling, core dumps, tracing, profiling, and system logs
- Experience with Linux system services, networking, IPC, filesystems, permissions, and process management
- Experience with embedded hardware interfaces and CAN, Ethernet, serial, SPI, or I2C protocols
- Experience with automotive software architectures, AUTOSAR, and related configuration, integration, and development tools
- Experience with bootloaders, BSPs, Linux kernel configuration, device trees, or embedded Linux driver integration
- Familiarity with secure boot, software signing, system hardening, vulnerability management, and embedded Linux cybersecurity
- Experience supporting production software releases and performing root-cause analysis of field issues
- Experience with formal software development processes such as CMMI, functional safety, or regulated engineering environments
- Experience with systems engineering, requirements management, and modeling tools such as IBM Engineering DOORS and MagicDraw/Cameo Systems Modeler
- Experience with vehicle communication and diagnostic standards including SAE J1939, UDS ISO 14229, and SAE J2012
- Familiarity with FMVSS, ISO 26262, and safety-critical software development practices
Oshkosh Corporation Compensation & Benefits Highlights
The following summarizes recurring compensation and benefits themes identified from responses generated by popular LLMs to common candidate questions about Oshkosh Corporation and has not been reviewed or approved by Oshkosh Corporation.
-
Healthcare Strength — Healthcare coverage is described as broad, including medical, dental, and vision options alongside disability and life insurance. Voluntary add-ons such as accident/critical illness coverage, pet insurance, and an employee assistance program further expand coverage breadth.
-
Retirement Support — Retirement programs include a 401(k) with employer matching and an employee stock purchase plan, alongside performance bonuses. Profit sharing and legacy pension arrangements are also referenced, suggesting multiple pathways for long-term financial support.
-
Wellbeing & Lifestyle Benefits — Wellbeing and lifestyle supports include flexible work schedules, some remote work options, fitness stipends, and wellness programs. Tuition reimbursement and continuing education support add value that complements cash compensation.
Oshkosh Corporation Insights
What We Do
Oshkosh Corporation is an industrial technology company that builds some of the industry’s toughest specialty trucks and access equipment. We serve our everyday heroes – soldiers, firefighters, people working at great height, environmental and refuse workers – through incredible technology. And with a portfolio of leading brands, we can uniquely take innovation from one brand and apply it across our portfolio.
Why Work With Us
We make equipment that moves the world forward. With ~15,000 team members united under our People First culture, a career at Oshkosh is an opportunity to do more than just impact industries -- it's an opportunity to make a difference in the world around you, protecting those who protect us.








