How to List Programming Languages (& Other Technologies) on a Resume

how to add programming languages on a resume for software developer jobs
Summary:

There isn’t one right way to add technical skills and programming languages to a resume, but there are some best practices you can follow!

When browsing through job listings we are pattern matching: looking for keywords and phrases that match with our skills and what we want from our next job. 

The more times you mentally check one of those things in a job listing, the more likely you are to apply.

Some of you will do this formally — with an actual list to compare — and others will go by feel. Either way, if you want to work 100% remotely on a JavaScript and Python stack then an on-site .net shop probably isn’t going to rank very highly on your list. The pattern doesn’t match.

Matching those patterns is difficult when job descriptions are a solid wall of text with no thought given to information layout. It might be worth an application but digging through 1,000 words of corporate jargon and a summary of achievements since founding makes it an uphill battle.

To combat this, some companies have taken the opposite approach. They summarize what they do in 2 sentences, list some top frameworks and programming languages in a bulleted list and, if you’re lucky, give an indication of the type of work you’ll be doing. The hard technical information you want is there but, let’s be honest, they’re not really selling the role well, are they?

If you’re nodding along to this, then I know you’ve made the tedious trudge through job boards before. 

Before you get too smug, though, I want you to cast that same critical eye over your software developer resume or CV and tell me what you see.

Have you fallen into the same traps as our fateful job listing above? Maybe you’ve gone with a middle path, and mixed a few walls of text with dry bulleted lists of technical skills. The result: your attempt to appease all parties may have successfully annoyed both.

Don’t feel bad. Selling your technical achievements is hard. So hard, in fact, that when faced with an incomprehensible wall of text, recruiters often just look at the names of your previous employers and judge your application based on that.

This is why developers with Apple, Google, Microsoft, etc. in their work history have such an easy time getting interviews. It’s not that their skills are necessarily better than yours — but those company names act as a neon sign of credibility for the recruiter that shortcuts any real need to wade through the rest of their resume.

For us mere mortals who don’t have one of these lauded technology companies on our resume, we need to try a little harder to convey our technical skills to both a technical and non-technical audience. Here’s how.

Looking to hire the best remote developers? Explore HireAI to see how you can:

⚡️ Get instant candidate matches without searching
⚡️ Identify top applicants from our network of 300,000+ devs with no manual screening
⚡️ Hire 4x faster with vetted candidates (qualified and interview-ready)

Try HireAI and hire top developers now →

1. Match the pattern

Much like you have a set of requirements that you need to see displayed in the job listing, so do the companies. What’s fantastic is that they tell you in the job listing exactly what they need.

5+ years experience in React

7+ years experience in JavaScript

3+ years experience in .NET

We know it sounds obvious, but your resume needs to highlight very clearly how you meet those criteria. Don’t just imply or allude to meeting the requirements — spell it out for them. 

It’s easy to think that because you write:

5 years developing native iOS apps

That the person — or machine — reading your resume will understand that that means you meet the requirements of:

5+ years Swift

5+ years UIKit

1+ years SwiftUI

As a native iOS engineer, it is obvious that you meet the requirements. However, to a non-technical person reading your resume it may not be clear at all. The two minutes it would take to make it blindingly obvious you meet the requirements are well spent if it’s the difference between making it through to the next stage or not.

If they are specifying years of experience required, then make sure you say how many years you have. Don’t make them do the math to work out that due to a position you had in 2011 where you wrote JS,  you, therefore, have 11 years under your belt. You could be in an initial pile of over 100 resumes. So making the reader’s life as easy as possible is key to standing out. Requiring mental gymnastics from the reader is the opposite of easy and clear.

Read More: How to Write a Software Engineer Cover Letter w/ Sample Template & Tips

2. Lists Are Okay If…

a list of programming languages and tech skills to put on a resume

Lists are dull but they are effective. They force you to think about how to convey information as succinctly as possible and they are easy to skim read.

That being said, don’t fall into the trap of simply listing your technical skills and moving on. A good list is a layout tool to help show the reader a group of points that make you a good fit for the role. A dull list of technologies and programming languages may tell them what skills you have… but it won’t win you an interview.

If you are falling back to a stand-alone list like this:

JavaScript, TypeScript, Angular, NgRx, Python, Docker, Kubernetes, AWS, DynamoDB, SQL,

…then you need to have a re-think.

While the above is factually correct, it focuses too much on the skills and not enough on how you use those skills to add value to a team or business.

Remember that developers are hired to solve problems and create value with technology. Developers who show how these skills are used in context are the ones who stand out.

The above is far better broken out into a few bullet points along the following lines:

– Developed rich frontends in JavaScript, TypeScript and React with complex state managed in NgRX

