SpotHero

Senior Data Engineer

Chicago, IL Toronto, Ontario
Android Shell Django .NET React SQL Git PostgreSQL MySQL Scala Swift Machine Learning API Streaming Docker Go Kafka Python Kubernetes Kotlin gRPC Redis Spark Java Terraform
This job is closed! Check out or
Description

Who we are:

SpotHero is a parking reservation service that helps drivers find and reserve parking at thousands of lots and garages in all major cities. We are on a mission to bring the parking industry into the future through technology. Drivers in the U.S. and Canada use the SpotHero mobile app or website to reserve convenient, affordable parking on-the-go or in advance, and parking companies rely on us to help them reach new customers while optimizing their business. We combine hard-won industry knowledge, a large parking demand and supply dataset, and solid software engineering to serve both sides of the parking market.

 

Senior Data Engineer @ SpotHero:

SpotHero is seeking a Senior Data Engineer to join the Data Engineering squad. This squad interacts with data consumers such as Data Science, Marketing, Engineering, and Business Analysts to provide data platform solutions that meet their day-to-day needs and long term vision.

As a Senior Data Engineer, you’ll focus heavily on backend application development with a focus on building reusable infrastructure services for our stakeholders to enable them to model, store, access, process, and analyze SpotHero’s data. You’ll also design, instantiate, observe and maintain infrastructure services, both AWS-managed and open source solutions. As a Senior Data Engineer, you’ll influence the technology choices and patterns established for data-heavy workloads at SpotHero.

 

What will you do:

  • Work with our Analytics, Data Science, Marketing and other squads to understand their data storage and processing needs.

  • Be a key hands-on contributor to the design and implementation of our data platform solutions from the infrastructure layer up to the API.

  • Model and architect our data in a way that will scale with the increasingly complex ways we’re analyzing it.

  • Build robust pipelines that make sure data is where it needs to be, when it needs to be there.

  • Build frameworks and tools to help our software engineers, data analysts, and data scientists design and build their own data pipelines in a self-service manner.

  • Performance testing and engineering to ensure that our systems always scale to meet our needs.

  • Be a key member of the team focused on hands-on contribution to the implementation and operation of our data platform.

  • Contribute to more junior team members' development, via thoughtful reviews and your own exemplary work.

 

Key Responsibilities: 

  • Data Modeling/Architecting

    • Design data models with a broad understanding of underlying systems.

    • Create approachable, thorough documentation of data models describing how to access their data in a performant way.

    • Build performant models that are consistent with accompanying documentation that are built with quality in mind.

    • Consult with stakeholders on the best practices for creation and deployment of data models and data flows.

  • Data Processing

    • Define and enforce service level agreements between products owned and stakeholders, including configuration of monitoring and alerting

    • Understand data lineage and dependencies between data pipelines.

    • Design, implement, and maintain complex data processing pipelines which involve multiple integration points, including those which rely on distributed systems like Kafka and Spark.

    • Influence data processing and infrastructure practices across all of SpotHero.

    • Determine the best architecture, batch or streaming, for applications being built.

  • Working with Infrastructure

    • Evaluate different architectures for new systems or changes to the company’s existing systems, and propose thorough, specific designs for implementing those architectures.

    • Provision new infrastructure in cloud environments.

    • Deploy and manage containerized applications running in Kubernetes.

    • Identify and remedy security, cost, and maintainability issues in the team’s infrastructure.

    • Manage and integrate autoscaling, logging, monitoring and alerting for the team’s systems.

 

Your experience:

We care about your abilities, not how you gained them.

You might demonstrate the capabilities below through any combination of relevant professional experience, experience in a research setting, formal education, self-guided learning, open source contributions, or public speaking / writing / teaching experience.

  • You are able to design and implement high-quality software in Python.

  • Experience using SQL to read and manage data.

  • Experience with Airflow, Luigi, Prefect, or other ETL scheduling tools.

  • You have experience provisioning and managing infrastructure with infrastructure-as-code tools (we use Terraform, but experience with similar tools like CloudFormation, Pulumi, or SaltStack is totally fine!)

  • Hands-on experience using multiple data platforms and tools (e.g. Airflow, Hive, Kafka, Postgres, Redshift, S3, Spark, Trino), and experience deploying, monitoring, and maintaining at least one of them

  • Experience designing and implementing software (pipelines, services and client libraries) that is run in Docker containers, automatically tested on a continuous integration (CI) system, and versioned in git. You have experience writing shell scripts, Makefiles, or other configuration to glue together these components.

  • Ability to deploy containerized software in Kubernetes, or sufficient experience in similar technologies like Apache Mesos or Amazon ECS.

  • Demonstrated experience designing and supporting technology intended to be used by other stakeholders.

  • Strong ability to communicate on both business and technology subjects.

 

