SpotHero is seeking a Backend Engineer to join the Operator League for the Integrations Squad - we build services that make Drivers’ experience seamless as they enter each Facility!
You will have at least 4 years of engineering experience, worked as a software engineer and have become an experienced in Software Engineering in Kotlin (or Java).
You have strong coding skills, with multiple examples of successful projects that you have worked on and a couple of failed projects that taught you not to build a “perfect” ivory tower that no-one wants to use.
The Backend 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 will work with the Product Management team to ensure requirements are defined correctly. Ability to successfully design sophisticated 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.
Who we are: At SpotHero, we work as a team to empower people to get everywhere, easier! We’re rapidly growing with the mission of bringing the parking industry into the future through technology. Drivers across the nation use the SpotHero mobile app or website to reserve convenient, affordable parking in advance, on-the-go or through their connected cars, and parking companies rely on us to help them reach new customers while optimizing their business. We connect the dots with cutting-edge technology, delivering value to both sides of this exciting, evolving marketplace.
What will you do:
- Identify, design, develop, test, and release high quality functionality as efficiently as possible.
- Build and maintain tools and services related to product/engineering squad’s goals.
- Ownership of a codebase, maintaining it and ensuring it runs consistently.
- Collaborate with teammates on setting technical guidelines, system design, and best practices.
- Contribute to the codebase by adhering to set standards and completing tasks efficiently.
- Assist in understanding various parts of the codebase and provide support when needed.
- Partner with the Product Management team to accurately capture requirements.
- Participate in architecting distributed systems and guide other engineers in their implementation.
- Be a mentor and guide, breaking down complex concepts for various audiences.
- Engage actively in the engineering ecosystem, collaborating with senior and staff-level engineers.
- Help innovate and optimize within the squad environment.
- Play an active role in product and feature design across the tech stack.
- Maintain and nurture a specific codebase, ensuring its consistent operation.
- Stay updated with new and evolving technologies and apply them when beneficial.
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.
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 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.
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.
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.