Engineering Careers at SpotHero

Transforming an Industry with Technology

 

SpotHero isn’t just a parking reservation service – we’re flipping mobility on its head. As cities are getting smarter, urban transportation is in the middle of a major transformation, ripe for disruption. At SpotHero, we’re at the helm of this sea of change, with a suite of tech-driven offerings that are powering a comfortable, convenient driver experience for millions of people every single day.

To achieve our mission, we need engineers to help build an intricate web of parking hardware and software that is deployed to every parking garage and lot in the country. We need thought leaders in distributed systems and data science. We need tinkerers that love reverse engineering something, and building it back up to be 1000x better. We move fast, without sacrificing architecture. We’re building an HA system that doesn’t sleep – and we’re working hard to deliver on that.

Join our team and help build products that get people where they want to go, using the devices, apps, and platforms they prefer, so that they (and you) will never have to think about parking again.

What Employees are Saying

I joined SpotHero because I was looking to join a close-knit team that could have fun while working on challenging things. It was also really important to me that we "fail fast", learn from our mistakes, and use what we learned to grow individually and as teammates. - Boiar, Senior Engineer II

I've been at SpotHero for over four years because we pump out great software that people love while staying at the leading edge of the open-source software technology landscape. There is always opportunity to learn and apply new languages and technologies. - Nick, Software Engineer

Our Tech Stack

Python

Kotlin

Swift

Golang

Django

React

Postgres

Kafka

Kubernetes

Docker

AWS

Humble Brags

Best Places to Work Chicago 2021

Built In Chicago

Moxie Award Winner 2021

Moxie Awards

Tech Innovator Awards 2021

Built In Chicago

Engineering Leadership

Engineering Leadership at SpotHero

Drivers League
Alan Deitch, Senior Director of Engineering
Ryan Perkins Mata, Engineering Manager
Ieshe Washington, Engineering Manager
Robert Stewart, Engineering Manager
Open Role, Director of Engineering, Mobile Apps
Open Role, Senior Engineering Manager (Verticals)
Facility Management League
Lynette Midy, Director of Engineering
Dave Van Noten, Senior Engineering Manager
Open Role, Engineering Manager (Integrations)
Engineering Enablement League
Open Role, Director of Engineering
Ashwin Sawh, Senior Engineering Manager
Will Atlas, Squad Lead
Reporting, Insights & Prediction League
Open Role, Director of Engineering
Geoffrey Hunter, Data Science Lead
Doug McFarlane, Business Analytics Manager
Open Role, Engineering Manager (Data Engineering)
Engineering Operations
Julie Fouts, Agile Leader
Eric Brooke, Chief Technology Officer

Engineering Structure

The Engineering Department is broken up into Leagues. Within each League, there are multiple Squads with a team of diverse humans and engineers. Each League is led by a Director of Engineering:

Leagues and Squads at SpotHero

Drivers League

The Drivers League at SpotHero is responsible for all aspects of the driver’s experience. This league is responsible for building Heroic experiences on both the web (desktop and mobile) and native mobile apps (Android & iOS). We don’t stop there, we also strive to create a painless experience while parking at garages. This League cares about quality and SpotHero’s value of #GiveDriversTheRightOfWay, which means to us that we take the Hero in our name seriously, and we go the extra mile to make sure our drivers have an experience we’re proud of.

Our Front End Stack is: Frontend is a React Single Page App (SPA) that runs on Node.JS. We build in React/Redux, Sass, Jest/React Testing Library/Cypress, and Webpack. We maintain a private npm repository with shareable UI components, utility functions, Babel/ESLint/Prettier configurations, and custom tasks.

Our Android Stack is: Kotlin and XML (standard for Android apps) using MVI architecture (still working on refactoring old views), our database layer is built in Realm. Bitrise for CI/CD. We also make heavy use of Dagger, RxJava, Espresso (testing). Network stack uses Retrofit.

