TackTern Series: My Summer as a Thumbtack Software Engineering Intern

Thumbtack People Team
Life @ Thumbtack
Published in
4 min readSep 29, 2021

By Zoli Csaki

This past summer, I interned as a software engineer on the Customer Growth team. Coming into the internship, I had no clue what kind of software engineering I wanted to specialize in and did not know what work I was going to be doing. But throughout this summer, I was able to explore many different branches of software engineering and have a blast along the way.

Projects

Onboarding as a software engineer for such an immense codebase was a daunting experience. There seemed to be millions of lines of code, endless files, new languages and tools I had never heard of. But throughout my first few weeks, my mentor taught me about Thumbtack’s development cycle and how to navigate the codebase. Within the first few days, I was assigned an on-boarding project. The idea was to help me get my feet wet by fixing incorrect links on the mobile website that were linking to the customer Thumbtack app on the app store, instead of the pro app.

After finishing my on-boarding tasks, I started working on migrating the backend of the cost pages on the Thumbtack site to be served by the micro-service architecture GO backend, instead of the legacy PHP monolith that was being used. The backend of these pages load information about how much different pros cost and is structured such that the same code loads information for all the different categories on Thumbtack. One example of such a cost page is the house cleaning cost page. In order to tackle this project, I had to learn PHP, GO, React, GraphQL and Thrift on top of already knowing Javascript, HTML and CSS. I designed a schema that would provide all the text and information that needs to be displayed on the top section of the page. Then, I simplified the frontend to display the information based on the newly served schema data. After this, I wrote code in GO to use the backend micro-services to generate the data for all the cost pages. With my changes, the top section of the cost pages are now served with a simple graphQL call to the backend.

After this, I started working on building a recommended pro list on the Thumbtack App’s explore page. Currently, the explore page only shows categories; however, the idea of this project is to predict a category the user would be interested in and then generate a list of pros from that category. This project gave me the opportunity to scope out tasks and participate in the design of the feature (The pro list recommendation algorithm is pictured on the right).

When implementing the pro list, I interacted with many of the main aspects of Thumbtack’s backend, such as the neural network driven recommendation system and the pro list generation API. I was humbled by the complexity of the website’s backend and the elegance of Thumbtack’s software design patterns. I am still working on this project and am hoping to ship it before the end of my internship!

My journey at Thumbtack

Starting from the first recruiter phone call to the interviews, Thumbtack’s recruitment process was streamlined. I went from being treated like a worthless application spammer to feeling like the queen of software engineers. Thumbtack’s hiring process featured incredible communication, interview prep calls, fair technical interviews, and chats with engineers on the team. Starting from day one at the company, everything was incredibly well organized and all the people I met were genuinely friendly. I got to participate in all the meetings, access all of Thumbtack’s codebases and even got to deploy code to the live website multiple times a week.

Thumbtack did a great job connecting employees and interns by hosting fun events. Every few weeks, there would be social events such as fun offsites, including terrarium building, game night and cooking ramen. Even though this was taking place towards the tail end of the pandemic, I was also able to meet my team in person!

On the first day, I was paired with a mentor who I met with every day. My mentors became my closest contacts, who answered my ceaseless questions, reviewed my code, and became my friends. A huge thank you to the university recruiting team along with my mentors and managers Qihang, Wynn and Matt.

--

--

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!