Software Engineer
Software EngineerLocation: Urbandale, IowaWe are looking for a Software Engineer to support John Deere's Intelligent Solutions Group (ISG) in the development of Gen 4 and Gen 5 display software. This role includes software design, development, analysis of new features, and resolution of Gen 4 and Gen 5 software defects.The Software Engineer will be part of the Gen 4/5 and 2630 Display Software Apps QI and RRT team, responsible for planning and efficiently executing system activities related to embedded display software.ResponsibilitiesDevelop, debug, and investigate issues related to application software for embedded applications and firmware for target systems.Support implementation and testing for Gen 4/5 and 2630 Display Universal Displays.Work on tasks related to performance, platform applications such as Tractor and Sprayer, language-related defects, and other improvements to the overall performance of Gen4OS and Gen5OS.Work with different types of machines in a HIL lab to gather information and accurately resolve issues.Develop software for John Deere displays using C, C++, Shell Scripting, Python, Qt, TCP/IP, and SQLite for Wind River Linux and Windows platforms.Integrate off-the-shelf third-party middleware such as Boost, DDS, Spatial Lite, Red Bend, and other tools.Integrate Qt, Docker, CAN, and other networking stacks.Analyze defects, identify root causes, and implement corrective actions.Write tests to validate software fixes.Analyze backtraces and core files.Debug software using GDB.Analyze application performance and provide solutions to improve performance.Perform code integration and monitor build pipelines.Investigate and resolve build failures.Required Skills1 to 3 years of experience in product testing of electronics or product development.1 to 3 years of work experience in a team environment.Good written and verbal communication skills in English.Understanding of product development phases.