Staff Engineer, Backend (Operator League)

Engineering

Chicago, IL, United States

Toronto, Ontario, Canada

Position Details

SpotHero is looking for Staff Backend Engineers to join the Operator League for our Operator Panel Squad - we focus on providing guidance and data driven insights to help our Operators better run their business!

The Operator 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 are 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.

 

You have strong coding skills - you can take on medium to large features with little to no direction from others. You are starting to understand how system design/architecture play into the larger picture of your software craft. You have multiple examples of successful projects that you have worked on and a couple of failed projects that taught what to look out for in future projects.

 

You will collaborate with management on vision setting, technology direction, architecture, and best practices. The Staff Engineer will contribute to the codebase following set standards and successfully completing stories and have the ability to provide support for any part of the codebase; also able to understand the codebase with minimal direction from others. You will have ownership of code standards, unit and integration testing practices, and technical roadmap. You are a technical educator not a technical dictator.

You will work with the Product Management team to ensure requirements are defined correctly. Ability to successfully architect complex distributed systems and collaborate with more junior engineers to ensure proper implementation of design. You will be an educator who can take the complex and explain it in terms that all audiences understand. Your greatest work will be through others, as you help people level up their technical chops.

Key Responsibilities (What will you do?)

  • Identify, design, develop, test, and release high-quality functionality as efficiently as possible.
  • You will be an educator, a mentor and coach. People will come to you for advice because you are approachable and you are able to convey your points in a language that they understand/
  • Build and maintain tools and services related to product/engineering squad’s goals.
  • Work collaboratively with the rest of the Engineering team to deliver quality products with a focus on speed, security, and analytics.
  • Independently identify areas for improvement and innovation within the squad ecosystem, and lead the charge on making those changes.
  • Be a key hands-on contributor to the design and implementation of new products and features through the entire stack.
  • Ownership of a codebase, maintaining it and ensuring it runs consistently.
  • Collaborate with all senior and staff level engineers to explore options and help define architecture and design across the engineering organization.
  • Ability to move between squads to devise architecture and assist projects in moving forward.
  • Educate Software Engineers to work with Distributed architecture and System Design across Systems.
  • Function as a leader within the engineering department, providing mentoring and training to all levels of engineering team members.
  • Function as an internal expert for technology specialty and educate the team on new and changing technologies.
  • Be an industry thought leader, participating in public speaking events and meetups to showcase SpotHero as a leader in technology.
  • Secure and safeguard data to preserve its integrity, reliability, and availability and ensure appropriate access levels are maintained.

The following experience is relevant to us:

  • We value humility, a strong work ethic, flexibility, collaboration, technical curiosity, and constant learning.
  • Production experience with expert Kotlin Backend skills
  • 10+ years experience as an engineer across multiple environments.
  • Strong knowledge of Python and Django
  • Strong experience working with relational databases like Postgres and MySQL
  • Demonstrated leadership and mentorship skills.
  • You are comfortable in considering the right Architecture for the right job, as opposed to forcing one approach to all problems
  • Knowledgeable of object-oriented and/or functional programming patterns and paradigms
  • Knowledge of various API paradigms such as REST and RPC and can implement them within the services you are developing on.
  • Ability to work in all areas of the tech stack, including infrastructure through the application layer to client libraries.
  • Ability to provide support for any pieces of codebase owned and also understand the codebase with minimal direction from peers or more senior engineers.

Technology we use:

  • 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 GoLang. We also use Docker, deploy our apps via Kubernetes. We use Kafka for asynchronous-, and gRPC for synchronous service-to-service communication. 

  • Our Front End Stack is: 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 Presto. We use Airflow and Spark for ETL, as well as do some stream processing (Kafka Streams and Spark at the moment). Our Model pipeline uses scikit-learn, pandas. Our analysts utilize Looker as our Business Intelligence tool. And we use Quicksight for Dashboard on our external Data Products.

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

 

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 95% 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 and great work/life balance – We value and support each individual team member.
  • Annual parking stipend – we help people park!
  • The opportunity to collaborate with fun, innovative, and passionate people in a casual, yet highly productive atmosphere.
  • A workplace recognized as the Best Consumer Web Company by Built in Chicago, Top Company Culture by Entrepreneur, a Top Workplace by Chicago Tribune, and one of Chicago’s Best Places to Work for Women Under 35 by Crain’s Chicago Business. 

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.

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.

50M+Cars Parked

SpotHero ©2022. All Rights Reserved.