Nice to Haves:

  • Message driven or streaming architectures, such as those with Kafka, Spark, Flink.

  • Postgres, MySQL, or other RDBMS experience.

  • Redshift, Presto, or other MPP database experience.

  • Experience with at least one JVM language (we use Kotlin, but Java or Scala experience works).

  • Experience with cloud data pipeline services like dbt Cloud, Fivetran, or Hightouch.

 

 

Technology we use:

  • 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 isSwift 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.

  • 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 to Services currently using Java, Kotlin and Go. 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 a .Net CORE, moving to Kotlin.

  • Our Front End Stack is: 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 Data Stack is: Our Monolith Database is Postgres and Redis for caching. We also use Redshift as our data warehouse and S3 as our data lake. The data lake is queried using Trino. We use Apache Airflow, Python, and Apache Spark for ETL. For streaming data, we use Apache Kafka managed by a vendor and use Kafka Connect, Kafka Streams, and Spark Streaming for stream processing. All machine learning work is done in Python, using the PyData ecosystem. Our analysts use Looker for internal-facing business intelligence reports, and Amazon Quicksight for external-facing data visualizations.

  • Our Dev Tools 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.

 

Seeking Candidates in: 

  • Chicago, IL 
  • Toronto, ON

 

What we are offering:

  • Career game changer – A truly unique experience to work for a fast growing startup in a role with unlimited potential for growth.
  • Excellent benefits –
    • In the US we cover up to 90% of Medical Premiums, 50% of Dental & Vision Premiums, company-sponsored Life Insurance, 401K, and generous parental leave. 
    • In Canada, we offer Medical (prescription drug and paramedical coverage), Dental, Vision, Life Insurance, STD, and LTD. 
  • Flexible PTO policy, generous parental leave, and great work/life balance – We value and support each individual team member.
  • Learning Budget + Udemy license - We support the professional and personal growth of our people by providing everyone with learning resources and development opportunities. 
  • Annual parking stipend (duh – we help people park!).
  • The opportunity to collaborate with fun, innovative, and passionate people in a casual, yet highly productive atmosphere.
  • A company that cares about its employees’ unique backgrounds. From Employee Resource Groups to Unconscious Bias Trainings, we want each and every employee to feel like SpotHero is a place where they can bring their whole selves to work.
  • A workplace recognized as CityLights award winner by 18712023 Best Places To Work by BuiltIn, and recipients of the Best Company Culture, Best Company for Women, and Best Company for Diversity awards from Comparably!

 

Steps to apply: Please include any GitHub account, LinkedIn profile, and any project that you’re particularly proud of. We love seeing work that others loved working on.

 

 

At SpotHero, we Respect Fellow Drivers by providing an inclusive interview experience for everyone, including people with disabilities. We are happy to provide reasonable accommodations to candidates in need of individualized support during the hiring process. Please let our team know of your need when you apply or as you begin interviewing with our team.

SpotHero is an equal opportunity employer. We know that a diverse workforce is the strongest workforce, and are committed to building and supporting an inclusive environment for all.

Additionally, because we want to Remember to Signal, if you choose to provide us personal information in connection with a job application, please review our Applicant Privacy Notice which provides details about what information we collect and process about you in order to consider your candidacy.

PLEASE NOTE: This position is ineligible for visa sponsorship. To be considered for this role, you must be legally authorized to work in the US or Canada and not require sponsorship for employment now or in the future.

SpotHero
SpotHero
Consumer Developer APIs Marketplace Mobile Apps Parking Transportation

0 applies

121 views

Other Jobs from SpotHero

Data Engineer

Chicago, IL Toronto, Ontario

There are more than 50,000 engineering jobs:

Subscribe to membership and unlock all jobs

Engineering Jobs

50,000+ jobs from 4,500+ well-funded companies

Updated Daily

New jobs are added every day as companies post them

Refined Search

Use filters like skill, location, etc to narrow results

Become a member

🥳🥳🥳 223 happy customers and counting...

Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.

Cancel anytime / Money-back guarantee

Wall of love from fellow engineers