Software Engineer - Describe your programming experience

When asked to describe programming experience software engineers should mention previous jobs, personal projects, and examples of how they have applied skills in real-world situations. Just over 50% of developers have less than 10 years of experience so outlining your background in a meaningful way is crucial when interviewing.

It can be daunting to have to discuss your programming experience. You want to strike the right balance of showing you have a broad range of knowledge without appearing to be a jack of all trades.

The right way to describe your software engineering experience will also differ depending on whether it is in writing or in person. A resume doesn’t lend itself to a lot of detail whereas in an interview you want to be thorough and provide detail.

Ultimately you should look at any experience you have as a major positive. Focus on what you have achieved rather than the things you haven’t gotten round to yet.

Let’s first explore what is meant by programming experience. Then look at how to describe your programming experience on a resume or CV, and in an interview. Finally, we’ll look at the things you can do to gain more software engineering experience.

Woman describing experience in an interview

What is meant by programming experience?

Programming experience refers to your software development knowledge and how you have applied it in real-life situations. It encompasses the length of time you have been coding and the type of software engineering work you have been doing.

Programming experience can include:

  • Jobs
  • Personal projects
  • Internships
  • Volunteering
  • Open-source projects
  • Research
  • Articles and media
  • Coding challenges

Describing your programming experience is similar to talking about your biggest strengths because it gives you a chance to show the interview what's great about you. Similar to your favorite programming language, there also isn’t a right or wrong answer - each company is looking for candidates with different experiences.

As a new developer, you should lean on the personal projects you have completed, how you have contributed to open-source repositories, and display your passion for the role. Those with more experience should focus on previous jobs, the work they have produced, and the research they have undertaken.

Interview questions about your biggest weaknesses aim to see how self-aware you are, but questions about your coding experience want to see if you are a good fit for the business. There is no point in giving you a senior-level role if you have only worked on enterprise-level codebases for a year or two.

Describing your programming experience on a resume

The resume should only ever be a page or two long. The format doesn’t allow for long-form discussion of what you have done and the things you have achieved. Recruiters only spend an average of 7.4 seconds reading your CV, so being too verbose won’t get you the interview.

Instead, when describing your programming experience on a resume you should:

  1. Summarise your qualifications
  2. Be brief and in context
  3. Highlight professional experience
  4. Display your skills
  5. Be honest

While it may seem like common sense to not go overboard when writing your CV, you would be surprised at how many people have resumes that are pages and pages long.

Summarise your qualifications

You should summarise your experience and qualifications at the very top of your resume in a few sentences. Feel free to mention a specific language or particular specialization but here is not the place to list all of the languages and tools you work with.

Mention the experience you have or the course you have just completed. Use keywords from their job advert to lure in the recruiter. The key here is to be punchy and relevant, if your summary isn’t on point they may not bother with the rest of the CV.

Be brief and in context

You should mention your programming experience in a digestible manner. While it is good to show a breadth of knowledge you don’t have to write about every language you know. Focus on skills that the job advert requires. Also, try and concentrate on how you used these skills in previous roles. It isn’t so much about what you know but how you have used it.

Highlight professional experience

It should go without saying that any professional experience you have should be front and center on your resume. I’d limit this to your last four jobs but mention in the opening statement of the CV that you have X years of total experience.

I find it useful to use the PAR technique when writing bullet points for professional experience. Focus on the problem, your action, and the result. It structures things nicely and even lends itself to quantifying your actions. For example:

Our codebase was unreliable when deploying to production, so I increased unit test coverage from 10% to 95% which saw a 50% reduction in post-deployment live incidents.

Display your skills

The easiest way to quickly demonstrate the skills you have to a recruiter is to display them in a skills section. Usually, this is a small bullet-pointed list of all the programming languages, technology, frameworks, etc. you know. I’d avoid putting a percentage or rating next to each. That is entirely subjective and doesn’t look great.

Be honest

