I've been writing the ebook thetechresume.com on the side for a few months, and launched it 13 days ago.
In this 13 days it made $13,000, and $18K since I started, with more than 2,000 customers.
This is about 13x what I expected. Thread on how it got here.
It all started with COVID, layoffs happening across the tech industry, and me wondering how I can help. I offered to do a few resume reviews, being a hiring manager myself:
I thought I'll get a handful of responses. I got 300+. There was no way I could give thorough feedback on all of it. So I decided to scale myself: do in-depth review of the first 50, take notes, then send those compiled notes to others. Here's that PDF: thetechresume.com/samples/origin…
I kept getting more requests. I was already in the middle of writing my first book - blog.pragmaticengineer.com/book/ - and I figured I could write a (short) ebook on resumes, do a dry run for my book, and help others.
Wrote, got feedback from readers, reached out for feedback to industry veteran hiring managers and recruiters, wrote some more, and created a DIY landing page on the way. The beta raised $3,500, all of it (now) donated to @hackyourfutures, @DiversifyTechCo & a NZ STEM org.
Getting ready for launch, I redid the website. Note to self: buy a template next time, over building your own
2 weeks ago, I launched. I did a launch on Twitter, LinkedIn & Facebook. I got some feedback on the price being more expensive at places with high VAT, which gave me the idea to add PPP support in a day.
Stats since the launch. The HN launch was the biggest bang. I got lucky there, and the content & me being present to answer went well: news.ycombinator.com/item?id=247776…
Adding a higher prices tier, and collaborating with @StandardResume also worked out well.
Oh, fun fact. I had a section in the book where I looked through resume generators. They generally are terrible, with resumes tech HMs won't appreciate.
An exception was @StandardResume. But I was missing something from their templates. I pinged them, and we created these:
What's next? I'll still do a Product Hunt launch later, and share more of the book as blog posts. But I'll start shift focus to my "original" book on leveling up as a software engineer: blog.pragmaticengineer.com/book/
In closing, it's incredible how easy it's gotten to get an ebook/course out to people. @gumroad is a game changer with low fees, and easy distribution.
"Can you summarize this 200-page dev resume book in 7 tweets or less?"
Challenge accepted. Here we go.
1. Know what the goal of your resume is. This is what most people get wrong. It's not about your professional history. It's to get that next call with the recruiter/HM. (1/7)
2. Understand how the hiring pipeline works: who will read your resume, and what your competition is at smaller, vs larger companies.
Know that an employee referral *dramatically* increases your chances of passing the resume screen round. (2/7)
3. Use an easy-to-scan template. Recruiters do a quick scan, then a thorough scan (if they find key details in the quick scan). Make this "quick scan" as easy as possible.
I’ll write about my (similar) take in more depth. But a few facts most people are surprised about, on what becoming an eng manager at Uber is/was like (thread):
1. It’s not a promotion, level or money wise. EM1 == Sr Eng comp wise. Sr EM == Staff Eng. Director == Sr Staff. And so on.
When I moved to management, my comp actually dropped: before I was at the “top” of Sr eng, but now closer to the bottom of EMs when it came to bonuses.
2. You don’t just “become” a manager. You *have* to go through an apprentice manager program and graduate. Graduating is ridiculously hard: as hard as manager promo. My case had 20 stakeholders giving feedback on me. Why this hard? To avoid making poor managers full-time EMs.
“Why do companies ask data structure&algorithm questions? It’s not like you’d use this day to day...”
At my past 3 companies - Skype/Microsoft, Skyscanner, Uber - I needed to use them to write some code, and *especially* to understand things. Here’s some examples. A thread.
At Skype, building Skype for Xbox One, the platform was missing a bunch of basic libraries. We built a navigation framework on top of WinJS that needed to keep track, and in some cases, traverse the DOM tree. #Trees, #DFS, #BFS
Also at Skype, one of the devs was obsessed with performance. For the contact list sorting, he built his own algo. I used the O(n) approach to tell him why this was silly. Then built a faster version. Then we benchmarked the built-in sort which was faster #sorting#facepalm
Seven pieces of advice I would give myself to when I started out in software engineering (aka things I wish I learned or did earlier). A thread.
1. Take the time to read one or two books a year on software engineering. I don't mean skimming: I mean actually reading, taking notes, talking about it with others, taking the book a few chapters a week.
I didn't do this for the first five years of my career. Wish I had.
2. Learn two programming languages in your first two years' of coding, and learn one of them *really* well. Down to how-the-compiler-works well.
I mastered C# in-depth, PHP my "not-so-good" language. After this, picking up Java, Ruby, Swift, Go, Python were all so much easier.
How can you develop against prod, doing it safely and securely?
And how can you do the reverse: route prod traffic to a dev environment? Run the app store app on your phone, and have it trigger a breakpoint on your laptop?
Here's a working solution. Thread with some boxes.
1. We want our dev service, running on our laptop to talk to a production service. For example, we're modifying the onboarding service in dev that needs to access the login service in prod. Or something like that.
Point is, we can't just talk to it directly.
2. Let's add a proxy client that will forward messages. And let's box all of this up into a VM that can run locally on our dev machine (we'll see why we'll use a VM in a minute).
I never understood how many roles - and often people - are involved in the hiring process until I was a hiring manager for some time.
Here's a short overview of all the personas in a typical hiring process at BigTech. And why you should care. A thread.
1. The sourcer. A specialized recruiter who searches & reaches out to people to convince them to start interviewing. Getting an InMail from a recruiter? They are acting in the sourcing role. "Facebook contacted me, offering a job" - actually, it was the sourcer reeling you in.
2. The inbound sourcer. When you submit a job application on the careers page, a human could look at it: the inbound sourcer. They go through the huge amount of applications - often hundreds/day -and they do short & efficient scan of resumes, sometimes doing a short call.