If you are a developer looking for a job, I bet you heard this already: "We moved forward with another candidate who has more experience."
Messages like this can literally break you.
They also put you in an impossible situation. If your problem was a fancy Data Structure, you could learn it. If it was a Design Pattern, you could study it. But, you can’t just snap your fingers and get more developer experience.
Trying to get a developer job as a developer without experience is almost impossible in this economy. That is because of the vicious cycle called “the experience trap”.
You can’t get technical interviews because you don’t have enough experience. You don’t have experience because you don’t get technical interviews. So you can’t find a job. It is a chicken and egg problem.
And the more Junior you are, the harder it is.
In 2024, the situation got even worse, with companies becoming even more demanding. With layoffs, recession, and AI, the job market became “Seniors only”, where experience is king.
The vicious cycle of Junior developers. Image Credits: Reddit.
How can you break this vicious cycle?
Should you follow traditional advice and do more courses or side projects? Should you lie on your CV?
Or should you wait 10 years and try again?
Most of you can’t wait 10 years as you probably need a job as soon as possible. And even if you could, you probably don’t want to.
You also know that no matter how many courses or side projects you do, most software companies won’t take that experience seriously.
And you might not want to lie in your CV.
First, lying is not the moral thing to do. Second, sooner or later you will be caught putting your reputation at risk.
Developers looking for a job in 2024. Image credits: Reddit.
In this article, I will show you how to get experience as a developer when you don’t have any.
If you are just starting as a developer or already at the Junior level, keep on reading. If you already have some experience, I will show you how to make the most out of it.
Knowing how to sell your developer experience will allow you to aim for positions that are much better than your current level.
For example, you might be a Mid/Level Developer who wants to give a shot at Senior level positions. This article will show you how to make the most out of your existing experience and stand out from the crowd.
Keep in mind, that I am talking about professional experience. The kind of stuff you can talk about in real-life technical interviews. Not random side projects that no one cares about.
Who am I to give you advice on this?
My name is Dragos, I am a self-taught JavaScript developer and in the last 3 years, I mentored over 250+ developers helping them move into Senior positions faster. I help ambitious developers get the recognition and salary they deserve. Read more about what we do here.
The first step to getting developer experience is to understand why and what kind of experience software companies are looking for in a developer in the first place.
🚨P.S. Are you looking to fast-track to the Senior Developer with quality resources, feedback, and accountability? Click here to join our Free Community - The Senior Dev Academy.🚨
Disclaimer: The Truth About Developer Experience (And Why Companies Are So Crazy About It)
You might think experience is the number of years you spend in a certain job. And to some extent, it is. But what matters more is what’s behind that number.
Experience is proof. Proof of expertise.
In the market, companies get paid to deliver value. Value means solving problems. Value means building software that solves a business problem. Those problems are usually not easy to solve. This is why people are willing to pay for a company to solve them.
Solving problems and building things is risky.
Even more risky if you do it for the first time. Things can go wrong. Timelines can be missed. Budgets can be exceeded. Risk is bad for business. Because risk is very expensive.
Companies want to minimize risk at all costs.
One way of minimizing risk is by hiring very skilled people. The more skilled the better. People who already built things like the ones you want to build in the past. Because they already walked that path, they know the shortcuts and the pitfalls.
Experienced people can anticipate blockers and failure points. In software development, this is even more important because things break all the time.
Think about it this way…
On the day of your wedding, you wouldn’t want the Junior hairdresser who just graduated to cut your hair. You would want a professional stylist. Even if you want the simplest haircut in the world, you don’t want to risk it. You would go for the experienced hairdresser.
When hiring, companies do the same.
Because they don’t want you to make mistakes with their money.
They want to pay for the mistakes you’ve made in the past and what you learned from them. Hence the current obsession with “years of experience” comes from.
The work experience companies are looking for is the result of making mistakes. And learning from them.
It is the result of having exposure to different tech stacks, scenarios, and situations when building software in the real world. Of applying theoretical knowledge in the real world and learning from the results.
Keep this in mind both when writing your CV and during technical interviews.
Even if you don’t have any experience writing code, or you have very little, you will want to portray whatever you have as professional experience.
Before We Start: Eliminate Limiting Beliefs
This is a mental block I see a lot of Junior developers having. They think, that just because they never had a developer job, they cannot consider themselves real developers.
They think they need an “official start” to their developer career.
Like a Bootcamp or a first job. When in fact they don’t even need such a thing. Because the moment you start writing code with the intent of getting a job, you are a developer. Even if nobody paid you for it yet, you are a developer, and you are coding professionally.
So leave the “I am not a real coder mindset at the door” pull up your sleeves and let’s help you solve this “years of experience problem”.
Now, there are a few different ways you can get developer experience when you have none. Let’s go through them, one by one:
1. First, Squeeze The Lemons You’ve Got
The first step is to pick whatever developer experience you have already and expand it. It doesn’t matter if is only a few months, weeks, or even days, you can and should leverage it as professional developer experience.
This can be an unpaid internship, a time you were helping your uncle with their WordPress site, or an official program, like a Bootcamp. They all count.
Not exactly what we are aiming here for, but interview experience is quite valuable by itself.
We are going to start with non-technical experience, experience you’ve got before learning how to code. Afterwards, we will move on with how the coding experience you’ve got so far.
1.2 Turn non-tech experience into tech experience
This is one step most self-taught developers miss. They think about their developer journey as a cut. And disqualify whatever experience they had before writing their first line of code. But if we are in the game of who has more experience, we have to squeeze that lemon, and we have to squeeze it hard.
What you want to do here, is to pick your last work experience and think of the part that involved interacting with a piece of software.
"When it comes to standing out as a developer, every bit of experience counts." - Dragos Nedelcu
For example, if you worked in sales before, you probably were adding data to a CRM. If you worked in logistics, you were using an ERP. If you were an analyst, you used Excel and Macros. And if you worked in marketing or UX design, I bet you touched basic HTML and CSS.
Now take that little piece of experience, even if it was only 3% of your job back then, and talk about that. Quantify it somehow, make it tangible, and mention the technologies used. Just like you would do with your coding experience.
Senior Dev Tip: you should use around 3 bullet points maximum in your CV for non-technical positions. If it is a 100% non-technical position, and you haven’t touched any technologies during that time, you might want to skip that experience completely.
🚨P.S. Are you looking to fast-track to the Senior Developer with quality resources, feedback, and accountability? Click here to join our Free Community - The Senior Dev Academy.🚨
1.2 Turn Bootcamp Experience Into Professional Experience
The biggest mistake developers make with Bootcamp experience is that they consider it education and not work experience. When in fact, what they are getting in a Bootcamp is the closest thing to professional experience.
You have applications to build, together with a team of other developers under really strict deadlines. A Bootcamp is the closest you will get to writing code for a living!
So when adding it to your CV, don’t list it as education. Use the title of “Software Developer Trainee” or similar.
Jokes aside, talking too much about your Bootcamp, and in the wrong way, screams "Junior Developer".
Bootcamp graduates usually get a bad reputation. Work around it. Don’t talk about the Bootcamp. Talk about what you achieved during that time.
Second, quantify what you’ve done during the Bootcamp just like you would quantify professional work experience. Again, don’t talk about what you learned, talk about what you built.
How many applications have you delivered? How big were the teams you worked on? They might sound like silly things, but all these little details add up to a great developer CV.
1.3 If You Are Completely Self-taught
If you don’t have a Bootcamp and you’ve been learning how to code all by yourself, the same principles apply.
First, add yourself self-employed from the date you wrote your first line of code. Second, take a look at point #2 of this article.
There, I show you how to turn your self-study into professional experience. So it can catch the eyes of recruiters and get you that technical interview.
Senior Developer Tip: You might want to get rid of the Bootcamp in your CV. What Bootcamp experience does is that it adds a “cut” to your CV. Instead, extract what you were building in the Bootcamp and incorporate it into your “self-employed” experience.
2. Second, Fabricate Developer Experience Out Of Thin Air
Now that you’ve squeezed what you already have, it is time to add another layer of experience.
You will do that by leveraging all courses and side projects you’ve done to improve your course and packing them into a big snowball of experience.
The problem most developers make here, is once again, training learning activities as non-professional experiences. Wrong. We won’t talk about courses or side projects at all.
Not really magic, but properly quantifying your achievement and learning experiences.
We will talk about tangible outcomes that came out of those learning experiences.
2.1 How To Turn Online Courses Into Developer Experience
Online courses are probably the hardest to turn into "developer experience", particularly if you just list them in your CV.
Companies won’t take seriously things you learned on YouTube. Unless you present them in a proper way. In a tangible way.
For example, if a side project involved React Hooks, say, "used advanced React hooks to enhance performance and user experience on a high-traffic client-side application".
If it was an AWS course - "Deployed 6 different applications on the AWS Cloud, making them production-ready, leveraging different services such as AWS Lambda, S3 and EC2" etc.
Don’t tell me what you learned, show me the result of that learning.
Even if you haven’t learned much by doing a certain course, you can still use what you learned in your CV.
Another solution here is to move away from tutorial-like problems toward more project-oriented courses where there is some kind of result. Like a finished React application that you can deploy and show to people.
Make sure that what you are learning solves a real-life problem. And put that knowledge into practice.
2.2 Side-Projects: How To Sell Them Better
Side projects are a bit better than online courses for getting developer experience. Because they involve a lot more building and experimenting.
They still have a few problems though.
The code you write in a side project is usually much simpler than a production app. They are focused on building things from scratch and not so much on real production problems like testing, legacy code, scalability, and edge cases.
And lastly, employers hardly take side projects seriously.
Side projects are professional developer experience. But you need to present them in the right way. Image Credits: theSeniorDev.
Is like the tattoo artist who only tattooed on animal skin and never did a real body tattoo. I bet you don’t want to be the first human to paint on.
Same for companies and side projects. They don’t want to be your guinea pig. They need to see proof of mistakes and tangible outcomes in those side projects.
Just like with online courses, with side projects, the key is to make what you built as tangible as possible. The best part about side projects is that they are easier to quantify than online courses.
If you have built an image processing service with Node.js you can mention how many images it was able to process. If it was an e-commerce store with React, you could talk about the number of products or merchants it could handle.
🚨P.S. Are you looking to fast-track to the Senior Developer with quality resources, feedback, and accountability? Click here to join our Free Community - The Senior Dev Academy.🚨
How To Pick Side-Projects To Work On
The more boring, the better. Think CRM versus crypto platform. The CRM is not fancy, but most companies use one. They will be able to relate to it when you bring it up in a technical interview.
It is crucial here that you don’t get distracted by “shiny” objects.
You don’t need more side projects. You need to sell the ones you have effectively.
Build something good enough to showcase. Don’t spend more than a few weeks on this. Most of your time should be spent on applying to jobs and doing interviews, not side projects.
Senior Dev Tip: Pick your 2 best side projects and turn them into professional experience. Polish them as much as you can. Make them production-ready. Deploy them to the Cloud and link them to a proper domain. Add some basic authentication. Populate the database if they use one. Fix any bugs you might find. Make a beautiful user interface.
Be careful, this can take you one day or it can take you 3 months. Do you have 3 months to spare? Probably not. The trick here is how you scope your side projects. To keep them small. You don’t need to build complex things to stand out as a developer. You need simple things done very well.
Note: don’t worry if your code is not perfect. If they ask you about it, you can always say you signed an NDA. Or that the project is still in stealth mode because they are raising money. If you know how to answer technical questions, people won’t dig in further.
2.3. Final step: put everything into a big bucket of experience.
Okay, so you extracted all kinds of tangible outcomes from courses and side projects. Now it is time to put them all together into one big job position.
Add yourself as self-employed and mention you were building applications for your small and medium businesses. Make up a name for your company and add all that experience there.
Magic. You now have created developer experience out of thin air!
There is a pitfall here. During interviews, some people will dig deep into that experience. You will be asked what your role was there. The technologies you used, and what the team looked like.
Unless you have a good story that you can stay behind here, you will most likely mess it up. For this last position, you want to write down all those details and ask those questions mentally and on paper before you do it live in front of a recruiter.
Senior Dev Tip: It is a good idea to build at least one of your side projects with friends or colleagues, so you can get team experience that you can talk about during a technical interview.
3. Third, Get Professional Developer Experience Very Quickly
Here you will need to find someone with a business idea, and, ideally, a bit of money, who needs a coder to make it happen. The easiest is to talk to your close friends. If not, you will need to find strangers who need coding problems solved. Don’t worry, there are plenty of them if you know where to look.
3.1 Ask Your Friends
If one of your friends has a small business, they probably need a website. If they already have a website, it might need some improvements.
They might also need CRM setup, some SEO work, and a booking flow. I am talking about yoga teachers, hairdressers, dieticians, and all kinds of consultants.
Offer to help them out for free in exchange for a reference. Quantify whatever you build for them as well as you and add it to your “self-employed” bucket.
3.2 Hang Around The Right Places
To find people who need help with their web projects, just hang around a co-working space for a few days or go to some entrepreneurship Meetups.
Entrepreneurs are always building something. Sooner or later you will meet someone with an idea who needs extra hands to help them build it. They don’t need to have raise capital yet.
Startups are great places to get developer experience fast. Just make sure you set the right expectations.
If they have a project that needs help, it is good enough. By helping them, you will not only get developer experience but also make some great contacts that will get you your next job.
Senior Dev Tip: Everyone is trying to build with AI these days, so even if you are a JavaScript developer it might help you to add some LLM skills to your profile. No need for 60hrs courses, just get familiar with how tools like ChatGPT are built and how to integrate them into your projects.
Senior Dev Tip: This is how I found my first web development project, by hanging out with entrepreneurs. There was always someone around who needed the help of a coder.
Senior Dev Tip: Do try to get paid for the gig you find, even if it is just a little. Money will keep you motivated and will show that you are adding value to the projects.
3.3 Use Online Market Places
If everything else fails, you can create a profile on freelancer marketplaces like Upwork or Fiverr, and try your luck there. I warn you, it won’t be easy to stand out.
You will be competing with millions of other people worldwide. Each freelancing platform has its own rules, and that is not the scope of this article.
Overall, use online platforms to supplement your experience but don’t count on them fully to build your developer career. Your past jobs, learning experiences, and local startup ecosystem are a much better place.
Senior Dev Tip: This is the option I like the least because it is probably the hardest. On these platforms, you will face insane competition at the international level. You will also interact with your customers in a faceless way, risk not getting paid, or simply wasting time. I would try it in parallel as you work on all the other ways I outlined above.
Conclusion
You might not have tens of years of developer experience yet, but if you follow all the steps I outlined in this article, you will, without a doubt stand out.
Key takeaways:
- To stand out in the crowded developer job market, every bit of experience counts, technical and non-technical.
- How you frame your experience is even more important than how much experience you have. Frame everything you’ve done as professional experience.
- Turn side projects and online courses into valuable experiences by focusing on tangible outcomes and problem-solving skills.
- Leverage your current network and local startup ecosystem to get experience fast.
Now that you have developer experience, it is time to write your developer CV and start doing some technical interviews.
I will see you in the next one,
Dragos
🚨P.S. Are you looking to fast-track to the Senior Developer with quality resources, feedback, and accountability? Click here to join our Free Community - The Senior Dev Academy.🚨
Top comments (8)
Insightful!
Thanks @jeffchavez_dev :)
You're welcome.
Thanks for the insight.
You are welcome @oaluna :)
Wow, this should make a top list.
You nailed it.
Thank you so much.
You are welcome @hariet, glad you found it useful :)
Great!