2023 Year in Review: interviewing for jobs with a baby on the way

Our daughter set the pace for the entire year. Even before her birth! We needed to prepare for her arrival. It turns out that babies don’t take up much space, so our 1-bedroom apartment was fine for the year. But kids require lots of support items, so we needed to buy and install storage. This consumed much of my free time from January until her birth in May.

We bought a ton of furniture from Ikea, assembled the furniture over the course of a few weeks, got a bunch of freebies from “buy nothing” groups on Facebook, got some more donations from my sister-in-law, did a deep cleaning, read books, and I’m sure a ton of other things that I’m forgetting.

The actual birth went smoothly. We had already been a few days prior: my wife had contractions so we went to the hospital. They told us that she was having contractions but she wasn’t ready yet.

The day before the birth, my wife experienced discomfort and pain all day. She insisted up and down that she was not having contractions. Finally around 11pm, she was in pretty constant pain. I set up a Google Form with a single button, “I’m feeling it now,” and I had her click it whenever she felt the sensation. I looked through a few rows of the spreadsheet and saw that she was having contractions every 3-5 minutes and we called a car to take us to the hospital.

Birth went smoothly. Doctors were great. I’m embarrassed to admit that when I saw her little head for the first time, I thought to myself “Holy shit! There’s a PERSON in there.” Obviously I knew that! I saw all the scans. I saw my wife’s belly. But the reality of seeing a new human being screaming and crying on your wife’s chest in bewilderment really drives the point home.

And then they plopped her on my wife’s chest and the baby started screaming. I remember reaching my hand down and resting my hand against her little back to comfort her. She was so upset from the birth. I knew so little about her experience that I didn’t know what would help.

The beginning was a struggle. Feeding was a struggle, swaddling was a struggle. The sleep deprivation was abominable. She’d sleep soundly all day and then scream for 6 hours in a row. But it was my daughter, so I just loved her and rolled with it.

Recovery care is absolutely baffling to me. They encourage you to get as much sleep as possible. But your baby wants to be fed every 1 to 3 hours around the clock. She doesn’t know what day and night are. You also haven’t worked out feeding yet with your baby, so she’s angry and screaming around the clock because she’s hungry. So your sleep is already ruined. On top of that, a nonstop parade of nurses and doctors come into your room with no coordination, robbing you of what little sleep you might otherwise get. I’ve had problems with insomnia my whole life. I’m an extremely light sleeper and I have trouble getting back to sleep when I’m awoken. However I literally fell asleep in the middle of a conversation with a nurse.

At one point, I wanted my wife to get 3 consecutive hours of sleep for the first time in 3 days, so I coordinated with the nurses to put our child in the nursey for the first time and don’t send anyone into the room. Then I went for a walk and thought to myself, “I’ll just get coffee at the first place that I see.” And then I walked past a Blank Coffee and thought to myself, “I’ll just get coffee at the second place that I see.”

I do want to credit the nursing staff with showing us the fundamentals of taking care of a baby. Their tips on feeding were helpful, and walking through swaddling and dealing with diapers with nurses was really helpful. I just wish they either (a) cared whether you got sleep, or (b) stop suggesting that rest was important. Telling us that we should sleep and then preventing us from sleeping was infuriating.

My wife’s mother stayed at an AirBNB for over a month to help us, and her help was crucial. She arrived fresh between 6am and 7am and held the baby, which allowed us to get an extra hour or two of sleep a day that we otherwise would not have. This made a huge difference in our morale and effectiveness. Having healthy home-cooked meals every day was a tremendous help. My wife and I each got 2ish nights in the AirBNB so that we could try to catch up on sleep (but our sleep schedule was so obliterated by that point that we still didn’t sleep that well).

I took 6 weeks off in the beginning. I’m using the remainder of my parental leave now. I’m so grateful that I have the time to appropriately bond with my child. It’s wild that our laws don’t ensure some minimum time of parental leave. 6 weeks barely felt like enough, I can’t imagine the women that have to return after a few days (or even a few weeks) still healing from literal physical trauma of birth or c-section delivery.

