Learn Docker With My Newest Course

Dive into Docker takes you from "What is Docker?" to confidently applying Docker to your own projects. It's packed with best practices and examples. Start Learning Docker →

How to Get Programming Jobs When You Have No Experience


As developers, life is good when it comes to gaining initial experience compared to other trade skills. Here's how to get started.

Quick Jump: First Let's talk about Dentists | Now Let's talk about Programmers

I’m sure you’re aware of the catch-22 around finding work (in any profession).

It’s the one where you need experience to land the job you want, but you can’t gain experience until you get a job.

This job could be anything. It might be programming related, it might not be. It could be a full time position, or a freelance contract, etc..

First Let’s talk about Dentists

I’m not a Dentist, nor have I ever wanted to be one, but I did Google a few things for the sake of this article. I picked Dentists because they are well known for having a pretty rigorous training period before they are allowed to legally open a practice (in the US).

Things You Must Do in Order to Open a Dental Practice

  1. Complete at least a Bachelor’s degree
  2. Pass the Dental Admissions Test (DAT)
  3. Earn a Doctor of Dental Surgery or Doctor of Dental Medicine (4 years)
  4. Obtain a license from your state board of dentistry

That’s a lot to go through, and some dentists end up going through a bunch of additional schooling and training to become specialists in their field.

Dentists Have Pretty High Student Loan Debt

I plucked this quote from the American Student Dental Association:

According to the American Dental Education Association (ADEA), the average debt per graduating senior is $287,331 (according to a 2017 survey).

Yikes, that’s no joke. Nearly $300,000 in the hole before you break even.

Gaining Initial Experience as a Dentist


I’m not going to make pretend I know what a real Dentist’s training process looks like, but I Google’d for “dental training dummies” and that was the top image result.

That’s one of the creepiest things I’ve ever seen haha, but let’s say for argument’s sake, a dental student in early training probably pokes and probes that dummy for many hours?

I’m sure the whole mentor / apprentice model is very popular too. As an upcoming Dentist, you can probably gain a ton of experience by watching the hands of a master just to see how they work inside of someone’s mouth.

Then of course, I’m sure you’ll eventually do a ton of work on real patients. Perhaps at a hospital near your school. I’ve seen that before. Typically you can get heavily discounted work done, as long as you don’t mind having a recent graduate or students work on you.

Starting a Dental Practice

After all of that, then you open your own practice and now you might be 28 or 30 years old, fresh out of school. It must be tough to start because from the patient side of things, do you want someone with only graduate school experience?

Keep in mind, I’m not talking down to new Dentists. I know the experience they gain at school is real, but I think no one will contest that edge cases and unexpected situations can only really be gained by experience.

If you asked a Dentist who has been running a successful practice for 25 years I’m sure they are going to tell you they’ve learned a ridiculous amount of new things along the way.

At that point they’ve been exposed to such a high number of unique cases and variants. A cavity in your front tooth probably has like 100 different variables, and you might not see half of those until you’ve been working for 10 years, etc..

Now Let’s talk about Programmers

I am a software developer. I never went to university and never really had a full time position as a programmer. All I have is ~20 years of freelance development experience.

Things You Could Do in Order to Start Programming

  1. Have access to a computer and the internet
  2. Read books, take courses, read blogs, watch videos, etc.
  3. Pick a code editor to use (harder than anything we’ve discussed so far)
  4. Find a language / framework that interests you and then learn it

Gaining Initial Experience as a Software Developer

This is where things differ drastically from a Dentist. Sure, you could attempt to work on your own teeth without any experience but that’s pretty risky.

However, working on your own programming related projects without any experience isn’t risky at all. It’s not like you’re going to accidentally stick a diamond tipped drill bit spinning at 400,000 RPMs through the roof of your mouth if your hand slips when typing in some code.

If your hand slips when programming, you might get a syntax error which you can fix in about 2 seconds. No Novocain or reconstructive surgery needed!

The most danger you’re ever in while writing code is saying you prefer tabs over spaces.

All you really need to do is get started. It doesn’t matter what you build, as long as it’s interesting enough to keep you engaged. That’s why building something you personally want is a great way to get started. The goal is having something you’ll actually use.

Starting a Software Development Career

If this is coming from a labor of love (it should be), financial well being won’t be your driving factor to get the ball rolling. You don’t need a job to gain experience.

You can gain tons of experience on your own for free. Build many things, show your work on GitHub and maybe even write about the process.

If you don’t know what to build, that’s ok too. A great way to get started is to take a service that you like and try building a heavily watered down version of it.

For example, creating a full scale Twitter clone would be a daunting first project, but how about something that lets you post a paragraph of text to a profile page? That’s quite a bit more approachable.

Once you do this for a while, you’ll gain confidence in yourself and have a bunch of things to show for it. Then you can use the things you’ve built to jump into the job market as either an employee or freelancer.

I know, you’re probably thinking “but no one wants to read about a newbie learning to code, and I’m embarrassed about putting my code on GitHub”.

I’m not the head of a recruiting firm, but if I were ever in a position to hire anyone I would almost always choose the person who has a bunch of self motivated projects available vs. the person who has none.

That just shows you care about your craft, and you’re the type of person who wants to make a life style out of your profession. That’s a huge perk in my opinion.

It’s expected that someone just getting started is going to make a million mistakes (I still make tons of mistakes). No one is going to ridicule you over that, plus making mistakes is one of the fastest ways to learn.

You’re Only Bound by Time

Learning to become a software developer from scratch isn’t going to be easy but that’s not really the focus of this article. There’s no way something like that can be condensed here.

It took me many months to become productive and see real progress, and over 20 years to realize how little I really know.

But, with that said, don’t worry about not having experience. That’s an easy fix. Just build, build build and make your work accessible by others. Who knows, you might even get job offers presented to you based on your personal projects.

Never Miss a Tip, Trick or Tutorial

Like you, I'm super protective of my inbox, so don't worry about getting spammed. You can expect a few emails per month (at most), and you can 1-click unsubscribe at any time. See what else you'll get too.