– Deployed a scalable Python backend with Kubernetes, Docker and AWS CodeBuild for fast, continuous deployments

– Managed the complexities of multiple data stores with SQL alongside AWS DynamoDB to provide performant querying

It’s easy to read that as a generic dressed-up list, and to a certain extent, you would be correct because I have written it in a vacuum. The magic of the above approach is when you couple it with the job specification and use their own keywords/language back to them.

  • If they want a “scalable and interactive frontend” then make sure to include scalable and interactive in your bullet point.
  • If they want a “highly available high throughout backend” then likewise use those words as well.

This is a common tactic used by effective marketing campaigns and by salespeople to make their target market feel like they understand you and that you share the same values.

You can use that same tactic to turn a dry list of competencies into a highly targeted demonstration of how you are the best candidate for the role and why you will be able to add value from day one. 

The one caveat is that you actually have to be able to back the claim up with provable experience when the time comes!

If you’re worried that this makes your technical skills less obvious, you would be right. However, something to remember is that the first read of your resume is often done by a program like an applicant tracking system (ATS). Unlike a human, an ATS will always be able to pull keywords out so your resume makes it past the automated paper sift. 

To make sure it is still seen by a human you’ll need to stick around to point 5 for the secret weapon to handle this problem.

Read More: Software Developer vs Engineer vs Programmer (& More Related Titles)

3. Passing the ‘So What?’ test

We know our own work and skills intimately. We understand why they are relevant to the job spec. If the spec requires “extensive experience in deploying stable and well-tested code” and you put “Used Gitlab pipelines to automate containerized blue-green deployments” you know you’ve hit the nail on the head. In fact, you’ve overshot with the zero-downtime aspect just to show off!

But there’s still a problem. You haven’t told them why this is relevant. In short, it doesn’t pass the “So What?” test.

Asking this question is a great way to test everything on your resume to make sure that it’s both adding value and deserves its place on the page. If we ask that question of the line above, we can see that it doesn’t pass the test without some further clarification.

If we rewrite it like this:

“Used Gitlab pipelines to automate code testing pre-deployment, reducing production bugs by 20% and increasing code stability.”

You’ve told them what you can do and provided a short outcome of when you have used that technology in the past, including a very real and relevant business metric.

4. Relevance

Once you’ve been a developer for a few years you will have a long list of technologies that you’ve used. It is natural to want to show off everything you can do. The problem with showing everything on your resume is that it buries the skills that this specific job requires.

Unless a job listing for a Rust developer also asks for multiple supporting languages, don’t bury your Rust skills in a list alongside PHP, Python, and JavaScript. Bring Rust to the fore, on its own, and make it clear you have the technical skills they need.

If you really want to include everything you’ve ever learned, then split your resume into Relevant and Other. This will force you to give priority to what they have asked for. You will make the reader’s life easier, as the Relevant section acts as a signpost for them. 

You can then show the breadth of your knowledge with an Other section. This is where you can mention the two projects you wrote in SQL three years ago.

Everything you put on your resume needs to earn its place and not detract from the main demonstrator that you are a candidate worth putting forward to the next stage.

Read More: When Can You Stop Calling Yourself a “Junior” Software Developer?

5. One cool trick

The first time your resume gets looked at by a person, you have about 7 seconds to make an impression.

A boring list of skills can help with this… but won’t do much for you in the following 70 seconds, when the reader wants to know more about you.

So, the challenge is, how to convey exceptionally quickly that you have the skills for the job without then losing the reader when they want to learn how you have used and developed those skills?

One word: bold.

Everywhere a technology, acronym, or programming language is mentioned in your resume, select it and bold it. This will immediately make it pop off the page without the reader feeling like they are being shouted at (as they would with capitals). It also helps guide the reader through the document, as it’s nearly impossible to read a bolded word and not pick up on the keywords around it.

This will enable you to use all the points above whilst also making it quick and easy for the reader to parse the document and see in those first 7 seconds that you are worth joining the “to interview” pile.

Conclusion

Listing technical skills is a challenge and one that engineers have struggled with for decades. With the ever-growing list of skills and requirements, it’s only getting harder to creatively convey your hard-earned abilities.

Using these five tips will turn any dull resume into a confident expose of your engineering prowess.

Ready to update your resume? Get started with Arc’s resume builder.

You can also explore HireAI to skip the line and:

⚡️ Get instant candidate matches without searching
⚡️ Identify top applicants from our network of 250,000+ devs with no manual screening
⚡️ Hire 4x faster with vetted candidates (qualified and interview-ready)

Try HireAI and hire top developers now →

Written by
Simon Barker
Join the discussion