Embedded Software Engineer - Monterrey
Date: Jan 23, 2025
Location: Nuevo León, MX
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: Embedded Software Engineer - Monterrey
Primary Location:
Function: Engineering (CA)
John Deere is a foremost leader in the ag equipment business, and we continue to put a solid stamp on other industries. For over 150 years, the company’s portfolio of groundbreaking products has grown to include industries related to and outside of agriculture, including Turf, Construction and Forestry and Wind Technologies. The image of John Deere is no longer that of a signature green tractor meandering across a field; it’s been replaced with an image of acceleration, swift progress, and innovative leaping toward the company’s 200th year. The product line alone serves as proof with advances in machine performance, equipment automation, fleet management, and John Deere’s ongoing investment in emerging markets.
Note: All candidates should have their tax situation certificate (Constancia de Siituación Fiscal) up to date with the salary regime to be eligible for the hiring process.
Main Responsibilities
- This position will be working at the Enterprise Technology Engineering Center, assigned to a software design team.
- Design, develop, and provide support for proprietary embedded Linux distribution that enables electronic modules to effectively perform in robust on/off road vehicles and harsh environments.
- The position will follow Agile methodology with a Scrum framework for software development.
- This person should be able to setup an embedded Linux environment from scratch, using build systems (Yocto) to create custom Linux distros; and debug the system which may interface with hardware using protocols including I2C, SPI, GPIO, etc.
What Skills You Need
- Versed in C/C++ programming language
- Understanding of firmware (Embedded Software) development
- Understanding of microcontrollers or other processors such as ARMs or DSPs or PSoCs
- Knowledge of embedded systems
- Knowledge of microcontroller peripherals such as I2C, UART, SPI, PWM outputs, boot loaders, A/D converters, etc.
- Knowledge of SW compilation process
- Knowledge of Python scripting language
- Basic knowledge Git version control
- Basic knowledge of Embedded Linux / RTOS
- Basic knowledge with debugging tools (e.g. source level debuggers, oscilloscopes, logic analyzers, multi-meters, etc.)
- Basic Knowledge with communication protocols (CAN/SPI)
- Good written and verbal communication skills (English)
- Proactive
What Makes You Stand Out
- Skill and knowledge of firmware (Embedded Software) development
- Notion of Real Time Operating Systems, concepts, task schedulers, application development, and architectures
- Knowledge of Linux Kernel Internals
- Knowledge of embedded Linux build systems such as Yocto and writing BitBake Recipes
- Knowledge of low-level hardware configuration on microcontrollers
- Knowledge/Experience with understanding on Agile Framework
- Knowledge of additional communication protocols (e.g. CAN J1939, ISO11783, TCP/IP, etc.)
- Understanding of algorithms and data structures
- Understanding of operation and use of compilers, linkers and locators
- Understanding of electronics schematics and data sheets
Education
- Digital Systems, and Robotics Engineering
- B.S. Mechatronics Engineering
- Electrical/Electronic Engineering
- Computer Science or similar
Candidates must have the necessary work permits to work in the country.
“This position is currently eligible for a telework and/or compressed workweek arrangement at the present time. The arrangement may be delayed for training or other job acclimation purposes, and remains subject to change”.
Job Segment:
Embedded, Linux, Software Engineer, Electronics Engineer, Construction, Technology, Engineering