On Friday, September 4th, 2020, I logged into my job as a software engineer, flattened some bugs, received a strong first-sixty-days performance review, and ended the workday at a reasonable hour, gently entering a long labor-day weekend. Four days later, I resigned from what was my first SWE job out of college after just twelve enjoyable weeks to take a role in marketing making even more money. What happened?
(Note: This was written in September 2020, I worked at Gumroad through January 2021. The original post is left unchanged other than this note)
Our story begins in Seattle in early 2019. A man named Daniel Vassallo quit a job making $500K a year at AWS to work for himself as an independent creator. Originally from Malta, Daniel moved to America during his eight year tenure with Amazon. After leaving AWS, Daniel published an ebook and video course on Gumroad, and by September 2020 had grossed over $200K in sales.
I first encountered Daniel’s work when I was looking for interview subjects for Writing for Software Developers. Many of the people who I was interviewing had been writing about software for a decade or more, so I wanted to find someone who was relatively new to writing online but had quickly found massive success. Daniel fit the bill perfectly. On January 21, 2020, I introduced myself with this cold email, which quickly led to an interview.
I kept in touch periodically and Daniel gave me a huge signal boost on launch day. In the following months, we built on each others’ posts on Twitter and exchanged a couple of messages, he read my book, I watched his Twitter course. When he did something clever, I copied it, and it usually worked. Stage left is set.
On stage right, Sahil Lavingia is running Gumroad. After some ups and downs, the company is operating profitably and growing smoothly. When massive portions of the global economy suddenly moved online due to COVID, Gumroad’s growth spiked. In April 2020, I sent Sahil a cold DM requesting an interview, not for the book, but for a feature-style profile I was writing for my creative nonfiction class in my final semester at Grinnell College. I intended to shop the piece around to various business-focused publications after the workshop. After exchanging several emails with Sahil and writing the piece, I knew it would never be published, not out of lacking merit, but out of conflict of interest: I would be using Gumroad to sell Writing for Software Developers. Every other platform was out of the running once I knew Sahil’s story.
This essay is long enough without a complete retelling of the launch of Writing for Software Developers, although that is one of my favorite things to retell. Highlights: $15,000 first day, $20,000 first week as a brand new Gumroad user. Here’s the tweet. I was on Gumroad’s radar for a minute, but this industry moves fast.
I started writing micro-targeted clickbait a couple of weeks later to maintain my relevance. I say “micro-targeted” because the only click I was trying to bait was Gumroad’s click of the retweet button. My most successful such tweet got over 169,000 views. Most tweets that were picked up did about a tenth of that. Still, it was enough to keep me on Gumroad’s radar.
Gumroad was also on my radar. In late July, I saw a post from Sahil saying that they were looking to hire some engineers. I looked over the job description, but I didn’t seriously consider applying. I was not experienced with the technologies in their stack and I don’t like doing engineering on an hourly basis. Also, I was quite content with my existing SWE job. I give the post a pass, although a line from the last paragraph, “Head of Marketing - take over all marketing/growth/content/support from Sahil, build & launch a great multi-year growth strategy,” did stick in my head for a while.
In August, Justin from Gumroad reached out to me to see if I was interested in being featured in a creator spotlight. I was thrilled! Daniel Vassallo was the series’ first subject; I had figured it would take quite a while until I had a high enough profile to warrant a spotlight. Justin wrote a great article and Sahil reviewed and approved it personally, so I knew for certain that he knew my full story.
It took about a thousand words, but I’m fairly sure that you now have the context to understand that my “cold” email was closer in temperature to an off-brand cooler during overtime than a crisp drink from the commercials.
On September 1st, 2020, I was lying in bed when I saw this tweet from Daniel. Quarter time? Ten thousand dollars a month? Work at Gumroad where your job is to help more people make more money on the internet? All that for one email and one phone call? Daniel got a sweet deal and I wanted exactly the same thing. I have been known to send a successful cold email. I sat up, typed out this email to Sahil, and had a hard time falling asleep that night.
The next morning, Sahil responded “haha, great email. I’d love to chat.”
We set a time for the next Monday. I asked if there was anything in particular he’d like me to prepare for the interview, or if I should bring a surprise. “A surprise works!” he said.
There was only one problem: I had absolutely no idea what to make. After talking it over with a few friends, I came up with a structure for my application packet.
- A job description
- Plans for growth, content, and support
- A plan for an upcoming launch
- A reflection on the application process
Over the course of the next few nights and that long weekend, I put together the application packet, about six thousand words in all. I kept in touch with Sahil throughout the process, asking various questions to get the context I needed to create meaningful plans. If I had not spent the past six months idly studying Gumroad as a business, I would not have been able to complete so much work so quickly. Exactly 24 hours before I was to talk to Sahil, I sent him the surprise as a series of PDFs.
During those five days, I spent a great deal of emotional energy chasing my shadow. Sahil was talking publicly about hiring Daniel, and he also kept mentioning doing the same for the role I applied for. In his email newsletter, he wrote “even more amazing folks applying for other positions at the company, including a quarter-time Head of Marketing.” I saw the massive spread of Daniel’s own tweet and I concluded that some clearly superior candidate had applied for the same role and basically already had the job. I imagined someone with an MBA, years of experience, and ten times my Gumroad revenues sending exactly the email I had sent. I figured my application was a long shot but I was far enough in that I might as well go through with it.
On Labor day, September 7th, 2020, I got a call from Sahil in the afternoon. We spoke about a variety of topics for over an hour. Forty minutes in, he asked me what I was looking for in terms of salary. It turns out I was the only candidate for the job. The person he had been writing about in the past week was me. I had been chasing my shadow, but it had motivated me to do my best work on my application because I thought I was competing against someone with a lot more experience for the job.
Sending the application packet well before the interview was essential because we had a shared basis of ideas to discuss rather than me presenting the ideas for the first time and receiving his reactions. This helped out discussion be substantive and solutions-oriented. Rather than an interview, it was the first day of working together, which was a much more effective framework for getting things done.
One bit of negotiation during the phone call that I am proud of is that I requested my start date be backdated to September first, the day I had sent the email, earning me a full month of pay for September instead of prorating. Sahil agreed on the basis of the work I had already done throughout the week to prepare the application packet. This is essentially the same as negotiating a signing bonus, but applies outside of the “salaried employee” context. I don’t recommend this tactic for traditional positions, negotiating a signing bonus is far more straightforward in most cases.
By the end of the day Monday, I had a written informal offer from Sahil, but we were unable to do the paperwork because it was a federal holiday, so Gumroad’s legal and financial advisory was out of office. Tuesday morning, I informed the CTO and my manager at my then-current job that I had accepted a new role. They were disappointed but very supportive. “Two weeks notice” is a professional courtesy, not a requirement, in at-will employment situations. My previous employer and I split the difference based on the scope of work that I had committed to doing. I ended up sticking around for five business days to wrap up my various projects so as to not leave my team hanging. I worked at Gumroad in the evenings as I got onboarded with the company.
Also on Tuesday I finalized the contract with Gumroad. I was impressed that Gumroad’s CFO was able to get me set up with a signed independent contractor agreement (with no restrictive clauses whatsoever), tax paperwork, and direct deposit, all in a single day. That evening, Sahil announced my hiring on Twitter, which in my book is better proof than a contract.
It took one week from first contact to signed contract for me to become the Head of Marketing at Gumroad, but that week was only possible because of the months leading up to it. I’m working far more than half time at the moment, but that was agreed upon ahead of time; half time is the goal that I’m working towards by improving at the job and implementing processes. I’m sure I’ll get there eventually, but for now I’m having too much fun to slow down.
If you want to learn how to write great cold emails, download Cold Email for Interesting People. The product includes a detailed line-by-line breakdown of the email to Sahil, above, as well as five other examples, a 31-page handbook, and a video introduction.