Share this Job

Software Engineer

Date: Apr 14, 2021

Location: Garza Garcia, Nuevo León, Mexico, 66210

Company: John Deere

There are 7 billion people on this planet. And by 2050, there will be 2 billion more... many moving into urban centers at an unprecedented rate. Making sure there is enough food, fiber and infrastructure for our rapidly growing world is what we’re all about at John Deere. And it’s why we’re investing in our people and our technology like never before in our 175-year history. Here the world’s brightest minds are tackling the world’s biggest challenges. If you believe one person can make the world a better place, we’ll put you to work. RIGHT NOW.

Title: Software Engineer 
Primary Location: Mexico (MX) - Nuevo León JD Shared Svcs-Monterrey 
Function: Product Engineering

Main Responsibilities:

  • Will develop new desktop software tools of high complexity including tools for calibration and data collection, reprogramming, and support for AUTOSAR to enable the development of John Deere engine embedded software using technologies such as C/C++, C#, and QT.
    • Support the development and maintenance of the Focus Controls Tools team virtual build/integration server infrastructure as well as help drive our automated test efforts forward.
  • Mentor and teach others in the team to build technical capabilities and good software engineering practices.
    • Work on understanding requirements, apply system development methodology to identify, analyze, design, build, configure, test, and deploy highly integrated complex solutions.
  • Perform requirements capture, analysis, design, programming, debugging, hardware integration and verification. 
  • This position requires complex architectural development, detailed design / analysis, coding, complex testing / troubleshooting, and advanced algorithm development for of desktop applications.
  • This position requires technical judgment, independent thinking, experience and development approaches to solutions.
  • This person must be customer focused and capable of multitasking between several different tasks and customers daily.
  • This person must be capable of holding technical conversations in English with stakeholders and team members daily. 

What Skills You Need:

  • 2-3 years of experience designing and developing desktop or other software using C/C++ and or C#.
  • 2-3 years of experience developing tests and performing desktop or other C/C++ and or C# software testing.
  • 2-3 years of experience on Object Oriented Programming and design patterns.
  • Experience with QT and QML desired.
  • Strong knowledge on Data Structures and Algorithms.
  • Strong knowledge on version control systems such as GIT.
  • Strong knowledge of scripting languages such as Python.
  • Experience with debugging tools.
  • Experience with Agile Methodology. 
  • Operation and use of compilers, linkers and locators.
  • Knowledge on software architecture.
  • Desired:
    • Real-Time Operating System concepts, task schedulers, and application development.
    • Microcontroller systems (e.g. boot loaders, A/D converters, watchdog timers, interrupt and trap functions)
    • Microcontroller operation and memory organization.
    • Development and debugging tools (e.g. source level debuggers, oscilloscopes, logic analyzers, multi-meters)
    • CAN and Ethernet protocols. 
  • Good written and verbal communication skills (English)
  • Effective communication skills in English for highly technical conversations.

What Makes You Stand Out:

  • Experience on desktop or other software using C/C++, C# and QT.
  • Experience on desktop or other software tools to support embedded controls development.
  • Experience on environments for automated software builds and testing such as Jenkins.
  • Strong Object-Oriented programming and design patterns skills.
  • Technical expertise related to UX/UI design and development.
  • Technical expertise with QT and QML.
  • Strong knowledge on Agile methodologies or certified.

Education (or equivalent experience):

Minimum B.S. degree in any of the following disciplines: Electrical Engineering, Mechatronics, Digital Systems and Robotics, Computer Science or Advanced Engineering Degree.

This position will be posted for a minimum of 7 business days and unposted when a qualified pool of candidates is achieved.

Candidates must have the necessary work permits to work in the country.

Job Segment: Developer, Software Engineer, Engineer, Electrical, Embedded, Technology, Engineering