On building a resume for a software engineering role

Anuvrat Parashar

Founder, Essentia.dev

2024-06-29

A resume is like the pamphlet we would print and distribute at the community square if we were selling a product or service in the neighbourhood. It’s sole purpose is to convey enough information in the first glance to spark an interest in a potential customer’s mind so that they want to have further conversation with us and know how they can get back in touch.

Over the years I have come across thousands of resumes of people who reached out to me looking for a job in either my firm or a referral to someone in my network.

Whenever the workload was low or business was slow, I took time out to respond even to the candidates we rejected with a review of their resume and pointers on how they could improve it.

Here is a summary of the advice I found myself dispensing repeatedly. Like any advice disbursed for free, without a fee, use your own judgement before implementing it for your own “pari-sthi-ti” (situation)

Keep it short.

The people whose attention you are trying to grab are extremely busy with most likely a dilapidated attention span shot to hell because of all the social-media doomscrolling just like the rest of humanity. Your resume may not have more than 5 seconds to impress and get shortlisted for a follow-up conversation.

The second page of your resume has less chance of being seen than the second page of google search results.

Only Mention stuff you feel like showing off.

Have you ever seen a muscle car boast off its poor mileage on its flyer? No. Their marketing campaigns scream about the car’s acceleration instead. Extrapolating the analogy, if you did not graduate from a fancy school, skip it. If you did not get remarkably awesome grades, don’t mention that either.

Curriculum Vitae i.e CV need to contain all of that information, resumes don’t.

Biodata, objective, declaration

Father’s name, physical address, date of birth etc will take up space unnecessarily and have no effect on whether you get hired or not. A generic “objective” statement regurgitated on each resume is quite pointless too. All the information mentioned by you on your resume is assumed to be correct, a signed self declaration adds no value. Remove them all.

A resume should be tailored for the job.

It is perfectly alright for one person to have more than one resumes. Given the interchangeable nature of our industry and knowledge based economy, one might want to leverage and apply for any and every job opportunity. As such, a resume used to apply for the position of a Mobile App developer does not benefit from any mention of their expertise in server administration technologies.

Numbers

Numbers attract attention. We are drawn to them. Whenever possible try to quantify accomplishments. Eg: “I worked on 12 features that went to production” hits harder than “I worked on many features that went to prod.”

github or online portfolio

You do not have to mention your github profile. What recruiters / your potential future team mates want to see is how good of a software engineer you are. Unless there are projects that you are proud of and want to show off, avoid mentioning it. The same thing applies to behance for designers.

Your commit history or commitment issues

Following up on the previous point, I want to see someone’s commit history to see

  • how they mull over a problem statements
  • how closely do their commit messages convey what the committed code does?
  • how their approach to a problem statement evolves over time.

A demo project with just a few commits with poorly worded messages in the repository sends all the wrong signals:

  • does the candidate know how to use git?
  • did the candidate make the project themselves or just copy it from somewhere.
  • if this is what the candidate is proudly showing off, what do they do when no one is watching?

Website and blog

A personal portfolio website is a good to have. Not really necessary, unless you are applying for the job of a website developer.

Having a blog in todays’ day and age is essential when a lot of collaboration and is happening remotely over emails and team chat applications. Your communication skills may very well make or break the deal.

One should write blogs for themselves. I have so often found answers to problems in one of my own old blog posts or stack overflow questions or forum posts.

As an added benefit, your blog also gives a recruiter an insight into your mind and how it analyses problems, finds solutions, articulates thoughts and serialises them into words that other humans can understand.

Computer literacy defaults

A few resumes, even today, mention a word editor software or a spreadsheet program as something they know how to use. Everyone assumes that someone applying for a software engineer’s role would be computer literate and be able to figure out how to use almost any Office productivity software.

Unless you are a god level power user of excel and your job would actually require you to use it regularly, don’t mention it.

False Information

Don’t lie on your resume. No one should have to tell you that. No long term relationship is built on top of a foundation of lies. Lies may get your resume shortlisted and land you in deep trouble as soon as they are caught
No one wants a real life Mike Ross on their team. It is a very small world. One person who catches your lies will certainly talk to others about your deed.

Back to basics, start from scratch.

Do not start with the format of someone else’s resume and try to fill it with your accomplishments. Start with a blank document instead. List out all you have to say, perhaps in a bulleted list. Choose a subset of relevant information from that list and format it.

Spelling and grammatical mistakes

This will hurt your first impression drastically. Review your resume yourself and get someone else to proof read it too.

Projects and Experience

For any project or Experience that you mention, preferably highlight your contribution to the project or organization. Think about what your intended reader might want to know. Wherever possible, spice it up with some numbers.

PDFs only please

Avoid sending formats that only a specific word editing program can edit. Preferably export to pdf. Or better yet, use either LaTeX or typst to typeset your resume document.

Hope this helps.