And I love my child so much. She’s so smiley and loves babbling with me and my wife. Her laugh heals me. Seeing her develop small new skills and capabilities makes me so proud of her. Sure there are bad parts. She cries sometimes, she gets sick sometimes, she sleeps badly sometimes, she’s destructive sometimes. But she calms down, gets better, learns how to sleep again, and things are just things. She’s wonderful. I’m truly in a new phase of life.

Learning how to interview and finding a new job

When I found out my wife was pregnant last year, I was at the end of a 2 year period of working for myself. I was having fun and the business had some income, but even without the baby I probably would have cut it off at that point. It was a no-brainer with the kid: I needed to find a real job again.

So at the end of the year I hit Leetcode, polished my interview skills, updated my resume, started applying for jobs, and found WOW THIS IS A REALLY BAD TIME TO APPLY FOR JOBS! It was at the same time that all of the FAANG companies were laying people off. So every company was flooded with more high-quality leads than they’ve had for a while. Or maybe ever had!

I also discovered that if you tell a recruiter that you have a child on the way, they don’t reply to your emails anymore. I wanted to be up-front about this, but quickly learned that I needed to wait until I had an offer letter in hand before mentioning it for the first time.

I still managed to get some interviews, and bombed a few interviews before I realized that my interview skills were out of date.

For a very long time, many companies copied how Google interviewed. Google likes hiring generalists (and when they say “generalist” they mean “people who know the specific skills that are taught in a 4 year undergrad computer science program”), so they set algorithmic coding challenges that you can complete in any language. I mainlined coding challenges when I was in college and got pretty good at them. Plus, I worked at Google for 4 years, and asked hundreds of interview questions in this style. So I’ve always interviewed on the assumption that the coding challenges were enough. This served me well from 2007 until 2016, when was the last time I had interviewed.

I was dismayed to discover that smaller companies in 2023 hire specialists! Maybe many did before this too. But most of the small companies I interviewed at before 2016 did the Google-style interview questions. They don’t want you to ramp up on their tech stack as a strong generalist. They want you to know their stack and hit the ground running as an expert. This is probably what they should have been doing all along (and again, I’m sure many companies did this all along). But I never ran into it, even interviewing for startups previously.

I had a few failed interviews. One was for a tech reason: I interviewed for an editor startup and did well on their generalist problems, but bombed the React coding exercise. I’ve never worked professionally with React in any meaningful way. Google Docs’ stack predates React and they wouldn’t have used it anyway, and Etsy forbade React on their buyer frontend until around 2020 because of the performance hit. I made some progress on the problem but didn’t get far enough, and they wanted their tech lead to come in as a React frontend expert. Fair enough!

I interviewed with Notion, and the guy asked me to design the database schema for a calendar app. Historically, I design database schemas using my patented 3 step process: first, I draw a few schemas that feel wrong. Then, I put the work aside for a bit and help teammates or go for a walk or go to lunch. Then, I come back to the problem a few hours later or the next day and discover that my subconscious made some progress on the problem. Maybe I need to iterate again but I’m much closer than I was a few hours ago.

This is an insanely bad approach for an interview, where you need to bang out a plausible schema within 45 minutes. Usually it took me at least 4 hours, sometimes over a day! I had some additional communication problems with this guy; to shortcut the discovery I asked if the app was like Google Calendar. I then probably burned 10 minutes of the interview designing with Google Calendar in mind only for the guy to keep telling me, “no, it’s simpler than that” until by the end of the interview I was ready to scream, “why didn’t you just say <<no, it’s not like Google Calendar, you’re basically designing a digital wall calendar with shareable meetings>>?” But I wouldn’t have gotten a good database design by the end of that interview anyways, so it’s not like the time made the difference.

After these 2 interviews, I regrouped and realized that I would need to pick the set of skills I wanted to work with and double down on them. I focused on polishing my interview skills for different types of technologies: pub/sub frameworks, different database technologies and their common design techniques and their tradeoffs, microservices vs monoliths, etc. For the previous few years I had mostly worked with Golang and cloud-managed Kubernetes, and was very API-heavy. So I looked for roles that satisfied that. When I got an interview with Hinge, I had no problem clearing their bar because I knew their stack and could talk comfortably about all layers of it.

