#6 - Resumes and Code
Principles for clean resumes AND clean code
We’re back to our usual weekly cadence after the bonus post-mortem deep dive from last Thursday. I had a lot of fun writing that and I hope you enjoyed reading it! If you haven’t yet though, here’s a link! ⛓
One thing that’s been on my mind has been all the cancelled internships and how students will handle this fallout. 228 companies have cancelled their summer programs. Some are still hiring (like Cloudflare, Roblox, and Zoom - full list here), but it feels a bit like a game of musical chairs: there won’t be enough seats for everyone when the music ends.
I want to do something about it. Last week, I hinted at a “Build Together” project, where the community around this newsletter builds a simple project. But I believe now’s the time for a more ambitious scope. Instead of one project, we need MANY projects.
If you’re a college student with nothing lined up for this summer, check out the new plan 👉 link
And for those of you looking for a full time job, I wanted to write about a topic that could be put to use right now: how to improve your resume.
This topic is timely (lots of people on the job hunt), but also well suited for this audience as there is a relationship between resumes and clean code. Let’s dive in.
Resumes are important. They help you get jobs, and the goal for this post is to make your resume better. But they don’t just help you get jobs, they can help you on the job.
Aline Lerner is the CEO of interviewing.io, but before that she was a rare software engineer turned recruiter. During her time as a recruiter, she conducted a study into what variables best determined candidate success. Does GPA matter? How about the name of your school? Does the company you previously worked at matter?
What she found was that the single biggest predictor of candidate success was none of those - it was the number of typos on the candidate’s resume.
That was mnid boggling to me. How could something so smll matter so mcuh?
Well, here’s Aline’s take:
a resume isn’t something you write on the spot. Rather, it’s a document that you have every opportunity to improve… When you do submit, you’re essentially saying, “This is everything I have done. This is what I’m proud of. This is the best I can do.”
Your resume is a work product. It’s likely the first work product your company will see you produce.
But there’s more. Aline adds:
In startup situations, not only are good written communication skills extremely important… but I have anecdotally found that being able to write well tends to correlate very strongly with whether a candidate is good at more analytical tasks
Not convinced? Joel Spolsky, the founder of Fog Creek (which spawned Trello) and StackOverflow, had this to say:
At my own company, we instituted a policy: we only want to hire software developers who can write, and write well. Just try submitting a resume to me with grammatical errors or a cover letter that reads like it was written by that guy who translates those instruction manuals for really cheap electronics. I dare you.
Optional reading: This quote comes from the back of the anthology “The Best Software Writing” 👇
So your resume should be devoid of typos. But it should do more than be error free - it ought to reveal that you are an effective writer, and a clear thinker.
Resumes and Clean Code
The other day, I was on Reddit and someone shared an anonymous resume. The candidate was an older student who had gone back to school after a previous career doing something else. Despite a good GPA and decent projects, they had only a handful of responses, despite sending out over 700 applications.
When I opened the resume, I saw a swarm of tiny words in “Times New Roman”. This spiked my anxiety levels and it taxed my brain to parse through the document.
Once I finished reading the resume, I realized it suffered from two things:
Using too many words to convey too few ideas
And thus, the remedy was to simplify and organize.
Here’s a section that I rewrote:
Notice the compression of language, as well as the extraction of “technologies” into their own bullet point. (And the switch from Times New Roman to Proxima Nova).
Once simplified and organized, the resume becomes easier to read.
In this sense, resumes are just like code. You should be frequently asking yourself: How can I simplify? How can I organize this such that the reader can focus on less?
(For the curious, here is a link to the original resume, my suggested edits, and the author’s updated resume - which is SO MUCH better. I don’t know them, but I’m proud. In many areas, their revision is superior to my suggestions)
Resumes and Aesthetics
When you’ve simplified your resume and organized it in a way that is easy to follow, then it starts to look good. Like, visually. And then you start wondering, can I make this look even better? Is there a better font? Can I improve spacing? Are the margins the right size?
In this sense, resumes are just like code. Paul Graham, co-founder of Y Combinator, had this to say about aesthetics:
Great software… requires a fanatical devotion to beauty. If you look inside good software, you find that parts no one is ever supposed to see are beautiful too… It drives me crazy to see code that's badly indented, or that uses ugly variable names.
Good resumes look good visually. Good code looks good visually.
Resumes and Interestingness
Resumes serve two purposes:
Get you an interview
Serve as a conversation starter in interviews
A clean and clear resume won’t guarantee you get interviews, but it removes many self-inflicted wounds. That’s a start.
An underutilized section on resumes is the “overview” or “summary”. In this short, 1-3 sentence description, you give recruiters and hiring managers something to latch on to.
For my first job, I wrote an overview:
A scrappy, hungry, aspiring engineer with a multi-disciplinary background. Love hackathons, working on teams, and learning new technologies. Seeking an internship or junior position at a mission-driven company.
This overview is ok. But the key thing that I wanted to convey was that I was “scrappy”. The overview sets the tone, and the rest of the resume works to maintain that sense of “I know you’re busy, let’s use time effectively”.
The goal is to make your resume come alive. It should feel like a human wrote this resume, and that you might want to talk to the author. Maybe it’s a hard-hitting overview section. Maybe it’s a series of projects that reveal a fascination with the LISP programming language. Maybe it’s just a tiny story.
Let’s check back in with Joel Spolsky on this topic:
The number one best way to get someone to look at your resume closely: come across as a human being, not a list of jobs and programming languages. Tell me a little story. “I’ve spent the last three weeks looking for a job at a real software company, but all I can find are cheezy web design shops looking for slave labor.” Or, “We yanked our son out of high school and brought him to Virginia. I am not going to move again until he is out of high school, even if I have to go work at Radio Shack or become a Wal*Mart greeter.” (These are slightly modified quotes from two real people.)
And in this sense, resumes are like code. As Bob Martin says, “Clean code always looks like it was written by someone who cares” - and someone who is passionate about the codebase can’t help but leave some personality behind.
I’ll get back to some more technical topics soon (either in a post mortem deep dive or a regular post), but right now I wanted to give some advice for those on the hunt. Job hunting is grueling (my story), and when you’re studying “Cracking the Coding Interview”, the last thing you want to be thinking about is your resume.
But resumes matter. Your experience speaks loudest, but you need to treat the resume as your “first deliverable” to the company that is going to hire you. Details matter. And in this sense, you want to show off all the same qualities in your resume that you would apply to your code:
Simple and organized
Passionate, lively - written by someone who cares
If you want some resume help, just reach out (hit reply to this email, it’ll get to me).
Alright, until next week!
P.S. We’re just a few subscribers away from 200 and I know it sounds ridiculous, but my morale improves when I hit milestones. And when my morale improves, the newsletter improves :D If you have a moment, I’d really appreciate you sharing this newsletter to anyone who might find it useful. 🙏