Taro Logo

Senior Software Engineer Interview Experience - San Francisco, California

August 18, 2023
Positive ExperienceNo Offer

Process

I applied through a recruiter. The process took 3 weeks.

I recently flunked an entire interview sequence for a Senior Software Engineer role at Tailscale and thought it might be useful to recap the experience for other candidates coming down the candidate chute. Unlike FAANG or corporate job interviews, Tailscale feels like a relatively small startup, and these interviews were almost entirely stress-free. Tailscale only recently hired their first Apple engineer (in the middle of 2023), and his job is to work on modernizing the macOS app (which is currently just an item in the menu bar), as well as updating the iOS app, and there's a tvOS version in the pipeline as well. On the drawing board, the macOS app needs a preferences and settings screen, plus a way to manage multiple accounts (e.g., personal vs. corporate?). You'll see the Go language referred to quite a bit--the common layers (such as Wireguard) are built with Go, and while it's not expected to know the programming language coming in the door, you'll likely learn Go quickly as you get established at Tailscale.

In terms of working there, the roles are remote, so you'll likely be working alone quite often. One of my interviewers mentioned that there are a lot of pod (or subteam) meetups (I'm assuming virtual--via Google Meet). Thankfully there are definitely occasional physical meetups as well, such as company meetings in Banff or New Orleans. For my experience, my interviews consisted of a recruiter discussion, a talk with one of the founders, then two mostly culture-focused interviews with two separate engineers (a backend engineer, IIRC) and that new-ish Apple-focused engineer. The last interview--the one that got me disqualified--was a slightly longer one-hour technical deep dive with the Apple engineer (and the founder I first spoke with shadowing, but mostly staying silent and hidden during the Google Meet conference call).

The technical portion had me designing a macOS app from scratch in my own Xcode IDE (while screen-sharing), then adding in a share extension (a standard template for sharing content between apps which any Apple developer can find in Xcode) and crudely passing signals from the share extension back to the main macOS demo app. Where I believe I got disqualified was:

  • I didn't quickly recall Xcode Application Groups, which can be used by applications (sandboxed or not) to share UserDefaults (specifically the init.suiteName: functionality).
  • Despite the interviewer insisting it wasn't a problem, I never fully got the desired sharing functionality working within the 55 minutes of time we were talking.

In any event, I prepared for my interviews by looking at the content of the Tailscale website describing its functionality, plus there's a surprisingly active sub on Reddit for Tailscale with passionate customers and users, plus a few brave staff members hanging out and answering questions. I would also recommend doing a general refresher on domain knowledge (in other words, I didn't get hit with any LeetCode style questions whatsoever), though it would've been hard for me as a macOS developer to predict getting hit with an Application Group implementation project.

So anyways, I finished the last interview feeling relatively positive; but after more than a week of waiting to hear back from the recruiter, I knew my candidacy was as dead as my optimism. Hopefully these notes will help you out. If you're going for an Apple-focused role, hopefully my specific feedback might help you to land that job (assuming they don't read this and swap out the technical challenge). And if you're going for another engineering role, I hope I eased your mind about their interviewing style--they're not looking to demolish you, but you do need to know your stuff.

Questions

Design a macOS application which includes a share extension that triggers a change in a label of the macOS application. One answer.

Was this helpful?

Interview Statistics

The following metrics were computed from 1 interview experience for the Tailscale Senior Software Engineer role in San Francisco, California.

Success Rate

0%
Pass Rate

Tailscale's interview process for their Senior Software Engineer roles in San Francisco, California is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive100%
Neutral0%
Negative0%

Candidates reported having very good feelings for Tailscale's Senior Software Engineer interview process in San Francisco, California.

Tailscale Work Experiences