Swiftly, Inc. is a leading transit data platform on a mission to help cities move more efficiently. They are seeking a Senior Software Engineer to join a cross-functional product team, focusing on enabling transit agency customers to manage on-vehicle hardware systems and devices, while connecting cloud-native services to embedded/IoT devices.
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
- 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
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 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
- Motivated by mission-driven work and excited to improve public transit