Working for Hinge has been pretty great. It’s a growing company under Match Group, which is a little weird sometimes (I’m not always sure what to respond when I talk to vendors or insurers and they ask, “what company do you work for?” because the correct answer can be either). But my immediate team is full of sharp hard-working people. Our manager is really thoughtful about constructing good meetings, and he has warmed even my Grinch-like “we don’t need any meetings” heart. And they seem happy with my work; I’m going to be a tech lead next year even though I spent a good chunk of this year on parental leave.

And no time for anything else

Work and family take up almost all my time now! Sometimes I find some time to play video games, but not as much as I would like. I’m often too tired to read at the end of the day. My wife and I took like a 4 month break from watching any TV series together because the logistics and timing were just too complicated.

Part of that is the complications of living in a 1 bedroom apartment. Whenever the baby sleeps, we basically need to stop moving and be quiet. I bought it 7 years ago, so moving isn’t as easy as just renting a new place. Our building is getting heat pumps installed soon (“probably by November,” we were promised last year), and whenever that project is finished we will sell this place and buy a larger place. We thought about moving earlier, but babies don’t make a lot of space and I didn’t want to sell with a large construction project looming. Plus so few things are on the market right now because of interest rates. So this year, we will be going through the hell of selling this apartment, buying a new apartment, and moving into a larger space.

And that’s about all! For 2024 obviously parenting will continue to be my primary project. I want to shake off this dad bod that I’ve accumulated, and we will be moving into a larger space.

Seven steps to writing a better software engineering resume

Over the past few years, I’ve reviewed lots of resumes for friends and former coworkers. I’ve also reviewed resumes from strangers, like on Twitter, where I offered to do resume reviews. I’ve been told that my reviews are helpful, so I’m documenting my approach, which focuses on whether the resume is a good fit for the job that the candidate wants.

Software engineers can have their resume reviewed for free in a number of ways, such as by consulting Reddit, Discord and other forums, or by asking friends. From my observation, most online reviewers begin with the assumption that the candidate has provided all the necessary information. They then suggest tactics for strengthening that information. For example, they help candidates to rewrite each bullet point to fit frameworks like “Situation, Task, Action, Outcome.” They fix formatting, suggest rewrites, and highlight formatting inconsistencies. They’re really good at focusing on the tactics of writing a resume.

Peggy's Cove lighthouse in Nova Scotia

Tactics are fine. Everything I mentioned in the previous paragraph is important. But tactics are best supplemented with a good strategy. How do you know that your resume has the right information? You could describe work experience in an infinite number of ways. Demonstrate how your existing work experience makes you a good candidate for the job that you want.

Many reviewers ask, “How can you present this information in the best way possible?” I also ask, “How do you know that you included the right information?”

That might sound obvious, but it’s difficult to apply in practice. I know this from my own experience. When I review resumes, I ask candidates for the resume and job postings that interest them. In a vast majority of reviews, I demonstrate how candidates can include extra experience to more effectively show that they meet the criteria mentioned in the job description.

Discord message that says, "My first piece of feedback is that the first 3 paragraphs of that job posting talk about working with teams, and your resume does not hint, in the least, that you've ever worked with another person on a team"
Part of a “please tear my resume to shreds” review that I did for a friend

Resumes suck, but most jobs require one. Maximize the impact of your resume. Incorporate information from job postings, job descriptions, and any other relevant information, and use it all to produce a targeted resume.

A quick note: this is written for software engineers with previous work experience who want a new job in the field. If that doesn’t describe you, you might still find this useful but you should think about what’s different for your situation.

Here’s how I’d write my own resume if I had to write one today

The TL;DR of my strategy is to iterate from a generic resume to a specific one. Start with a baseline resume that reflects your experience to the best of your ability but is not tailored to a specific job. Then, find information about the jobs that you want. Take notes from the job postings. Rewrite your resume using the information in those notes.

And now, in more detail:

Step 1: Write a resume the way you normally would

Create a resume however you want. Modify an old resume or create a new one. I don’t care which. Don’t overthink it.

Personally, I modify my old resumes. They’re always written in LaTeX because when I was in college, I hoped that I would get street cred by ignoring decades of word processor innovations. I don’t know if this worked, but I’m too lazy to change my approach at this point. If I had to make a resume today, I’d dust off this file and modify it to reflect my most recent experience and remove irrelevant information. Then I’d relearn how to run LaTeX in The Year of Our Lord 2021.

