A couple weeks ago I had my last day as Director of Product at App Academy. This coming Monday, I will be starting work as a software engineer at Airbnb.
Here’s the story of why I left App Academy, the tribulations of my ensuing job search, and why I decided to join Airbnb.
Disclaimer: in this blog post and the next, I’ll be speaking frankly about compensation packages I received from (larger) companies. I do this for two reasons.
First, because I believe companies often have an unfair informational advantage over candidates, and providing some transparency helps to level the playing field and shift power toward candidates. Second, because as someone earning-to-give, I already intend to write publicly about my compensation. My hope is that this transparency encourages others to give more. It also pre-commits me to my own intended donations.
My small caveat is that I won’t mention the compensation packages from very small (<25 person) startups, which includes App Academy. At very early stage companies, I suspect making compensation packages public is more likely to disrupt a company's operations than to equip candidates with useful data.
Leaving App Academy
As Director of Product at App Academy, my role was an amalgam of various responsibilities. I worked with the CEO to help shape the direction of the company, I established new programs and partnerships, I developed new educational products, I wrote curriculum, I worked one-on-one to teach students, I gave many of our CS-heavy lectures, and I contributed to our internal software engineering projects. Needless to say, I wore many different hats and learned a tremendous amount.
But it was around Christmas when I realized that my role was drifting away from software and computer science, and more toward the business side of running a coding school. I was originally attracted to the role because I wanted to immerse myself in a combination of product and engineering/CS. But predominantly, my time was getting monopolized by business and operational tasks.
I wasn’t learning as much anymore. The engineering and computer science topics that really interested me were largely orthogonal to App Academy’s bottom line. So more and more of my free time I spent reading and thinking about things that were happening at other companies.
Since back in my poker days, I’ve always had the instinct to seek the company of people who knew more than me. That relentless osmosis is part and parcel of how I quickly became a strong poker player. I’d arrived in the Bay Area not even a year ago, and already I was often the most knowledgeable person in the room.
The conclusion should’ve been obvious. I was in the wrong room.
I voiced my concerns with Kush and Ned, the founders of App Academy. As much as I loved working with them, after some deliberation, it was clear to me that it was time to move on from App Academy.
The question was, to where?
Preparing for my Job Search
I had never done an actual job search before. Because I had been hired directly by App Academy after completing the program, I didn’t have a solid resume or any projects to speak of.
So, in the free time I had available to me on evenings and weekends, I began beefing up my portfolio. First, I built out my Asteroids game, getting it presentable and fully playable. (Check it out! It’s pretty fun and fully developed now.)
Second, I made a brand new project, heavier on computer science and built in React, to show off my knowledge of front-end development. This project took quite a while to get off the ground, but the process was very satisfying.
Basically, I built an interface that would visually demonstrate local search algorithms solving the 8-queens problem.
The 8-queens problem is a classic puzzle of how to arrange 8 queens on a chess board so that none of the queens threaten one another (horizontally, vertically, or diagonally). On an 8×8 board, out of 4,426,165,368 possible configurations, only 92 configurations satisfy the puzzle. This makes it prime candidate for a local search or constraint satisfaction problem.
It’s pretty fascinating! Many of the best algorithms to solve this problem involve randomization, including iterative repair, which is by far the fastest algorithm I found. Give it a spin!
Having wrapped up my projects, I spent the majority of my free time grinding on algorithms problems and strengthening my knowledge of system design. Before long, I was prepped for the interview circuit.
It was time to start the job hunt.
I started sending out applications. The standard App Academy advice is to blast out crap-loads of applications. All junior resumes get a low base rate of responses, so the best way to maximize your chances of finding a good mutual fit is to apply widely and aggressively. Basically, treat it as a numbers game.
Yet given my success at App Academy and having been paid to do software engineering, I figured that I’d be a much stronger candidate than the marginal App Academy student. Despite the fact that I was working full time and it wouldn’t be easy to send out applications en masse, I was confident I’d be fine.
I couldn’t’ve been more wrong.
Of the 20+ applications I sent, I was rejected from every single one without so much as a technical screen. One recruiter from Udacity did actually get on the phone with me—I had pointed out a CSS error on their website in my application and uploaded a private Youtube video showing them how to fix it. The recruiter thanked me and we joked about it, only for him to later tell me they weren’t looking for anyone with my skillset. Again, without even a technical screen.
I started to worry. Was I just completely unsellable? Was my background just too all over the place to be worth anything as an engineer?
My resume was a hodgepodge, no doubt. Professional poker player to mental coach to author to programming instructor to Director of Product, with a degree in English from the University of Texas. Maybe my resume was automatically getting binned everywhere it landed.
Or perhaps, and more likely, the problem was that I was trying to get in through the wrong door. I’m reminded of a quote I recently read by Alex Banayan:
All highly successful people treat life, business, and success just like a nightclub. There are always three ways in.
There’s the First Door, where 99% of people wait in line, hoping to get in.
There’s the Second Door, where billionaires and royalty slip through.
But then there is always, always… the Third Door. It’s the entrance where you have to jump out of line, run down the alley, climb over the dumpster, bang on the door a hundred times, crack open the window, and sneak through the kitchen. But there’s always a way in.
Whether it’s how Bill Gates sold his first piece of software, or how Steven Spielberg became the youngest director at a major studio in Hollywood — they all took the Third Door.
Almost everything in my life I’ve been successful at, I’ve gotten in through that third door. Becoming a world-class poker player under the age of 18, learning how to code and getting into coding bootcamps in a single frenzied week, or getting hired into App Academy straight as a student and three months later rising up to become Director of Product and teaching their entire algorithms curriculum.
Perhaps this was another case of needing to find that Third Door.
I began plumbing my network. I had one big advantage I hadn’t yet leveraged: the students I’d taught. Many of them were working at very strong companies, though they were mostly very junior. At least with their referrals, I’d be able to crack open that window.
Every student I asked was more than excited to refer me. Finally, I had fast-tracked myself into the processes at several awesome companies: Shift, FutureAdvisor, PagerDuty, and Twilio.
I was rejected at all of them. Again, without even a technical screen.
By now I was panicking. But somehow, through the flurry of rejections, a referral from a classmate of mine who was working at 23AndMe came through. He had paired with me during our cohort and spoke very highly of me, so they scheduled me for a technical phone screen.
I was nervous, but once I got on the phone and got rolling on some concrete questions, I crushed everything my interviewer asked me. He was blown away. He told me he’d never heard as thorough of a technical analysis on this problem before, and immediately invited me to do an onsite at their headquarters in Mountain View.
I killed the onsite. And when I say killed, I mean murdered with such ruthless brutality that my children’s children will carry the sin with them. To this day, it’s the onsite that I felt most confident in. I remember pacing back and forth at the CalTrain station as I awaited my train back to San Francisco, savoring how masterfully I deconstructed each and every question they posed to me. It seemed like everyone who’d interviewed me was ebullient at how quickly and rigorously I’d answered all their questions.
Finally, it seemed like I’d cracked the code.
A week and a half later I open my inbox, and there fresh and white, a reply from my 23AndMe recruiter. The subject: 23AndMe. I open it up to read:
“Thank you for your patience and your time to meet with our SWE team. We appreciate the opportunity to consider you for employment with 23andMe. I want to update you on our search and let you know at this time we are moving ahead with another candidate.”
To be Continued…
(This is getting pretty long, so I’ll finish up the second part in a day or two.