Our iOS Stack is: Swift using MVC architecture, CoreData for Local Storage, XCUI for UI Testing, XCTest for Unit testing, SPM for Package Management, Fastlane for app automation and build scripts, Bitrise for CI/CD, and Sentry for crash reporting. For more info, see iOS Overview.

Our Back End Stack is: Monolith using Django/Python/PostgreSQL. We are moving our Monolith to a Modular Monolith, using Domain Driven Design. We also use Docker, deploy our apps via Kubernetes. We use Kafka for asynchronous-, and gRPC for synchronous service-to-service communication.

Facility Management League

The Facility Management League is the connected backend Kotlin/JVM ecosystem that enables Drivers’ to experience seamless entry into each parking spot! We are the teams that make this two sided marketplace come to life! The life and blood of SpotHero is our Integrations Squads who ensure data flows between us and our Parking partners. We provide best in class reporting, visual analysis and management tools for Owners to make their parking spot available on our platform and services that process secure and seamless payments. We know which bits and bytes to send to garages to make it easy for you to park. This League is adaptive and resourceful and we #DontGetStuckinTraffic, which means we love solving gnarly problems.

Our Back End Stack is: Mostly Kotlin/JVM but we also work with Monolith using Django/Python/PostgreSQL. We are supporting the moving of our Monolith to a Modular Monolith, using Domain Driven Design. When relevant we extract specific domains to Services currently using Kotlin. We also use Docker, deploy our apps via Kubernetes. We use Kafka for asynchronous-, and gRPC for synchronous service-to-service communication. Our Integrations are on .NET Core, moving to Kotlin.

Engineering Enablement League

The focus of this league is to support and raise the quality of the work of all engineers in our Leagues and Squads and fellow SpotHero employees across all departments. Whether it be scalability, tooling, automation or security, the Engineering Enablement League (EEL) is focused on making it easier for other engineers to add functionally to their platforms. EEL also owns our Search functionality and provides our SpotHero API to our partners.

Our Back End Stack is: Monolith using Django/Python/PostgreSQL. We are moving our Monolith to a Modular Monolith, using Domain Driven Design. When relevant, we extract specific domains (e.g. Search) to Services currently using JVM/Kotlin and Go. Kafka fulfills out asynchronous communication needs-, and gRPC for synchronous service-to-service communication. Utilizing ConcourseCI, we deploy our Docker images into our Kubernetes clusters.

Our DevTools Stack is: AWS+Kubernetes for hosting. Terraform + Helm Charts for IaaS/Deployment. ConcourseCI for CI/CD. Prometheus, Alertmanager, VictorOps for team alerting. We’re starting to work on multi-region available services.

Reporting, Insights and Prediction League

This League specializes in operationalizing data (owned by other areas of the business) to assist SpotHero and our Drivers with information to empower them to make decisions. To also support our external partners journey from data, to discovering useful insights and eventually prediction. The primary clients – Business Analytics (internal and external), Marketing, Data Science, and SHIQ (SpotHero IQ, our Dynamic Pricing data product squad)

Our Data Stack is: We use Redshift as our Data Warehouse and S3 as our Data Lake with Fivetran, Airflow, Kafka and Kafka Streams and Spark serving as our primary platforms for both batch and real time ETL. Trino, sitting on-top of our S3 cluster, enables querying our Data Lake. Our Data Science models are primarily developed using Python-related libraries (ie. scikit-learn, pandas). Our analysts transform our data into usable tables and views using python executed SQL select statements, and use Looker as our BI Tool to serve both data sets and dashboards to our stakeholders. And we use AWS Quicksight for Dashboard on our external Data Products.

Open Positions

Ready for the ride of your life? If working hard to execute on a big vision excites you, there’s no better way to make an impact and accelerate your career. Put the pedal to the metal by applying to join our rapidly growing company today!

Don’t see your position?

We’re always looking for talented and enthusiastic team players, so submit your resume here!
Questions? Email jobs@spothero.com.