Senior Systems Engineer at SpotHero (Chicago, IL)
SpotHero is seeking a Senior Systems Engineer who will automate the engineering operations of and provide tier-2 operational support to our product engineering teams. You will partner with your engineering manager to ensure requirements are defined correctly and collaborate with other engineers across the organization to define solutions, ensure project deadlines are successfully met and effectively communicate with product and engineering team members and internal stakeholders. We value humility, a strong work ethic, flexibility, collaboration, technical curiosity and constant learning.
Who we are:
SpotHero is one of transportation's hottest tech companies! 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 on-the-go or in advance, 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:
- Developing software and scripts in Bash, Python, or Go using development best practices such as DRY, KISS, and TDD as appropriate.
- Automate the provisioning of new infrastructure for new applications or systems and when scaling to meet system demand.
- Engineering Enablement
- Build internal tooling and libraries that helps other engineering teams build new business value faster and better.
- You're building reusable tasks and targets for other teams to incorporate in their CI/CD pipelines.
- Support business-critical operations tooling to help our team build, deploy and monitor their applications in a complex production environment.
- Make broad changes across multiple code bases efficiently and without disruption to other teams to implement new cross-cutting concerns.
- You know when and when not to apply infrastructure as code.
- Your infrastructure is well-secured. You're familiar with AWS IAM and resource policies. You've demonstrated progress in improving our security posture.
- You help mitigate costs by determining bulk purchase opportunities and implementing them.
- Network troubleshooting, subnetting, and routing should all be required skills.
- Comfortable with AWS.
- Your networks don't contain unnecessary cruft in old DNS, old VPCs, or poorly configured firewall rules.
- Write documentation on what the squad plans to do, is doing and has completed.
- Documentation should be easily accessible and should lead to productive discussions within the squad and/or other teams.
- Identify areas for improvement and innovation within the squad ecosystem by investigating and proposing new technologies and/or best practices, and leading the charge on implementing them.
- Participate in resolving production incidents by providing Tier-2 support to our product engineering teams and troubleshoot issues in a distributed system.
- Secure and safeguard data to preserve its integrity, reliability, and availability and ensure appropriate access levels are maintained.
- Participate in an on-call support rotation.
- You have at least 7 years of hands on experience as an Engineer across multiple environments.
- Demonstrated leadership and mentorship skills.
- We value humility, a strong work ethic, flexibility, collaboration, technical curiosity, and constant learning.
- You work well in complex environments by learning new programming languages, engineering concepts and whatever else helps you get your job done well.
- Some understanding of “infrastructure as code,” “cattle vs. pets,” immutable architecture or Cloud-Native methodologies.
- Experience with small teams that move fast -- all members are expected to be able to achieve maximum results with minimal direction.
- You can write complex Bash scripts. You can quickly learn Python and/or Go.
- You are familiar with container platforms and orchestration tools such as Kubernetes, Mesos, or Docker Swarm.
- You are an expert in one of the three major cloud providers: Amazon Web Services (AWS), Google Cloud Platform (GCP) or Microsoft Azure. Preferably AWS since we use that today.
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 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 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.