How We Work: Thumbtack Engineering
The product, development stack and practices, and team culture
The Product
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.
Development Stack
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
Development Practices
Continuous integration
Code is deployed when merged, and feedback is collected in real time through a system managed by the Technical Infrastructure team.
Extensive documentation
Engineering keeps a well maintained wiki for all technical assets.
Pairing
Engineers often pair for a day or two to help onboard a new team member or introduce a new technology.
Shared codebase
Teams share codebases, so engineers can easily get topical feedback.
Code reviews
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.
Team Culture
Inclusion
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.
Autonomy
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.
Mentorship
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.
Learning Opportunities
We offer reimbursement for continuing education, including conferences, online courses, plus an immersion program with customer-facing teams in Salt Lake City.
Interested in learning more?
Check out open roles or get in touch at recruiting@thumbtack.com.