How We Work: Thumbtack Engineering

The product, development stack and practices, and team culture

Thumbtack People Team
Life @ Thumbtack
2 min readNov 29, 2017

--

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.

Mobile Engineer Heidy Hernandez Breton chats with a coworker.

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.

--

--

Thumbtack People Team
Life @ Thumbtack

We spend our days empowering people from all walks of life to do their work with joy and purpose. Read more about the work we’re doing, and how we’re doing it!