Show HN: I wrote a book on writing good developer resumes
thetechresume.com
thetechresume.com
COVID was what triggered me writing this book. At the beginning of the year, I was in the middle of writing a book on growing as a software engineer. However, as COVID started and the tech the layoffs followed in April and May, I found myself wanting to help people impacted. I’ve been a hiring manager for a few years, so I offered to do resume reviews for those laid off or applying for positions[2]. I had more than 300 developers take me up on this offer in a few days.
I did in-depth reviews for the first few dozen people, then copied-and-pasted common observations for the next batch, and finally sent over a 15-page PDF with the most common advice, with a few pointers for the bulk of the people. Here’s an early version of this PDF[3] - which also was the basis of this book.
I wasn’t that happy with how little backup I had for the advice in that guide, so I started to reach out to tech recruiters and hiring managers for more feedback. I also asked people to share back how their improved resumes worked out, applying the suggestions, and started adding this into a growing guide.
Four months and 55,000 words later, the book is ready. I tried to give level-headed, but practical advice, with lots of examples from actual resumes (that are all anonymized). Happy to answer any questions here.
[1] https://thetechresume.com/complimentary-copy
[2] https://twitter.com/GergelyOrosz/status/1263855589861580800
I am now thinking of building a service to enable integrating PPP easier for creators [2], as I had to build everything from scratch, including calculating the "right" amount of discounts for 140 countries.
[1] https://twitter.com/GergelyOrosz/status/1315699026445074434
[2] https://twitter.com/GergelyOrosz/status/1315768527895302144
Just a friendly suggestion/question - wanted to get that clarified before I link those friends to the complimentary copy page.
I just clarified it on the site as well: "Lost your job during COVID-19 and are actively looking for your next position OR you have already graduated and are actively looking for your first job."
P.S. I plan to buy this book when the student version goes live, as I’m a bit away from graduating still.
What exactly do you hope such a requirement is going to achieve? Surely not to prevent piracy as I found a working PDF link to the final release in seconds.
I assume you have some other motive for the LinkedIn requirement and am genuinely interested in what it is.
But you raise a good point, thank you. I updated instructions, so anyone with no LinkedIn profile can email me directly with some other proof of their online presence.
Originally, I got a lot of spam requests from throwaway emails that I could not validate.
People who get the book this way also get access to updates: which will be fixes, corrections, and additional content.
"Email me if you are unable to afford this book and would like a free copy" for example, will rarely be abused. (And if it is, it isn't a lost sale, because they wouldn't have purchased it anyway.)
I suspect it might actually increase overall conversion rate, because it may trigger many people to consider that they actually can afford the product, and it shows that the merchant has a heart.
I now added the email option for people who don't have a LinkedIn account (or don't want to share it), thanks to the original suggestion. I love the Show HN crowd!
I could understand if you were able to maybe monetise the contact information you collect but as you said you delete everything once you validate it seems you are validating just for the sake of validating?
For example how would you deal with someone out of work due to COVID and wanting to use this time to retrain and get into the software engineer field? I can't imagine they would care about (or even know about) having a LinkedIn profile with zero related employment, no contacts to network with, etc.
I know I am being a little 'difficult' with my question and I am not criticising I am just interested on your thought process more than anything.
-----
Update: Just realised you edited your original reply so my reply doesn't make quite as much sense now :)
I think your direct email option is good. If it were me I would automate the direct email with a little bit of weak validation such as "please explain in one or two sentences your situation" then anyone who emails with a few words are automatically validated and any blank or one word emails are either auto-deleted or put aside for manual validation.
Just an idea though. I figure posting to HN means you wanted a little feedback :)
Best of luck with your book. I don't have a need for it right now (thankfully) but I hope it helps others as it appears you have a put a lot of thought and work into it.
My goal with the form was to have people explicitly confirm details (like their role and employment status). Beforehand, I got a few requests for free copies from non-developers, and some people outside tech. This book is not really helpful for them, and I wanted to reduce this kind of support burden, by adding an automated message with the form (you can see it in action).
But finally, let me admit that I was just excited to build (what I thought was) a sensible dynamic form, automate storing the data in DynamoDB, then deleting it when the validation script runs, running the backend on Lambda that I played with for the first time. Trying out new tools: any opportunity is a good opportunity!
Thanks for making this. As someone on the spectrum for whom the job application process is extremely tedious, I will be reading this cover-to-cover.
So I bought it. Sure hope it's useful.
A few points you touch on that I really like:
* Leave out extraneous stuff... photos, references, etc. I don't need to know where you went to high school (assuming you are a college grad). I'll ask for references after I hire you.
* Check typos and formatting. I know some hiring managers who will let typos, formatting issues and grammar mistakes slip. Personally, I look for them and will likely disqualify you if I see them (I'll be more lenient if English isn't your first language). If you can't keep bugs out of your resume, which is a one to two page document, how can I expect you'll keep them out of your code? Also pro tip: always PDF resumes so formatting is consistent and doesn't show the squiggly lines that word document spell checkers show.
I general, I'm always surprised by resumes that try to stick out with gimmicks like charts or color, or whatnot. I've looked over high hundreds (or low thousands) of resumes and the ones that stick out are usually black and white, well formatted, straight to the point, brief and don't have glaring errors.
I'm in the staffing industry and deal with automatic resume parsing tools. They have no problem with text PDFs that are saved from the source.
Example of it handling a scan of a document that’s rotated ~100 degrees and physically cut in half with scissors here: https://siftrics.com/hydra.html
I've been building out a tool to make resumes that let you zoom in to different topics, would love to get your thoughts on whether you'd like to see something like this: https://prototype.profiled.app
Looking forward to reading this in any case! I lost my contracting role due to Covid and I think it's great that you're giving away those extra copies to those in need.
You need a PDF or Word doc here (PDF preferred). When applying for larger tech companies, this is the use case 90% of the time.
As a hiring manager, I want to see details quickly. The less "fanciness", the better. I can scan traditional resumes much easier than this one. So my view is the same as when choosing a fancy template: you make the job of the hiring manager more difficult, thus lowering your chances.
With software developers, boring and simple format is good. Your resume content should sell you, not the presentation.
It might be workable for last-round or very small + "high contact" interview pipelines, but it's probably useless earlier or at larger companies.
Both. You need both. Because their system or their HR dept may ask for the Word version and you should have it ready on hand.
Again, not to take anything away from the book itself, which looks great. Just a comment on the work world today, I guess.
The nice part is most of the time your resume just needs to be good enough. Not having any major red flags is enough for a conversation if you have some experience under your belt.
Anyone who feels the pain on how broken the system is: please, try to not forget this. And when you'll have the opportunity, try to improve it.
I see solutions along not immediately rejecting when the resume is not a "fit", but carrying on looking for signals.
As of today - in 2020 - the best way to not have to rely on a resume is to have a referral. The first part of the book stresses this a lot. A trusted referral "I know this person" will probably make a resume redundant, at least for smaller places.
Editing to add that we're at http://www.happymonday.com/ & feedback is always welcome.
But now you're requiring 4-year degrees and making it very difficult for anyone to switch over from another profession.
Therefore, As a society, I think we've reached the point of needing to add extra weight to our real-life connections. They say making deals in business has always hinged on "who you know," and going forward, I think being anonymous is going to actively count _against_ people, rather than personal connections being a plus.
Maybe that'll mean having less "meta-work" to deal with, because your real work will stand on its own, and you'll have professional connections who can back you up. This change will make it harder to break into the system, though, and will make it harder for under-performers to succeed.
If anything gives me hope is a world with more devs!
The next sample chapter even contains an anecdote strongly suggesting it's not a myth:
> With how the recruitment industry is going with ATS systems, one-touch-tooling, and AI, it’s all about optimizing the top of the funnel to streamline the workflow. In this setup, it is key that you have a resume where a machine can identify that you have 80% of what the company is looking for.
Easy solution: Ask your recruiting team/hr department if your company has something like this in place. There are only 3-5 major ATS's that are used by ~80% of companies.
You can normally find the ATS for a job application by taking a quick peak at the source. Most companies are using a handful of ATSs and if you check their offerings, they don't include automated rejections.
Ours asks a couple (basic) questions right before submitting the application- if anyone answers "no" to any of them we don't consider that resume.
Those questions aren't related to what is being discussed: ATSs filtering people based on the contents of their resume.
I think what essentially happens is that resumes get ranked and high priority indicated factors (like a lack of Bachelor's Degree for example) will cause a resume to end up so low in the stack that it essentially doesn't exist. I know that when my company puts up a job posting we get over 100 resumes the first day. We might look through the top 30-40 resumes a day. While the other 70 resumes haven't officially been "rejected", they effectively are, since they will never see human eyes. Maybe companies with fewer applications go through every resume, but every company I have worked at gets more resumes than a single hiring manager can realistically go through, especially if they have other responsibilities (like running their department). So the ATS ranks them and we look at 30ish per day. Manually upvoting or favoriting the ones we read that we like.
The myth/rumor that certain factors get rejected by the ATS is effectively true. Rejected might not be the correct term. But "buried" could be more appropriate. But the idea that they aren't going to be considered by humans is effectively true at large organizations that get lots of applicants.
https://www.askamanager.org/2020/10/your-job-application-was...
I talked with the recruiter I quoted later on, and while they think eventually the industry will go towards having more automation, she also confirmed she did not see any automation like this, today. I probably should have made that more clear!
That might seem like a joke, but it isn't. I have seen that many times.
Another popular one is people that put "CTO" or "CEO" on their resume because they did freelance work for their cousin's friend's brother's pizza restaurant once. They started a company called "AAA Software Enterprises" and made themselves CEO. Then closed the company after that project finished.
These people need to realize that overembellishing your resume can often hurt you more than under-crediting yourself.
I have also noticed that the 2-3 year experience gap is a dangerous gap in Software Development. Developers have learned enough at this point that they are walking all over the other junior developers that are doing basic bug fixes. They feel like a God and feel like they can do anything. But what they don't realize is that they might have too much experience for the Junior Developer position, but they don't have enough experience to realize how much they actually don't know yet, because they have never experienced it. So some developers fall in this trap of never being pushed hard enough in their early years and not realizing how much they still have to learn. So they think they know it all and tend to overembellish, without realizing how dumb they look because they have no idea how niave they still are.
Thank you. I think it's important to understand and empathise with everyone involved.
That said, I think there's a fundamental problem with what determines a 'good resumes'!
Resumes are generally assessed by a wide range of hirers and various layers or recruiters or hr in the middle - and the people who assess it they all have (very) different ideas of what is good!
I've seen this play out many times where person 1 says make it longer, person 2 says make it shorter, person 3 says not enough detail, person 4 says too much etc ..
So on balance I don't think it's possible to make an objectively perfect format of resume that will always be more successful than a different format for any given job application.
Other variables like number of applications, personal connection with the people you talk to etc are possibly going to be more valuable to focus efforts on in a job search, once your resume is 'good enough'. Then expect to modify it to suit various people's preference if you are really interested in a specific role.
My 2c ..
Also you should charge more for this book, I think it’s worth at least $30. The extra value added package could be $50 and include the templates and case studies or a personal resume review. See Rock and Roll with Ember.js: https://www.balinterdi.com/rock-and-roll-with-emberjs/
For the contrast: you have a good point. I'm seeing if I can do something, but I am seeing a good variety of sales across packages. I might just leave it for today, come back to it later.
For pricing: I'm aiming to optimize for reach over revenue for this one. I'd like to keep the book affordable, and give people a good deal. But by people paying, I'm hoping to target those who will actually read it, over just download numbers. I especially would not want to overcharge as resume advice is... a subjective field, and no one can guarantee results (maybe some gurus say they can, but I don't want to be that guru).
Originally, the whole book was supposed to be two pages in the next book I'm (still) writing on growing as a software engineer, in the job search section [1]. I just hope the other parts won't expand as much as this one has :)
I have a small sample size - about 15 responses - and everyone reported getting higher response rates. Some said it was much much higher, some said it was somewhat higher.
I will add that almost everyone who has responded are people with 2+ years experience, many of them having 5+. So I cannot vouch if the advice here significantly helps people with less experience, where the market is more competitive and it's harder to stand out.
All of this is anecdotal, though. I have a few people who agreed to share their names on the site, with reviews. And I have more emails in my inbox saying thanks for seeing higher success in going through the resume screen. There are also people who got more recruiter calls, but still have not been able to get an offer, struggling on the later parts of the process.
Prover (the applicant) and verifier (the hiring manager) are both interested in proving the applicant to be a suited candidate. It should be in the hiring manager's interest that suited candidates can act as valid prover that can convince the verifier!
With this thought, this book should be financed by both the hiring manager and the applicant. The hiring manager should help applicants to write good resumes. And the applicant should help the hiring manager to accept their proof of suitability.
Also, do you think this book will get more people a job (which would effectively create jobs and reduce unemployment) or just improve the candidate selection?
If it just improves the candidate selection, the rejection rate and thus the average happiness of applicants would stay the same (or even drop, as they paid money for this book) and the only beneficent would be the employer, as better candidates are hired.
Thanks for writing the book!
Your website appears to be recognizing me as from the US, which is correct. For whatever value that anecdote is worth to you.
I do live near a border and YouTube thinks I'm in the other country all the time. I suspect European borders may have more resolution than Californian algorithms.
The endpoint returning the string of "Looks like you're based in Netherlands" is a nodej.js script that has this defined in the top:
const MESSAGE = "Hey - it looks like you're based in $countryName."
Sometime later in the code, in a function I manipulate this string in the module's export function: module.exports.getDiscountData = function(countryCode, countyName, etc) {
// Fetch the right message
let message = counryValues[countryCode]; // We get MESSAGE
message = MESSAGE.replace("$countryName", countryName) // oops - we overwrote MESSAGE with a new value!
message = MESSAGE.replace("$otherVariable", etc)
return message;
}And for each country, I have keys /values listed, like: "GB": MESSAGE, "NL": MESSAGE, "HU": MESSAGE_2
The problem was that once the first request replaced the country name, MESSAGE was mutated, and it now had the value "Hey - it looks like you're based in Netherlands." instead of "Hey - it looks like you're based in $countryName."
I had no idea this would happen. And that a "const" in Javascript is a mutable thing. I fixed it by deep copying the string of the original message.
The super interesting part is that I did not notice this problem, as when I was testing, I did low frequency testing. As I am using Lambda, I probably got a new container created, where MESSAGE was re-initialized. But with the HN traffic, the containers stayed alive longer, making this mutated string issue a problem.
By JS strings are immutable, and String.prototype.replace doesn't modify in place, it returns a fresh string. So, this shouldn't be possible as described.
Yes. If there is work that you would like to specifically highlight, group your achievement(s) into your summary. If someone says not put a summary in your resume (beginning or end) you are making a mistake. Having an (albeit brief) identity helps you remain memorable in a sea of similarity. No need to list jobs 10 years ago, but saying you have written forum software or worked on a banking app is relevant to your career.
In Europe, I've had a hiring manager tell me he actually reads longer resumes. Another recruiter in the UK told me for exec profiles he's seen 3-4 pages long ones that were not great, but passable. The other 23 recruiters and hiring managers all suggested to fit it into 2 pages.
I would say, make sure everything important is on the first 2 pages. The book has an example of a person with 20+ years' experience refactoring their resume to a 2-page one, cutting off 10 years of less relevant experience, and getting a lot more callbacks.
I've also gotten conflicting opinions on leaving off my graduation date so I end up alternating back and forth on that.
Do I get a complientary copy for proofreading your copy? Like a sort of bug bounty if you like :D
Ping me at hello@thetechresume.com referencing to this comment and I'll hook you up with a copy.
But we don't pay VAT on books do we? And the item doesn't include it, as it says. So what's being offset? Is it just a general 20% discount?
This is my workaround for you not to have to pay VAT: I lower the price by the amount, so the full amount will stay the same for you (even though VAT is added).
It's not a generic discount: I add it to all EU countries with higher VAT rates. Many of these countries have (e)books without VAT, but Gumroad still adds the VAT.
The hiring pipeline setup is probably similar for other tech roles, but I cannot vouch for anything else. I've had a technical program manager and a tech writer tell me it helped them somewhat. Two product managers read the beta, but when I reached out to ask if they found it helpful, I never heard back: so I assume it was not that useful for them.
What I would assume applies to other tech roles as well is this: - Try to get a referral, where you can. This will 10x your chances of progressing from the resume screen. - Use a clear format that hiring managers can scan easily. - Aim to tell a story with your resume. This is your sales pitch. - Be specific and use numbers, where you can. Talk about the impact you made and the business results you enabled. - Tailor your resume to the job description if you cold apply, over sending the same one, over and over again.
But wouldn't it be a better approach for an applicant to focus on an open source project for showing off rather than reading a 200 page book?
[1] https://thetechresume.com/samples/the-hiring-pipeline.html#t...
I used the advice to spruce up my resume a bit and tailor it to specific employers. But more importantly, it helped me know when I was “done”. I had spent a lot of time making small optimizations without knowing how effective they were. After reading the book, I knew when to stop.
Highly recommended!
Also, Amy Miller's twitter has an errant h at the beginning of the url.
Hope you'll be able to use the advice and good luck!
I have already talked to a few "resume optimization" experts, and their interviention infallibly landed my CV on the desks of organizations that seemed unable to properly appraise developer skills.
Anybody who can second my experience?