SpotHero is looking for Senior Backend Engineers to join the Facility Management League - we build services that make Drivers’ experience seamless as they enter each Facility!
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.
You will have over five years of engineering experience, worked at several companies as a software engineer, and are on your way to becoming an Expert or a Polymath in Software Engineering in Java/Kotlin.
You are an effective problem solver, with strong coding skills and multiple examples of successful projects that you have worked on and a couple of failed projects that have taught you what to look for in future projects.
You proactively seek areas that can be improved and have demonstrated the ability to take initiative independently. You are able to write large size features and components, tackle all types of bugs and also coach engineers on how to solve simple bugs.
You consistently write informative documentation on work that your team will do, is currently doing, or has completed, and are proactive in soliciting feedback within your team and outside of your team. You are practicing the ability of providing feedback on anyone’s design documentation and feedback on code for any project within your technical discipline. You are an advocate for automation and act on improving the quality of the stacks and services you work on, beyond just testing.
You will work with the Product Management team to ensure requirements are defined correctly. You will be an educator via pull-requests who can help peers understand better or different software patterns. Your greatest work will be through delivering high quality software that make our products performant and resilient.
What will you do:
- Identify, design, develop, test, and release high quality functionality as efficiently as possible.
- Work collaboratively with the rest of the Engineering team to deliver quality products with a focus on speed, security, and analytics.
- You consistently write informative documentation on work that your team will do, is currently doing, or has completed, and are proactive in soliciting feedback to ensure that it is helpful for anyone in product and engineering.
- You present your work at Sprint Reviews and Engineering Demos.
- You proactively seek areas that can be improved, document tickets and follow through on socializing and executing those improvements.
- You deliver features/quality code and you are one of our top contributors.
- You are able to break down a complex problem into manageable chunks.
- You assist the Product and Engineering Managers in estimating all of the cards of your discipline at Sprint Planning and Grooming meetings.
- You approach all engineering work with a security mindset.
The following experience is relevant to us:
- We value humility, a strong work ethic, flexibility, collaboration, technical curiosity, and constant learning.
- 5+ years experience as an engineer across multiple environments.
- You are comfortable in considering the right Architecture for the right job, as opposed to forcing one approach on all problems.
- Knowledgeable of object-oriented and/or functional programming patterns and paradigms.
- Relevant Tech Stacks to SpotHero
- Production Experience and strong skills with Python/Django OR
- Production Experience and strong skills with Kotlin Backend Services OR
- Ability to work in most 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.
- Proven ability to work on implementation independently.
- Developing experience working with relational databases like Postgres and mySQL.
- Knowledge of various API paradigms such as REST and RPC and can implement them within the services you are developing on.
Don't check all of the boxes? Please still apply! We love getting to know others and how we can help you grow at SpotHero.
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 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 https://spothero.atlassian.net/wiki/spaces/MOB/pages/857310934/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. 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 Integrations are on a .Net CORE, moving to Kotlin.
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 90% of Medical Premiums, 50% of Dental & Vision Premiums, company sponsored Life Insurance, 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.
- Our award-winning culture has received recognition from Built In’s 2021 Moxie Awards, as a 2021 Best Places to Work in Chicago, Top Company Culture by Entrepreneur, 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.
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.