Thumbtack has the best software engineering interview process I've ever seen. It's challenging but very thoughtfully designed and friendly. My advice for candidates is to be open and discuss your thinking as you go. The engineers at Thumbtack try to be helpful and won't ding you for asking questions, admitting that you're stuck, or spitballing ideas and partial solutions. Overview: One coding challenge, one 1-hour phone interview, half-day onsite interview. The phone interview was interesting in that it was the only one in which I was required to test my code on the spot. The interviewer was engaged the entire time and was very helpful. The problem was moderate in difficulty. The onsite was similar to the phone interview, with four 45-minute sessions and questions ranging from moderate to difficult. Again, the interviewers were very engaged and the process was extremely flexible. I could choose to use any combination of whiteboarding and coding on my laptop in order to solve the problems—whatever I found most productive. This helped me keep my thoughts straight and focus on problem solving. They were there for me to talk through my thinking and ask me helpful questions. Whenever I was coding on my laptop, it felt a lot more like pair programming than an interview, with the interviewer letting me know whenever I made a typo or logic error. Despite the fact that one of the interviewers was a PhD and the others were experienced systems engineers, they were extremely friendly and never intimidating. Plus the workspace is amazing.