Improving your Resume

Gagandeep SinghGagandeep Singh
8 min read

Introduction

Hello people. I've you're reading this, you might be looking to build a better resume. It's important to keep your resume updated even if you're not looking out for a change. Sadly, not many people like me realise this on time. And because of this, we end up doing major changes in our resume when we actually start looking out. For example, I started looking out from my previous job in late 2017 and this time in late 2023. In this six years, almost everything changed - from my role to market expectations.

The versions

Feel free to laugh but the 2017 resume looked like this (that got me into LocoNav). Before LocoNav, I applied to RedDoorz also and got a call from this resume. So probably it was good according to that time and my YOE.

I'll not discuss a lot on this resume because I did not continue editing on this file. It needed a lot of restructuring, so rewrite was better. I'll share two more resumes based on my current skill set, the comparison between both. Even the first one was not that bad (rather it's fancy) as it got me a call from Atlassian without a referral :)

The resume shared below was created around mid 2023:

I thought fancy resume with photo would look cool 😶. I used some template on Canva to build this. I shared this with 4-5 friends for a feedback. These were the points that I worked on:

  1. Build a simpler resume. That photo is not needed. Better start building on a simpler tool like Google Docs. I did that.

  2. The two column resume is generally not extensible. For example, I had not mentioned a lot about my roles/responsibilities in the previous organisation. And once I added those details, the right section expanded to the second page where as left (blue-ish) section was empty.

  3. Remove these things as much as possible, no one wants to read them:

    1. The top right part of resume [Objective] that starts with Having about 8 years.

    2. Sections like Strenghts, weakness, languages, hobbies.

  4. I had made the Language and Platforms section too fancy by adding so many things, categorised under 4 sub-headings.

  5. If the space is used nicely and we opt for a single column (plain Google Doc) resume, we could put the contact information in a single line (yes, I did that later).

  6. Education section could be trimmed. Remove school/college name and just talk about degree and board/university. Again this can come in 3 lines if we go for a wider page (single column basically).

  7. The most important point - The points mentioned in the resume do not talk enough about the impact I got into the projects. I majorly wrote like - "I did this task single handedly" or "I contributed to this along with the team". Our focus should be on the outcome or the impact. No one is interested to read plain stories that do not bring a good business or engineering impact.

Apart from this, few improvements were done from my end also:

  1. Although I had done a lot of work in the past 6 years, it's important to choose the impactful work. The issue in my case was that I had taken up multiple things that were very impactful but I had to choose and still let go of few good things.

  2. I had divided my role as a Staff Engineer into two parts - Enablement team and Payments team. That sounded like over-engineering the resume because for the reader, it might not make a lot of sense. Also, because the work on payment product had winded up, so I thought I should talk less about that and merge these sections. Moreover, I was working on a large internal product that was neither under payment, not enablement role, and I had to accommodate that as well. The best way was to merge a single "Staff Engineer" role and mention in points/sub-points.

  3. I created second level category inside my resume wherever required. For example, for mentioning my work on the payments product, I thought it's better to mention a wider heading and explain everything under it, rather than putting each thing about payments product in a new point where this can get mixed with other points, or where I need to mention the context of "payments" in a repeated fashion. Because this was now a single column resume, creating nested categories was possible and was not wasting much space.

  4. I tweaked font size, page margins, bullet margins and other settings in the Google Doc to ensure I'm not wasting space and I'm able to wrap everything in a single page. For example, I tweaked the indentation for nested bullets so that most of the nested points get completed within a single line.

  5. Used ChatGPT to ensure no typos, grammar issues. It's also very helpful to write shorter sentences without losing the context. The only thing to see while using AI tools is that we need to make sure that overall language of resume is consistent. It shouldn't happen that some specific points are written in a very fancy English while others are too simple. Just take care to ensure that consistency.

  6. Consider yourself as a problem solver (senior engineer). Don't associate yourself closely with a technology stack when you're talking about your contributions (eg. Java/Spring or Ruby/Rails or Python/Django). When you think in a framework-agnostic manner, you don't use names of libraries that are specific to your tech. This makes it easier for the reader to understand incase they don't share the same technology background. For example, Rails developers usually mention libraries like Sidekiq, ActiveAdmin, Devise and Rspec in their Resume. Now for someone who is filling a Java position, it will not be possible to understand these without googling. And resumes are hardly skimmed for a minute or less :) We should rather talk in generic terms like background processing framework, admin/backoffice library, authentication framework and testing framework. In this way, there are better chances of someone understanding your resume. Only place to mention your current language/framework is under the Skills section.

