Senior Software Engineer (IoT)

New
Most locations across the U.S. as well as Ontario and British Columbia, CanadaFull-TimeSenior
Salary not disclosed
Apply NowOpens the employer's application page

Job Details

Experience
5+ years
Required Skills
AWSPythonSQLEmbedded SystemsIoTJavaJavascriptTypeScriptLinux

Requirements

  • 5+ years of software engineering experience, with meaningful time spent working on embedded systems, IoT platforms, or edge computing
  • Proficiency with Linux including imaging, system administration, containerization, process management, networking, and security
  • Experience with communication protocols: serial interfaces (RS-232, J1708, CAN), network protocols (HTTP/REST, UDP v. TCP), and messaging patterns (MQTT, pub/sub, store-and-forward)
  • Familiarity with remote deployment and update mechanisms (e.g., OTA updates, A/B partitioning, configuration management, edge container orchestration)
  • Proficiency with languages: Python, Java, Javascript/Typescript
  • Experience with SQL databases
  • Experience with cloud-native architectures and services (AWS preferred)
  • A testing and quality mindset, with strong opinions on system validation, automated testing, observability, and monitoring
  • Comfort applying modern AI tools to accelerate development and improve quality
  • Strong product mindset to use technology pragmatically to solve customer problems

Responsibilities

  • Design, build, maintain and extend products, features, and functionality that solve real customer problems
  • Partner with Product, Design, and Engineering to discover and validate customer needs and technical approaches
  • Develop and extend integrations with onboard hardware devices such as headsign controllers, passenger counters, and fareboxes
  • Build and improve cloud-native backend services that manage device configuration, process telemetry data, and provide observability into fleet-wide device health
  • Implement and maintain robust mechanisms for over-the-air software deployment, configuration updates, and remote device management
  • Design testing strategies that account for the realities of hardware-in-the-loop systems including integration testing, simulated environments, and production monitoring
  • Communicate technical trade-offs, present system design proposals clearly, and document architectural decisions
  • Uplevel teammates through code reviews, pairing, and strong collaboration
View Full Description & ApplyYou'll be redirected to the employer's site
View details
Apply Now