Anyways, include all of the usual sections in your resume: name, contact information, experience, any relevant schooling, maybe relevant/interesting projects, maybe publication experience if you’re a researcher, maybe other things like security clearance if you have it and it’s relevant.

Your resume should resemble other resumes in your field. If resumes in your field tend to be compact, then your resume should be compact.

Spell check and proofread it. Be prepared to have a conversation about every fact on your resume. Just like you shouldn’t build a house on an unstable foundation, you shouldn’t mention something on your resume if you can’t back it up.

Step 2: Collect three or four relevant job postings that intrigue you

Find job postings that appeal to you. If you want to work for a specific company, find the available listings in the “Jobs” or “Careers” section of its website. Otherwise, look for companies offering the role you want.

It’s OK if you don’t know what job you want yet. Look for listings that appeal to you. Spend some time researching different companies and fields until you have identified a few job postings that stand out to you.

It’s important to collect more than one job posting. If you’re starting with a job posting from a specific company that you’re interested in working for, supplement it with similar postings from that company, or other postings from similar companies. Why? You don’t want to assume that any single job posting is complete. You will be mining these postings for data, and a single posting might omit something relevant to the job. But the more postings that you examine, the less likely that an important qualification will go unmentioned in any of them.

Step 3: Create a spreadsheet and aggregate data from the job postings

Make a table in a spreadsheet with 3-5 columns. The columns should represent different, and mostly non-overlapping, competency areas. Then, read through the job postings sentence-by-sentence, and add information from the job postings to these columns.

I typically create categories like these:

TECHNICAL SKILLS: Any hard skills that are explicitly named. Programming languages, operating systems, third-party libraries, applications, etc. “Experience with Python in Unix operating systems a plus” or keyword soup kind of things.

DELIVERY: Anything related to execution. The types of projects that you’ve designed, implemented, or delivered. Whether you’re going to be on a pager rotation. The size and scope of the tasks that you’re expected to complete. The types of financial, product, or technical outcomes that you’re expected to achieve (or have already achieved).

LEADERSHIP: This can take a lot of different forms. Information in this category might call out specific leadership roles, like tech lead, project lead, or management. They may want you to be proactive about suggesting product or process improvements. They may want you to mentor more junior engineers. If you haven’t been in the industry for long, it’s okay to skip this category, or merge it with COMMUNICATION.

COMMUNICATION: Anything related to interacting with other people. There are a wide range of skills that could fit here. It could be project management practices, how you work day-to-day with teams, expected response times for answering support tickets, ability to be a point-person for your team or for external stakeholders.

Tailor these categories to your specific field. If you are applying for research jobs, then you’ll probably have a RESEARCH category. The category names don’t matter too much. You only need a few that capture different concepts.

Now that you’ve made the categories, the actual work begins. Read through every sentence of each job posting and incorporate each piece of information from the sentence into at least one of the categories. If you encounter a line like “Experience with Go a plus,” then put “Go” under TECHNICAL SKILLS. You don’t need to record duplicate information. If two job postings mention Go, put it once. If two job postings mention working as a tech lead, put it once. Make sure that the information in each sentence is captured in your spreadsheet.

This can be time-consuming. It takes a while to process all of the sentences in the job postings. Thankfully, processing each subsequent posting will take less time once the first posting is finished. Job postings will have duplicate information. You only need to record the differences.

If something doesn’t fit into one of the categories, try to include it somewhere, even if you need a MISCELLANEOUS category. You don’t want blind spots in your resume. For example, senior+ engineers often overemphasize their technical skills and project experience, and underemphasize their soft skills.

Step 4: Modify your resume to address as many of the relevant competencies as possible

Look at each item that you recorded in the previous step. Look through your resume and ask yourself, “Does my resume address this? If not, can I add a new bullet point, or can I add relevant information to an existing bullet point?”

At this point, your resume might get longer as you add information to address criteria from the previous step. If this makes your resume longer, then rewrite the bullet points for brevity. Avoid making your resume significantly longer than when you started.