The result

This is my current resume that I have posted on my portfolio also.

In comparison to the two column fancy resume, this is easier to modify because there were instances while editing the two column resume when I thought of adjusting the ratio of left and right side just because few points were crossing the line just by 1 word. Or I thought I should adjust the fonts. This one is much simpler and flexible to future modifications, just like a good software design :)

Again highlighting the most important point - talk of impact. I'll share a few examples on how I modified the points to show impact:

  1. Before: Took the first microservice out of a 6+ year old monolith, reducing a decent load from database
    After: Pioneered the transition of critical components to a microservices architecture, achieving a 75% speedup in the five slowest endpoints.

  2. Before: Scaled Fastag payments product from 0 to 2.5Cr daily transaction amount. This is almost 2% of India's total daily toll.

    After: Successfully scaled the system from inception to handle 2.5Cr daily transaction (2% of India's total toll volume).

  3. Before: Worked on reducing cloud spend by analyzing usage of servers and using other methods.

    After:Strategically reduced from 70+ to 5 queues based on latency/memory requirements, optimizing approximately 25% of infra costs.

  4. Before: Simplified how the main entity of system (vehicle) is accessed by various components.
    After: Planned and executed refactoring of core system entities, streamlining the access over 200+ reports and APIs.

  5. Before: Migrated Email provider to AWS SES with bounce/complaint list handling flow.
    After: Efficiently migrated ~ 150 different kinds of emails from Sparkpost to Amazon SES implementing bounce handling for increased reliability.

  6. Removed points that could not be modified to show impact. Like:

    1. Involved in discussing overall global architecture of logistics based Saas Product.

    2. Lead various other initiatives like removing huge chunks of dead code...

Conclusion

In total, I had to do 5-6 iterations on my resume over a period of 9 months, based on feedback that I received from multiple people. The idea of this blog post is not to provide you the best resume template on the internet that will get you into your next FAANG role. I'm just sharing what worked for me and how I improved it over time. I've applied in about 6-7 companies where this got selected even without a referral. This includes both big tech and smaller companies.

Many of the points mentioned above are subjective, like:

  1. I've seen many senior people adding Objective / Career Summary on the top.

  2. Or adding things like Strengths, Hobbies and Languages.

And I do not mean that those resumes will get rejected. I just wanted to build an optimised resume which can be skimmed over efficiently and get me some interview calls. Some job portals allow you to write a separate cover letter where you can include details of your current role and expected role (overlaps somewhat with Objective section of the resume). At the end, it's not about that one way of building it, but for what works for you. Good luck for your Resume building journey.


If you liked this post, please read these too:

  1. My Stripe Interview Experience.

  2. If you're working on reducing your cloud spend, do read this.

  3. I've shared a detailed case study where I optimised docker build time and size.

1
Subscribe to my newsletter

Read articles from Gagandeep Singh directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Gagandeep Singh
Gagandeep Singh

I’m a Staff Engineer with nearly a decade of experience in building and scaling software solutions, specializing in Ruby on Rails and AWS. I've worked with startups and scaleups to turn ideas into robust, scalable products. I'm passionate about writing clean, maintainable code while balancing rapid iteration with long-term stability. Beyond coding, I write about a few interesting topics on my blog. If you like to read about clean code, refactoring, team culture and productivity, do check my blog.