There is no point lying on your resume. A short chat with a hiring manager or tech lead will clearly demonstrate you’ve exaggerated or even lied. If you don’t know something, don’t put it down. Or if asked about something that you only have a brief knowledge of, let them know the extent of your experience.

Honesty comes across well in an interview. Understanding your shortcomings can allow you to pivot and discuss where you want to be in the next few years.

Describing your programming experience in an interview

When describing your programming experience in an interview you are specific, give examples, and demonstrate the results of your actions. Highlighting the things you have done is an important step in securing your next role. Your interviewer will be keen to see if you have the necessary skills to do a good job.

Unlike on your resume or CV, you can give a lot of detail when talking in an interview. Where your resume just displays the headlines, in person you can give a full rundown of what makes you great.

The best way to describe any coding experience you have is to use the STAR method which is:

  • Situation
  • Task
  • Action
  • Results

You first mention the situation, then the task or problem at hand. Then discuss the actions you took to remedy or improve the situation, and finally mention the results of the things you did. It is a tried and tested method for all interviews, not just tech-focused. Using STAR keeps your response focused and means you don’t start waffling at the interviewer.

A good example of a STAR response regarding React experience would be:

In my previous role, we were looking to move away from legacy jQuery, a legacy JavaScript framework as it was causing a lot of bugs and was difficult to maintain. I oversaw the complete overhaul and rewrite of our existing codebase into React, since the transition our post-deployment bugs have dropped by half and general tech debt has been reduced by 25%.

How do you show your programming experience?

If you don’t have much professional experience in software engineering, it can be difficult to demonstrate that you are the right person for the job. Thankfully, there are plenty of ways to build your reputation as a software developer outside of just working.

For new developers, it means you still have a lot to talk about when asked about previous experience in an interview.

The best ways to show your programming experience are to:

  1. Contribute to open-source projects
  2. Answer Questions on Stack Overflow
  3. Score on coding challenges
  4. Create new projects
  5. Write articles or make videos
  6. Build a portfolio

Contribute to open-source projects

Contributing to open-source projects gives you great exposure to large codebases. Not only that, it shows you have used tools like git and are familiar with the pull request process. It all shows up on your GitHub account which a lot of employers will also check before your interview.

All contributions are reviewed by a core member of the open-source team and it means you get feedback on the work you have done.

Answer questions on Stack Overflow

Upwards of 80% of developers use Stack Overflow daily. It is fundamental to software development. You get a reputation based on the answers and comments you provide. If you are lacking in work experience, commenting here and building a good reputation would be a good talking point in a tech interview.

Coding challenges

Sites like LeetCode and HackerRank are useful. They have become synonymous with the tech interview process. They are good at helping develop your coding skills and they also provide a score when you complete the challenge. These scores are public and a way to show potential employers you can handle tough topics like data structures and algorithms.

Create new projects

The best way to learn is to take some of your ideas and run with them. Put something together with the technologies you have learned then make it public. Whether it's a program, app, or website, it's something you can show off to employers, and talk about in the interview.

Try to be imaginative and test your abilities. While to-do lists and weather apps are fun, they aren’t pushing the limits of your understanding. Moreover, they don’t make for great conversation in an interview.

Write articles or make videos

The best way to learn is to teach others. One of the best ways to do this is by writing articles and helping others to understand. You will have to thoroughly learn the topic before putting pen to paper.

Publishing an article on a personal blog or a site like Medium will give you a footprint online and help cement your knowledge. Alternatively, if a video is more your thing, create small tutorials or guides explaining certain aspects of technology you know.

Build a portfolio

The best thing you can do outside of gaining professional experience is to build a portfolio demonstrating the work you have done. This can range from small projects you’ve worked on, open-source contributions, and even freelance client work.

You can inject your own sense of style and flair, and go overboard with the tech stack just to practice new things. Best of all it is publicly available and you can talk passionately at length about the things you have worked on.

Resources