It’s okay if you don’t address every item in the categories that you produced. Again, you should feel confident in every item on your resume. Don’t add something if you can’t talk about it for 10 minutes in an interview. If a job asks for PHP experience and you’ve only written 50 lines of PHP in your life, leave it off your resume.

Step 5: Make the hiring manager want to hire you

People will look at each line of your resume and say, “So what?” To counter this, make sure that you explain the impact of your experience.

Think about the people making the hiring decision. This will differ per company. At a megacorp, the people hiring you might be a collective of managers or senior (or above) engineers. If you’re applying to work for medium-sized companies, the hiring manager will probably be in your management chain; either your manager or a boss of theirs. At a small startup, the founders might hire you themselves.

Make people want to work with you. The people at the megacorp want to prove that they consistently hire high performers. Your manager wants to know that you can function effectively in a team environment. A startup founder wants to know that you can ship.

Explaining your impact allows them to imagine how you would function on their team. Let’s look at an example that I made up:

A bullet point without impact: “Tech lead for a 3 developer team. Worked with design and product to implement customer-facing features in addition to tech lead duties.”

A bullet point with impact: “Tech lead for a 3 developer team. Worked with design and product to implement customer-facing features in addition to tech lead duties. Increased revenue $n million while maintaining a low defect rate.”

When you refer to a responsibility without describing the impact that you had, you’re just claiming that you did something. The impact helps you argue that you did it well. An engineer will think, “It sounds like they can ship code, and I can talk to them about why they had a low error rate.” A manager will think, “OK, they can function on a team.” A director will think, “OK, they help produce business results.” A founder will think, “OK, they get code out the door that gets results.” Either way, you’re telling them that you’re going to make them look good. “One additional strong developer! A team player! More money!”

Step 6 [optional]: Find a relevant career ladder

Find a career ladder that describes the job that you want. Then, look through your resume and see if you would hire yourself for the level that you want. If there are gaps, could you add any relevant experience to your resume to help fill these gaps?

This is optional, because it’s uncommon for career ladders to be published. But there are a few. For example, Etsy open sourced their career ladder. If you find a career ladder that covers your desired job, look at your resume through the lens of this ladder. Is your resume missing anything?

I understand that these ladders are mostly used for internal promotions, but hiring managers sometimes look at resumes and ask themselves questions like, “If this person were working for me, would I promote them to the job they’re interviewing for?” Don’t worry if you can’t find something. But if you can, use it.

Step 7: Proofread, spellcheck, and get feedback from real people

People reject resumes for the dumbest reasons you can imagine. There’s the apocryphal story/joke of the hiring manager who shuffled resumes, grabbed a handful, and threw them out, “because I don’t want to hire anyone that’s unlucky.” This is only untrue in the sense that these exact circumstances didn’t happen, but it’s depressingly easy to find forums where people say they would never hire someone, based on their resume, with arbitrary criteria that have literally nothing to do with job performance.

Strive to eliminate as many mistakes from your resume as possible. If you do literally nothing else, please run a spell check. Copy/paste your resume into Google Docs if your text editor doesn’t have a built-in spell checker. Spelling mistakes are easily avoidable, so you don’t have any excuse for allowing them to slip through. Don’t make someone second-guess you because you wrote your resume in Visual Studio Code without spell check.

Read your resume out loud. Ask people to review it. Look for inconsistencies, for example in the use of periods at the end of bulleted sentences, and in the formatting of dates.

Ask people to give you feedback; the more, the better.

Even if you disagree with your reviewers, ask yourself whether you could restate something to make it clearer, or improve your resume such that they wouldn’t have needed to give you feedback. If a reviewer raises an issue, then someone reading your resume at a company might think the same thing.

So, there you have it!

You can produce a resume that is tailored to the job that you want. Incorporate information from job postings and career ladders, explain your impact, and correct mistakes. It’s not difficult, but it requires some grinding. But it’s worth the time investment. It won’t magically get you a job, but it brings you closer to getting a hiring manager to consider your application and think, “We need someone like this.” You’ll be more likely to get to the next step.

2020 year in review: living in interesting times

TL;DR: Holy shit.

Health

