Senior Software Engineer (IoT)

Company: Swiftly

Locations: British Columbia, Canada; Ontario, Canada; United States

Salary: $124K – $205K a year

Work arrangement: Remote possible

Employment type: Full-time

Experience: 5-10 years

Posted: 2026-11-09

Responsibilities

You will design and maintain software for onboard transit hardware while building cloud-native backend services to manage device configuration and telemetry. The role involves collaborating with cross-functional teams to validate customer needs and ensure robust remote device management and deployment.

Requirements

Candidates should have 5+ years of experience in embedded systems, IoT, or edge computing with proficiency in Linux and various communication protocols. A strong background in cloud-native architectures and a growth mindset are essential for success in this role.

Skills

  • Embedded systems
  • IoT platforms
  • Edge computing
  • Linux
  • Containerization
  • Networking
  • Serial interfaces
  • MQTT
  • Python
  • Java
  • Javascript
  • Typescript
  • SQL
  • AWS
  • Cloud-native architecture
  • System design

Benefits

  • Equity compensation
  • Medical insurance
  • Dental insurance
  • Vision insurance
  • Retirement with employer match
  • Flexible spending account
  • Home office setup reimbursement
  • Monthly cell and internet reimbursement
  • Monthly be well stipend
  • Flexible pto
  • Flexible work environment
  • Paid holidays
  • Paid parental leave

About this role

COMPANY DESCRIPTION

Swiftly is on a mission to help cities move more efficiently. We are the leading
transit data platform for agencies to share real-time passenger information,
manage day-to-day operations, and improve service performance. Today, over 200
transit agencies in 12 countries – including LA Metro, MARTA, SEPTA, and MBTA –
rely on Swiftly to improve on-time performance by up to 40% and increase
passenger information accuracy by up to 50%. The result is better service
reliability, increased ridership, and more efficient transit operations.

 

Even though Swiftly's HQ office is located in San Francisco, CA, we are open to
candidates in most locations across the U.S. as well as Ontario and British
Columbia, Canada. At this time we are unable to provide Visa sponsorship.

ENGINEERING AT SWIFTLY

Engineering at Swiftly is not only about writing code – we believe in creating
empowered product teams that work together to conceptualize new features and
bring them to life. Each team aims to strike a balance between delivering
incremental improvements, creating prototypes to test new ideas and mitigate
risks, and building scalable software using industry best practices. We’re
guided by a mission to positively impact transit riders, and we embrace humility
and intentionality in how we make technical decisions so that we best meet our
customers’ needs. 

ABOUT THE ROLE

Swiftly is looking for a Senior Software Engineer to join a cross-functional
product team enabling our transit agency customers to operate and manage
on-vehicle hardware systems and devices. Your team’s work spans technology
stacks connecting cloud-native services interfacing with Swiftly’s core data
engine to a variety of embedded/IoT devices running onboard public transit
buses, trains, and ferries. You'll work across this full vertical, writing
software that runs on edge devices in the field, building the communication
layers that connect those devices to the cloud, and developing the backend
services that configure, control, and process data from these sources.

We encourage you to apply if you meet half or more of the requirements and are
excited to learn about the rest. Above all else, we value candidates with a
growth mindset, the aptitude to learn, and strong motivation to deliver impact
to customers. If this is exciting to you, we'd love to talk.

WHAT YOU’LL DO

* 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

* Maintain and improve our physical hardware lab if local to San Francisco,
else contribute to solutions for remote development, testing, and debugging
needs

* Consistently deliver incremental value by anticipating dependencies, breaking
down work, and regularly demoing progress

* Communicate technical trade-offs, present system design proposals clearly,
and document architectural decisions

* Uplevel teammates through code reviews, pairing, and strong collaboration

* Take ownership of your code and product domain, engaging in retrospectives
and continuously improving how the team works

WHAT WILL SET YOU UP FOR SUCCESS

* Motivated by mission-driven work and excited to improve public transit

* 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 and paradigms of multiple varieties:
serial interfaces (RS-232, J1708, CAN), network protocols (HTTP/REST, UDP v.
TCP), and messaging patterns (MQTT, pub/sub, store-and-forward)

* Familiarity with approaches to remote deployment and update mechanisms (eg.
OTA updates, A/B partitioning, configuration management, edge container
orchestration)

* Interest in being hands on with code and devices, whether your comfort level
is plugging in an ethernet cable or crimping your own

* 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

* Proficiency with languages and technologies in our stack: Python, Java,
Javascript/Typescript, MQTT, SQL databases

* Experience with cloud-native architectures and services (AWS preferred)

* Strong product mindset — you use technology pragmatically to solve meaningful
customer problems

* Continuous learner who embraces emerging technologies and helps others grow

* Collaborative team player who contributes wherever needed to support team
goals

* Open to feedback (a core Swiftly value!), humble in technical debate, and
committed to blameless learning and improvement

PAY RANGE

In accordance with pay transparency laws, please see the approximate salary
ranges below.

These ranges represents the anticipated low and high end of the salary and any
on-target earnings (if applicable) for this position.

Actual salaries will vary and are based on a multitude of non-discriminatory
factors including final role leveling decisions, a candidate’s relevant work
experienc...

See all my matches — 2 min, free

More Software Engineer Jobs

459 new Software Engineer jobs were posted this week.

All Remote Software Engineer Jobs →

Get new Software Engineer jobs by email — start free

Other Jobs in British Columbia

Before you apply, check your resume against ATS filters for free.