How We Work: Thumbtack Engineering
The product, development stack and practices, and team culture
Thumbtack is a two-sided marketplace that connects customers with local service professionals — from landscapers to DJs — to help customers get any project done. Thumbtack also helps pros grow their businesses by connecting them with motivated customers and allowing pros to focus on their passion.
We’ve reached the stage where Thumbtack Engineering can focus on building new features for high growth, while also rewriting legacy code to meet today’s standards. Our current tech stack is:
- Frontend: Angular migrating to React
- Backend: PHP with Go and Scala backend services
- Mobile: Obj-C moving to Swift; Java moving to Kotlin; backend in Python
- Database: Postgres, DynamoDB, and Elasticsearch
- Data Infrastructure: Cloud Dataproc + Scala/Spark, BigQuery, Airflow
- Infrastructure Provisioning & Management: Terraform, GCP Deployment Manager, Puppet
Code is deployed when merged, and feedback is collected in real time through a system managed by the Technical Infrastructure team.
Engineering keeps a well maintained wiki for all technical assets.
Engineers often pair for a day or two to help onboard a new team member or introduce a new technology.
Teams share codebases, so engineers can easily get topical feedback.
Code is reviewed before deployment by all engineers whose code is potentially affected.
No QA team
Engineers are expected to test their own code, which promotes ownership.
No weekend debugging
No code is shipped after 3pm on Fridays.
All team members on a project are involved at every stage, from planning through completion, and good ideas are welcomed from anyone. We cultivate a culture of openness and humility that values diverse viewpoints.
Sub-teams move at their own pace using the processes and tools that work best for them. Decentralized, robust data allows individuals to run tests and make informed decisions.
Reasonable work hours
We respect individuals’ work-life balance needs. Engineers are free to determine their own work schedule, as long as their commitments are met. Each team has an on-call rotation to handle after-hours emergencies.
Each engineer is paired with a mentor when they join and a culture of constant feedback and question-asking supports learning from peers at every experience level.
We offer reimbursement for continuing education, including conferences, online courses, plus an immersion program with customer-facing teams in Salt Lake City.