First, the pandemic. I have not contracted COVID-19 and I don’t know anybody who died from it. I know people who were infected by the virus, but they’ve all turned out okay. I’ve been lucky so far. I was tested in December because I had a fever and a cough. Thankfully the test was negative. There’s also good news on the horizon: we’ve reached the end of the beginning. The vaccines have started rolling out this month. I just need to hold on until phase 5, and then everything should start to return to normal.

I remember when the first cases were reported in New York. I looked up the infection and death rates from the virus, plugged them into a spreadsheet, dragged the calculation down for 2 months, and then immediately texted my girlfriend to suggest that she buy a few weeks of groceries as soon as she could. About 5 days later, everyone else joined me in feeling like this. There were hour-long lines at Trader Joes, and the local convenience stores were completely out of everything. It’s hard to emphasize how quickly everything shut down and sold out. News articles from the morning were hilariously out-of-date by the afternoon. Companies were revising and re-revising their policies on a daily basis. I know workplaces that went from “we’re open hell-or-high-water” to “we’re shut down for the remainder of the year” in the span of a few days. I’ve heard of several workplaces that took the following approach:

  • Monday: “We’re working from the office.”
  • Tuesday: “You can work from home if you want.”
  • Wednesday: “We’re going to work from home for the rest of the week.”
  • Thursday: “Please work from home tomorrow so that we may deep-clean of the office.”
  • Friday: “We’re shut down indefinitely.”
  • 9 months later: “We’re still closed.”

New York was crazy at the beginning of the pandemic. I felt afraid whenever I was outside. We knew that SARS-CoV-2 is highly contagious, but we didn’t understand its properties. People heavily emphasized washing hands and wiping down groceries, and there were suspicions that masks might make spread worse (on the theory that masks would trap the virus in front of your mouth or nose). I remember walking through grocery stores and holding my breath as I went through aisles with a lot of people. I remember moving out of the way and holding my breath as I walked past people on the sidewalk.

I saw a video by Jeremy Howard demonstrating how to convert t-shirts into masks. I felt a little better with masks on. That weekend, I sewed my own. After that, I began a long process of finding masks that work well with glasses. At this point, I have a good feel for what I need in a mask. Strong nose wire and large enough to cover my face. Adjustable ears. Either black, or a fun pattern. It’s worked out well so far.

Besides the pandemic, my health was pretty good. My weight almost stayed consistent during the year. I see that I ended last year at 201.0, and today I was 204.2. I’ll take that, given how severely the pandemic has restricted my normally active lifestyle. It could have been worse. My girlfriend deserves a lot of credit for my healthy eating habits. She’s a strong advocate for leafy greens and having balanced meals, and she challenges me when my eating habits slip. The pandemic did not help my exercise at all. I barely got around the city this year. I biked to Queens and Manhattan a few times, and I’ve tried walking as much as possible. But mostly I stayed put. I’m excited for the reopening because I’d like to take advantage of things like bouldering gyms for cross-training.

My mental health has remained good, which is a miracle consider that I’ve been tethered to my apartment. It hasn’t been perfect: I feel more irritable and cooped-up in general. But I’ve adapted to staying in my apartment. I miss a lot. I’m excited to go out again. I’m excited to eat at restaurants and go to museums again. I’m going to visit my family when I can.

I left my job at Etsy. See the Career section for the story. This had a noticeably positive impact on my health. I’ve slept more every night. I take long walks during the day. My step count is up on average. I take the time to cook healthier lunches. I’ve been exercising more, and I was already running 3 or 4 times a week.

Career

As I mentioned in the last section, I left my job at Etsy in November.

The reason was simple: I had always wanted to start my own software development company. Every time I got a stock grant, I would ask myself, “Do I want to work until my next one?” It was a convenient amount of time to consider. Normally I was granted stock every 3 months, but now that I had been there for 4 years (and some boring details with the stock refresher program), I got about the same amount but every 6 months instead. So I asked myself, “Do I want to do this job for another 6 months?”

My specific job was no longer better than the alternative of working for myself. I highly recommend Etsy as a place to work. It’s growing quickly, they have a good mission, the people are phenomenal and kind, and it has a positive impact on the world. I personally just ended up in the growing pains of a medium-sized company on the cusp of becoming a large company.

