Senior Database Administrator (Engineering Enablement League)
SpotHero is looking for a Senior Database Administrator that can shepherd the maintenance of our various databases across our products. Largely, this will mean working with PostgreSQL, but it can also mean working with Kafka, Redshift and S3. Inherent to the role is the identification of underperforming data models and queries, then developing plans to improve upon them. Day-to-day tasks for the role will include analyzing our most trafficked data-sets, writing performant SQL and working across team boundaries to spread best practices around database design and maintenance.
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.
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:
Database Maintenance
- Identify frequently used queries that are underperforming and developing plans to improve those queries.
- Routinely staying on-top of database upgrades as they become available and creating transition plans.
- Set up regular maintenance jobs that safely rebuild bloated and fragmented indexes.
- Audit existing postgres instance parameters and option groups for optimization opportunities.
Data Modeling
- Design data models with a broader understanding of underlying systems.
- 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 Hygiene
- Auditing stored data across systems to understand what data is utilized vs underutilized and bringing awareness to the state of utilization.
- Analyzing data-sets across system for consistency, duplication and error rates.
Data Governance
- Work with SpotHero’s Data Council to create policies around securing our data.
- Develop and implement plans around new and existing systems that keep us in compliance with the changing landscape of regulations on data (such as CCPA).
The following experience is relevant to us:
- We value humility, a strong work ethic, flexibility, collaboration, technical curiosity, and constant learning.
- Minimum of 6 years of related experience with a Bachelor’s degree; or 3 years and a Master’s degree.
- Minimum of 2 years of experience working with PostgreSQL.
- Strong SQL and data modeling skills.
- Bonus: Python experience.
- Hands on experience with multiple data platforms and tools (eg. S3, Redshift, Airflow, Presto, Hive).
- Collaborate with analysts to wade through structured and unstructured data within our lake to identify valuable data sets.
- Collaborate with and guide our engineers into properly modeling data to meet industry best practices.
- Ensure timeliness, availability and quality of our highest value data-sets that meets established SLOs.
- Demonstrated experience with small teams that move fast - all members are expected to be able to achieve maximum results with minimal direction.
- Demonstrated experience educating technical and non-technical individuals on the best practices around data hygiene, modeling and governance.
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 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: 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, 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.
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.