Embedded Sw Engineer

Caterpillar · Industrial · Mossville, IL

Embedded Software Engineer at Caterpillar to work on telematics, displays, and network managers for machines & engines. Develop operating systems, core software, applications, and data transfer frameworks. Design, develop, configure, and test secure software using Agile, C/C++, embedded Linux, and open-source software. Responsibilities include designing new components, maintaining existing software, performing code reviews, mentoring, and providing subject matter expertise. Requires a bachelor's degree in a related field and 6 years of experience, or a master's degree and 5 years of experience, with specific skills in embedded development, Linux, GIT, scripting, RTOS, communication protocols, OOP, unit testing, and debugging tools.

What you'd actually do

  1. Develop operating systems, core software, applications, and data transfer frameworks that Caterpillar displays & connectivity product lines using for years to come.
  2. Design new software components for displays and connectivity control modules.
  3. Maintain and extend existing software.
  4. Perform code reviews for software development team.
  5. Mentor less experienced developers.

Skills

Required

  • C++
  • C
  • Embedded software development
  • Linux software development
  • GIT
  • Python scripting
  • RTOS development (Free RTOS)
  • Ethernet
  • TCP/IP
  • Wi-Fi
  • Bluetooth low energy
  • CAN
  • J1939
  • Design Patterns
  • Object-Oriented programming
  • Developing Unit Tests
  • Test-Driven Development
  • Debugging tools for embedded systems (Lauterbach, GDB, Wireshark)

Nice to have

  • Reading electrical schematics

What the JD emphasized

  • Embedded software development, design, and architecture
  • Linux software development
  • RTOS development (i.e. Free RTOS)