So what happened? For about a year and a half, I worked on adding GraphQL as an internal API layer within Etsy. I’m proud of the work that I did. I was given an incredible amount of latitude to design and build the support for it. It’s some of the best engineering that I’ve ever done. Adding an entire API layer to a medium-sized company is hard, but we successfully launched, got some people using it, got some wins, and were growing it. Yet there were serious staffing challenges on the project. At the beginning of 2020, we were 2 engineers and were promised 2 more would be added. The 2 promised headcount vanished at the beginning of the pandemic, and the other engineer was unable to work for vast swaths of the year. Consequently, I worked alone for most of the year. It was too much for me. Working on a growing an API layer and working by myself was burning me out. Taking a 6 week break and working on another team didn’t shake this feeling for me. Problems like this are difficult to fix. Hiring takes months. Onboarding and ramping up takes months. So this was a problem that would take roughly 6 months to fix.

I want to emphasize that Etsy is a great place to work. I would work there again. If you don’t work there, you should seriously consider it. They pay well and the work is meaningful. My situation was an edge case. A lot of Etsy’s practices were developed while it was a small or a medium-sized company. But make no mistake: it is rounding the bend to being a large company: It just entered the S&P 500. Sometimes it takes scale and growth to uncover problems. Things that worked at the smaller scale break when the company is three times larger. I encountered one of these growing pains, but it’s the kind that the company will learn how to avoid over time.

So I’m setting out on my own. I’ve been inspired by the stories that I’ve heard on the Indie Hackers podcast. Unlike many, I am so fortunate that 2020 improved my financial footing. My expenses went down and my savings went up. Accordingly, I’m in the best position of my life to start a new business that can be successful. I started a company called Jaunty, Inc. using Stripe Atlas.

I’m waiting for the IRS to issue my EIN, which will allow me to set up a business bank account and have fully-separated finances. But the IRS is currently backlogged. In fact, the IRS won’t even respond to the question “has it been issued yet?” until I’ve been waiting for 45 days, and I’ve been waiting for 30. Accordingly, I’ve been trying to learn skills that I can reuse when I can have separated finances.

I spent about a month having conversations with people who run small businesses. I had two goals for these conversations: first I wanted to get a sense of the challenges that they face. These might be my problems soon. Second I wanted to see if there were obvious problems that I could solve. It would be nice if I could build services to help small businesses. The responses had many similarities: lots of people had trouble getting users in the door, lots of people were uncertain how to market or identify traction channels that would work for them, and their problems were often hyper-specific and hard to generalize across all of them. These conversations helped me understand that just identifying a problem doesn’t help that much if the problem isn’t concrete. Sure, companies “need help,” and often have trouble making decisions, but this isn’t an actionable problem to start from. It’s a problem in an abstract sense, not a concrete one.

I had a really exciting conversation with a product manager that my friend connected me to. He helped me understand how product managers view idea creation and validation, and gave me a good mindset for validating whether a concrete idea would be useful or not.

Then asking myself, “What could I make without spending much money?”, I spent the month of December trying to set up a free newsletter showing the math behind business advice. My idea was that each post would have interactive tools embedded, and explain the intuition behind why the advice would work. I ended up with 15 subscribers over the month, but I had trouble promoting the newsletter. I got more subscribers by asking for help than I did by promoting the issues that I wrote. Someone described the newsletter as “circling around a good idea without quite hitting it,” which I think was accurate. My girlfriend identified the disconnect, which is that it’s probably suited for a more visual format like video, since the verbal explanations are dense but the visuals in the posts helped. It’s possible that I could have also gotten more traction by continuing to get advice and iterate, but I’m less excited with the idea now that I’ve lived it. Writing weekly blog posts powered by 600+ lines of code each is difficult.

I vastly prefer how I spent November over how I spent December. Building and promoting a newsletter was comfortable. Talking directly with people was awesome – I learned a ton quickly. It helped me understand their day-to-day.

I think that the newsletter is a nonstarter, so I’ve been examining the hosted GraphQL market over the past few days. After all, the very first thing that I purchased for my newsletter was hosting on Vercel. This is a great match for my recent work experience, and I think that I can provide real value to companies here. There’s no obvious single winner in this space, and I think there’s room to create a niche business. Of course, I don’t want to reach out to people around the holidays, so I’ve just been researching for the past few days. In the new year, I will start having active conversations to get a better picture of what people might want in a solution. I found the talk “Your first 60 days” to be really inspiring, and I’m going to try the approach it outlines.

