Embedded Software Engineer

Xirgo TechnologiesSaint Louis Park, MN
$126,000 - $136,000Hybrid

About The Position

Position: Embedded Software Engineer Work Location: 7003 W. Lake Street, St. Louis Park, MN 55426 Salary: $126,000 to $136,000 per year SPECIFIC DUTIES INCLUDE: Plan, design, develop, and implement robust and high-quality embedded software solutions for connected vehicle and fleet management devices; Develop software in C for ARM Cortex-M microcontrollers, with a focus on efficiency, reliability, and maintainability; Work with real-time operating systems (RTOS) to implement deterministic and time-critical embedded applications; Develop and maintain Python-based automated test scripts for continuous integration pipelines; Interface with cellular modems and implement communication protocols ( e.g., MQTT, CoAP) for secure and reliable data transfer from telematics devices to backend cloud systems; Interface with BLE modules and develop Bluetooth Low Energy communication features; Implement and maintain wireless communication stacks for seamless connectivity between telematics devices and cloud infrastructure; Write firmware routines to process raw sensor inputs and derive meaningful insights for end users; Design and implement application level features optimized for resource constrained embedded systems; Review hardware schematics and update firmware to support new components and board revisions; Debug and develop low-level drivers and interfaces, including UART, SPI, l2C, and custom protocols; Use hardware tools such as oscilloscopes, multimeters, logic analyzers, and protocol analyzers for hardware-level testing and debugging; Contribute to code reviews and provide technical feedback to ensure code quality and maintainability; Mentor and train other software team members, fostering collaboration and sharing of best practices; Write and maintain firmware documentation and technical specifications; Perform unit testing and system integration testing of new and existing software features. Collaborate with Field Application Engineers (FAEs) to address customers' day-to-day technical issues; and Work directly with customers and field teams to troubleshoot and resolve high-priority issues. Hybrid work allowed, 3 days in office required. Up to 10%, travel for trade shows/conferences, team and collaboration meetings predominately domestic.

Requirements

  • Must have a Bachelors in Computer Science, Electrical Engineering or related and 4 (four) years of experience in Software Engineering, Hardware Engineer, Electrical Engineer or related.
  • Must have experience with the following:
  • Telematics Industry experience
  • IoT experience
  • 4 years of experience in C programming for ARM Cortex-M microcontrollers
  • 4 years of experience with real time operating systems RTOS
  • 4 years of experience in software engineering tools including revision control GIT, IDE specifically IAR, and debug interfaces JT AG
  • 2 years of experience in Python programming and developing automated test scripts
  • 2 years of experience developing application interfacing cellular modem and communication protocols MQTT, CoAP, TCP/IP

Responsibilities

  • Plan, design, develop, and implement robust and high-quality embedded software solutions for connected vehicle and fleet management devices
  • Develop software in C for ARM Cortex-M microcontrollers, with a focus on efficiency, reliability, and maintainability
  • Work with real-time operating systems (RTOS) to implement deterministic and time-critical embedded applications
  • Develop and maintain Python-based automated test scripts for continuous integration pipelines
  • Interface with cellular modems and implement communication protocols ( e.g., MQTT, CoAP) for secure and reliable data transfer from telematics devices to backend cloud systems
  • Interface with BLE modules and develop Bluetooth Low Energy communication features
  • Implement and maintain wireless communication stacks for seamless connectivity between telematics devices and cloud infrastructure
  • Write firmware routines to process raw sensor inputs and derive meaningful insights for end users
  • Design and implement application level features optimized for resource constrained embedded systems
  • Review hardware schematics and update firmware to support new components and board revisions
  • Debug and develop low-level drivers and interfaces, including UART, SPI, l2C, and custom protocols
  • Use hardware tools such as oscilloscopes, multimeters, logic analyzers, and protocol analyzers for hardware-level testing and debugging
  • Contribute to code reviews and provide technical feedback to ensure code quality and maintainability
  • Mentor and train other software team members, fostering collaboration and sharing of best practices
  • Write and maintain firmware documentation and technical specifications
  • Perform unit testing and system integration testing of new and existing software features. Collaborate with Field Application Engineers (FAEs) to address customers' day-to-day technical issues
  • Work directly with customers and field teams to troubleshoot and resolve high-priority issues
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service