Sr. Engineer I - Embedded Engineer
Role details
Job location
Tech stack
Job description
The Senior Embedded Software Engineer will design, develop, and maintain embedded software for IoT-enabled devices used in Kubota's connected equipment ecosystem. This role focuses on hardware-software integration, sensor interfacing, power-optimized embedded designs, and robust wireless communication methods on resource constrained devices. The engineer will support development across multiple embedded platforms, contribute to hardware bring-up, implement connectivity protocols for wireless and cloud-connected systems, and collaborate closely with hardware, systems, machine, and cloud engineering teams. This position will help define system architectures, ensure reliable operation under real-world conditions, and support prototype development and testing throughout the full product lifecycle. PRINCIPAL ACTIVITIES: This position does the following in accordance with all applicable Federal, State, and local laws / regulations and the Company's policies, procedures, and guidelines:
- Design, implement, and maintain firmware in C/C++ for ARM-based embedded platforms used in IoT-enabled products.
- Integrate peripherals using interfaces such as I2C, SPI, UART, GPIO, ADC, IMUs, sensors, BLE modules, Wi-Fi modules, and cellular modems.
- Utilize CAN communication protocols for integration and communication.
- Develop applications using RTOS platforms (Zephyr strongly preferred) with an emphasis on reliability, security, and low-power operation.
- Implement wireless and cloud-connected features using BLE, Wi-Fi, cellular, MQTT, and related technologies.
- Support hardware bring-up, board testing, and embedded debugging using common lab tools.
- Collaborate with hardware and systems teams on schematics review, embedded architecture, and verification activities.
- Work in Linux-based development and build environments as needed for embedded and tooling workflows.
- Support prototype testing, troubleshooting, and iterative improvements throughout the development lifecycle.
- Generate clear and maintainable software documentation.
- Perform other related duties as assigned by management.
Requirements
- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or related field.
- 7+ years of experience developing embedded software in C/C++ for microcontroller-based systems.
- Strong experience with ARM-based MCUs and peripheral interfaces such as I2C, SPI, UART, GPIO, and ADC.
- Experience with RTOS-based development.
- Experience developing with wireless and connectivity technologies such as BLE, MQTT, Wi-Fi and cellular.
- Experience with embedded debugging, hardware bring-up, and lab instrumentation.
- Familiarity with Linux-based development environments.
- Familiarity with CAN communication protocols is a plus.
- Ability to travel up to 10%.
WORK ENVIRONMENT & PHYSICAL REQUIREMENTS:
- Typical office and lab environment with frequent use of computers and standard lab instrumentation (e.g., oscilloscopes, logic analyzers, multimeters).
- Routine hands-on work with prototypes, embedded hardware, and electromechanical systems in shop or field settings.
- May work on or around agricultural, turf, or construction machinery during testing, evaluation, or support activities; adherence to all safety procedures and PPE requirements is expected.
- Ability to stand, walk, bend, and handle small components or tools for extended periods.