Hopefully, I’ll have some good news to report in the new year. I expect that I will be able to try and fail at 3 ideas during 2021. Hopefully, one of the three will start to get some traction, and I will be able to get some revenue. My 2021 goal is to to rent out a tiny private office. If I learned anything from the pandemic, it’s that I need a separation between my personal space and my work space.

As a coda, this blog was actually pretty successful this year. I had 207,000 page views this year, which is easily a record for me. That’s not a lot by viral internet standards, but it’s a lot for me. The viewers predominantly came from two posts: Why are we so bad at software engineering? and DuckDuckGo is good enough for regular use, which had varying degrees of popularity on Reddit and Hacker News. Because of the traffic from these posts, most of my other posts got hundreds of views from people clicking around my blog for more content.

Personal life

My personal life went pretty well during the pandemic. In a lot of ways, I feel guilty that my life went pretty well in a year with so much misery.

My girlfriend moved in as NYC shut down. She’s still here. It was challenging at first – we went from “we get dinner once during the week and spend the weekends together” to “we are in the same space 24 hours per day indefinitely” It was a lot. But we’ve made it work. A few things helped this: routines, clear expectations, making sure we were meeting each other’s needs, and having a good apartment layout. Having three rooms that block sight lines has really helped. It’s been nice cooking with someone every night.

Besides, that, social interactions were infrequent and often strange:

  • My sister got married in the park, and we hosted (just) the two of them for dinner afterwards.
  • I went for a few walks around NYC with friends.
  • My friend’s house flooded unexpectedly. My college friends and I spent the day helping him throw away his ruined stuff and shovel all the mud out.
  • We visited my girlfriend’s sister’s family for a short getaway.

This is the complete list of in-person interactions that I have had since March. I know that pandemic shaming is fun, and I definitely didn’t reduce my social interactions as much as some, so I’d be fair game for that.

Besides that, I’ve experimented with video chats with varying degrees of success. My college friends and I have a video game night every Friday, and this has been crucial for helping me feel the passage of time. March feels like it was yesterday, but if I frame it in terms of “how many video game nights has it been?”, I can at least feel some distance.

The most stress I encountered was probably the period between the 2020 election and the period where Joe Biden was announced the winner, with the second-most being the following period where it was unclear whether democracy would hold in the United States, and the following period was reading about the George Floyd protests and seeing the widespread police violence against protestors. I have a nervous habit of chewing my nails when I’m thinking or nervous, and this evolved into literally chewing open sores into my fingers. Thankfully these have mostly healed. At this point, I can handle lemons and limes again without fear. In 2020, I donated a lot of money to causes (Biden’s campaign, organizations like Black Girls Code that bolster education for underrepresented minorities in tech, and organizations that seek to selectively replace policing with policies targeted to specific problems), but I didn’t donate much time this year. I don’t know how to feel about this.

My girlfriend is a professional translator and précis writer. She is extremely concerned with the precise definitions of words. This means that I had the misfortune of learning the difference between the terms coronavirus (a class of viruses), novel coronavirus (a placeholder name before a significant coronavirus strain is named), SARS-CoV-2 (the official name of the virus causing the current pandemic), and COVID-19 (the human disease caused by SARS-CoV-2). Why misfortune? Because I watched people use them interchangeably and incorrectly all year, while also knowing that it wasn’t worth correcting them. This was my small 2020 cross to bear.

2021

My biggest focus for 2021 is getting Jaunty, Inc. on a sustainable course. I would like to end the year by paying myself enough of a salary to cover all of my monthly expenses, and also to be able to rent an office somewhere. $10k-15k in monthly revenue is the line where many people can start doing this. This would put me close to hiring my first employee, but that’s getting ahead of myself.

I’m hoping that I will receive the vaccine by the end of summer. I would like to travel to see my parents. And I definitely need to travel somewhere for a vacation. Getting the vaccine by the end of summer would be exciting, because that means that I’d get to start enjoying NYC again.