How do I get experience when I have no experience?

Can anyone help me? I have had plenty of jobs but never one as a programmer. I have some skill, but no experience. The problem is this: in every job posting I see, even those purporting to be "junior" positions, they want someone with at least a year of experience. How do I get experience when I can't get a job?? Any advice / tips would be great. THANKS!

Did you find this post useful? Show some love!
DISCUSSION (81)

Hey Tiffany,

If you’re looking for experience, I’d be willing to take you on as a developer in my business to help you gain said experience. If you’re interested I’ll reply with an email address you can reach me at to discuss details!

Stack:

  • PHP
  • NodeJS (Typescript)
  • Elm (for larger production applications)
  • PostgreSQL and rethinkdb
  • AWS
  • Go and Redis

Let me know!

Thanks Michael! I'd love to talk. Here's my email: tkwismer@gmail.com

Great, I’ve sent you an email.

Hi Michael,

Would you be willing to assist me too?

Hi! am facing the same problem here. I need some help please!!

Is this still going on? Is the stack for current skills or skills that will be gained from mentorship? Thank you!

You can try to make a website you like, dev.to, reddit, hacker news, etc. Show to this company that you know what you say, build a personal website. Maybe a tutorial and put it on GitHub, break that code. There are many ways to show experience. Clone websites are usually good.

I agree. Personal projects that you devote to go along way.

When I was first trying to break in I was basically doing full-time development on a website I was treating as if it were itself a biz opportunity with deadlines etc. Just making it as polished as possible.

But one more thing:

Interview for jobs even if you feel a bit under-qualified. You're probably not. Don't disqualify yourself. That's their job.

Here's a post I wrote on this general subject:

I second Ben here - definitely apply for jobs even if you feel you aren't experienced enough. I've hired people with almost zero prior coding experience for software developer positions, based on how the interview went. Good communication skills and interpersonal skills are much harder to train for than technical skills.

@Donald, I wish my manager can say this to me. :( I moved to dev department a year ago but only as someone who implements template design to WYSWG editor. I just had an appraisal few days back. I told my manager that I've learned Javascript, React, UI design and Node.js hoping that somehow they can see it fitting to our project, because I really wanted to become a full-time frontend developer - only to be told that being Technical (learning all these technologies) doesn't really help the business then proceeds saying that they already hired enough devs for their team. 💔

I'm sorry to hear that it didn't work out on your first try. I'm sure that you'll be able to apply your new tech skills somehow!

Echoing others, the requirements are a wish list. If you meet 70 - 80% of them, give it a shot. Another thing to consider is interviewing is a learned skill and dependent on the interviewer. I’ve had small local shops that said I was inexperienced and later that week, an international company said I was the most experienced one out of their interview batch.

Don’t get discouraged and keep trying. Practically everyone on my team has applied to our employer multiple times over several years before getting in.

As an employer, I don't see it like that. There is no requirement list per se (and I'm honest about it in my job offers, I don't put a requirements list).

There's only two things I look at:

  • Potential
  • Current level

Depending on the business constraints, I'll be needing someone able to work at an expected level within an expected amount of time.

So, regarding the technical skills, I hire the people with the most potential but within an acceptable investment threshold.

Seems many people are saying things like this. Thank you!

I was in a very similar situation about 5 years ago: wanting to transition into web development with 0 professional experience. I used this method to create a successful freelance practice followed by an amazing job offer for a permanent position.

  1. Build some personal projects. They don't have to be massive projects. I'd steer you away from redesigning popular web sites. Instead, focus on tightly scoped original projects.
  2. Use these projects as your portfolio to get freelance work.
  3. Use the freelance work as you professional experience to get a permanent position. On the other hand, if your freelance practice is going really well, you might just want to keep doing that.

Thanks for the advice on personal projects! I've started many of them but never had any gumption to finish them(mostly because they were stupid).

Did you consider internship? Contributing to open source projects?

Re: Open source. There are ways to contribute to even the most complicated projects without a high barrier, you just have to be searching for it.

For example, check out this PR I made to React:

github.com/facebook/react/pull/5287

If you contribute in non-code, just say it was "mostly documentation" and interviewers will respect your effort to be a part of the ecosystem.

Can I admit to being really scared to contribute to open source projects? I feel like I have no business touching someone else's code. Is this a normal fear?

I think it's normal. I was stressed out about my first PR. I was trying to make it perfect. It didn't end up being perfect 😁. I was also very new to git at the time. You can see my first PR to Github here. Yolo.

Even though I was very comfortable with JavaScript, I was working with technology that was very new to me at the time, Meteor. I started to contribute to this project to get out of my comfort zone and force me to learn Meteor.

If you're super stressed out about it, I can give you a hand with your first PR if you want.

Also, for those interested in seeing what their first PR was, check out firstpr.me

If you want to contribute "code" to an opensource project; add documentation of a complex example.

One of my pet peeves of so many O/S projects is that the documentation shows trivial examples that I have already figured out and nothing more concrete/complex. If you could create a more complex example and contribute that, you're doing the community a favour to help the project AND also creating something that you can easily "show off" for an employer.

Whatever you contribute becomes a good indicator of how you think and your work product as well... so a triple bonus! And while your answer to "what did you do there" is still technically "some documentation" it can be enhanced by mentioning that it was complex interation case(s) and not just simple documentation.

I wrote about contributing to open source projects in ways that aren't just code for my personal blog and published it on the Cucumber blog as well. Seems fitting for this conversation! cucumber.io/blog/2018/08/10/contri...

Open Source is the way to go. I should have read this before I made my comment .

I agree with this, even though I'm now a student.

I was once in an event that people around me who are experienced in coding. They told me try to contribute to open-source projects or create a project yourself on GitHub, make some contributions. This is your proof of experience and capability.

Great suggestions on where to get some experience.

I just wanted to reiterate what @ben said.

Many times companies post a list of requirements, but not all of them are hard requirements. They are more like a "shopping list" of things the "ideal" candidate would have.

Try to read between the lines to see what it is they actually need and what's just "nice to have"s.

At the end of the day, if you aren't sure if you qualify, apply anyways and let them decide.

You will get rejected from 100% of the jobs you don't apply to.

Hehe, the gretzsky would be proud I think.

Hey tiffany !

3 years ago i started learning how to code.

every day after i got off my TERRIBLE admin office position a security company, I would go online and teach myself how to write in javascript, than i taught myself frameworks.

Than i started networking and meeting other people who code, not even trying during this time to land a job, just trying to focus on getting to a place where i could be confident in my own abilities .

I continued to BUILD THINGS , and as i did i got better and better.

Soon i was building small apps just for my amusement - at this point the universe placed someone in my life and i was able to , not even trying take a shot at a junior/intern position

the position didnt even pay money, they said basically we will take you on as an intern and can only pay your rent and your car note.

I quit my job and said okay im down

so initially it was never for the job / money / title .

it was just cause i wanted to do what i love

ive been writing in React/rails for 3+ years now, not only do i have an awesome job , but now i'm way better at building things.

everyones journey is different though , good luck on yours .

i believe in the law of attraction though, i feel if your going down this path, a job will come to you.

ken

Hey Tiffany,

One of the reasons I began learning programming was because of the potential to create something. There are so many free/minimal-cost resources online to learn programming, start a project, and maintain it.

I don't really know what your time situation is like, but I would recommend starting a programming project you're interested in. Maybe find a group of people like you who have the same ideas who will help maintain it. Or, get involved with somebody else's team project.

While this is mainly for game dev, teamups.net/ is a good way to find projects to hop on.

This article may help:
antrikshy.com/blog/how-i-got-start...

Best of luck,

  • Ben

Hey Ben, I started programming for a similar reason! Mostly I wanted to re-create what was in my math book, to be honest. xD

Also, thanks for the link! I'm looking to Game Development as a possible career, as I'm currently lead dev for the Qub3d Engine Project.

Tre'

Hey Tiffany - I'm on the same boat. Looking for jobs, but have no experience and I'm terrified of touching anyone's code. There are lots of good advice here and I will try to follow it. Thanks for posting this question!

  • Read every day, about your industry this will eventually help you gain more experience, more knowledge that can help you in your interviews.

  • Work on open source projects. Companies see the value, and they can even see your skills in the code. Especially if you help has few commits on a big project, that adds value to an interview.

  • Talk to anyone that you know that is looking for a project to build and build it for them for free with the chances that you can showcase it online. Make sure is a realistic project with your skills set. Make sure you take these projects very seriously because they are going to help you in the future.

  • Find a company that needs a programmer and work for them very cheap.

  • Create a LinkedIn account let everybody know that you contribute to open source projects and that you have work on many projects.

These are the things that I did when I was getting started, and it works out perfectly for me. Hopefully, it will help you too.

Two things:

  1. Code
  2. Get a kick-ass mentor

Coding is to only way to get going, but having a mentor that inspires you and is also able to point at what you could improve is what is going to make you learn 10x faster.

To do code, a few ideas by progressive order of difficulty (I guess)

  • Go to Stack Overflow and solve people's issues if you can. This gets you to the real world faster. Maybe you can find a tag of something you like (let's say vuejs or django) and focus on those problems only, in order not to get lost
  • Fix bugs in libre/open-source projects
  • Implement features in libre projects
  • Start your own libre project

Good luck!

My first programming job was in marketing.

They needed someone to make some simple websites for campaigns. Wasn't really a programming job. I started with stuff like Joomla and when they wanted more customizations than the plugins delivered, I got more and more into coding.

After a year or so I switched to an open position in R&D.

One thing that I love of being Software Developer is that you don't need to wait for someone to hire you to gain some experience. The limit of experience you can get totally depends on you.
You can create or work in whatever project you like, you can create your own Wikipedia, Twitter, Facebook, or even somethig new, in my opinion I try to make my personal projects something that might generate value for someone else, hopefully this gets spread and then you can say not only you created a project but you also generated an amazing idea.
Would be my pleasure to help you if you need further information.

Every job offer on the planet lists "requirements" that they don't actually require. I don't believe I've been "qualified" for a single job I've gotten if looking at their job postings.

What is sufficient "experience" for a junior level programming job generally is some sort of basic proof that you can actually do something for yourself - e.g. set up a GitHub account, put your personal projects there. The better you do those, the better chances you have of getting a decent job.

Oh, and for more specific advice on what to put to those personal projects:

  • Make sure the repository is readable, has a README for what it is, how to use it, possibly a deployed demo URL hosted on GitHub Pages, or some small server on the cloud, depending on what you're working on. If it's a desktop application, provide releases for Windows + OSX.
  • Spend extra attention to code quality, good readability, maybe even a bit excessive amount of comments, great unit test coverage (and really do have unit tests whenever possible for these), if necessary use the Wiki for documentation, have API documentation set up with e.g. RAML. Do all the different kinds of things like that, that you would love for a very mature production system to have.
  • Prefer a smaller project done to the best of your abilities, even tiny, over a larger project that is substandard for you. Ability to deliver good quality is more impressive than ability to deliver a large mess.
  • If you know what company you're specifically looking to work with, make a project using the technologies they use. Check their job listings, open source repositories, etc. to find out what they use.
  • If you've got wider interests, try to make a few different kinds of projects. Again smaller with more variety is better than one larger thing in just one field you know.
  • Try to think of some kind of tool/thing that would be of actual benefit to you and implement that, you'll find it easier to get motivation to doing it and to tell people about it in interviews and such.

Damn!! This post somehow sneaked past me along with the excellent comments here.

Experience and Getting an opportunity in any sector is a classic chicken and egg situation. Unless you don't have the former, you can't get the latter and vice-versa. However, don't let that deter you.

Considering from my experience - Making a personal project to solve an actual problem no matter how trivial, contributing to open-source & constant learning are undoubtedly important but what's more key is not losing hope.

Here's something that drives me every day:

Hope

Whatever you do, don't feel like school (in the traditional sense) is your only option. I would mimic what others have said here, personal projects, build something cool!

I would hesitate to try to learn "everything" though, this was an issue I had, pick one language (anything) or one framework and focus on that, otherwise, you will get bogged down in the minutia of the entire developer landscape and end up knowing a little about everything.

Perhaps you're facing a requirement of at least 1 year of professional experience (i.e. working in a company) over just coding experience. I'm on the same boat...

What I am doing is

  • applying / taking a job in a semi-academic project.
  • I cold emailed to a city which isn't full of devs. Less competition helps.
  • Also, don't be afraid to be more than just junior.

Hey Tiffany! I'm still pretty new, and only been a professional developer for about a year. I got my first experience at a hackathon, where a team of my classmates and I built a functioning app in about 30 hours. That was a lot of fun and was my first portfolio piece. Then I built a couple other apps on my own. I also contributed to some open source projects.

My first paid work came from Upwork, where people are always looking for freelancers to do projects. You won't make a lot of money on Upwork, but it's a fine place to start. Good luck!

Thank you, this is super helpful. I will check out Upwork.

My approach was to put together a portfolio website and fill it out with projects utilising various different skills and frameworks etc. You can see it here if you like: kurtcorbett.co.uk

Then I just put my name out there to various recruiting companies, one of which was eventually able to find me something. In that time I probably applied to 100+ jobs, of which I think I heard back from maybe five of them.

I think the most important thing in this process is to try and form a bit of a tougher skin, just getting an interview is tough and when you get one they are far from easy. It's probably quite likely that you'll have to have at least a few of them before you get anything but just think of them as a learning experience.

If you have the mindset that you're not going to give up and you always keep trying to improve yourself you'll get there.

I started doing ERP very cheap for my family, also i did some android apps for my city or consuming twitter api just for fun and experience.

The answer is DO, whatever you want, but do it. Doesn't matter if is a tiny project.

Almost every job I've ever had in my career has been through a reference.

So my advice would be: consider the importance of networking, friends, family, and professional acquaintances.

Accentuate the positives; mitigate the negatives.

I see this is an old thread but anyways, I believe the best way to gain experience (at least with a technology stack) is to play around with it, get an idea, pick the stack and go as far as you can, then ask for code reviews (which you can learn a lot from).

Portfolio helps. Get experience front interviews and see what questions you come across over and over again. Then study and nail those questions.

Many companies are looking for people to hit the ground running. That's why it is typically tough to get a job with little to no experience.

  • Don't go through recruiters.
  • Try to find a small shop.
  • In interviews, describe the concepts you have learned.
  • Do free work to build your profile.

Also, this is not advised by the way that I started. Find people who need help with software dev and get hired as a consultant. Take on work you are afraid to take on and it will force you into experience. It's scary, but you will figure it out.

Thank you all!

I'm in the same boat as Tiffany, I have an A.A.S. in Web Development and about 6 months of experience. I've been riding the job search/interview roller coaster now for the last 5 months.

Reading threw this thread has me re energized and motivated!!!!!

yes the idea of at least a year experience also makes me feel as though less of my self but i personally work at personal project like a big project just to polish very well and wait for opportunities....@michael can also help me out right ..thanks

well there is that article i once read and the author said ..

all this thing about years of experience is just words they don't really mean it
what they really need is someone who can get the job done so you can practice at home make some side projects

you can also contribute in open source projects for experience

then go and apply for those jobs and show them that you can get it done and they wont ask about those years of experience

Hey Tiffany,

I'm about to take part in a Chingu Cohort (Voyage-5). Basically it allows a team of developers to collaborate on projects together in effort to learn by building. You can read more about it here -> medium.com/chingu. Maybe you can gain some hands-on experience by building an app/website with others like yourself. :)

First
How to get a job w/out exp:
Volunteer - find non-profits, 501C3's, orgs, community groups, etc and offer your tech skills. They will find something for you to do and you'll be helping someone in need.
Projects/Challenges/Hackathons - Angelhack, Leetcode
Offer to work on your family's digital products. (ie "hey Uncle Joe, your 1995 website needs updating. I'll do it for free").
Join your Slack and Meetup groups and network with experienced members
Open Source for real! Here's a great place to start: developer.mozilla.org/en-US/docs/M... (follow links to other "docs need help" like HTML, js) gr8 comment @benhalpern - docs are a low stress way to begin.

Second
If you have never done a technical interview I recommend you get "Cracking the Coding Interview" or contact me (judithrohatiner@gmail.com) and we can figure out how I can lend you my copy.
I love the comments about stepping up to your potential! Go after jobs you think you can't get. It's never as hard as you think and what do you have to lose? If you don't get the job you're no worse off than before you tried.

Join remote work sites and start with ridiculously under priced tasks. At least you'll be working and beefing up your list of projects.

Good luck. And don't give up. It's a journey not a destination :)

Super helpful advice! These are all great ideas. Thanks!

Wow, these comments are an awesome miscellany of genius tips and advices. 😍

But on a more personal note, I totally feel you. Not long ago I was on the same boat, and was kind of freaking out!! But let me tell you, that, once you stop driving yourself crazy about all the requirements mentioned in job postings (like most of the comments already suggested), applying gets much easier. I just dared to apply to any company where I felt I'd fit in well (regarding the company culture, team, listed tasks ...) - and where I met at least 60% of the requirement! The more I applied, and the more positive feedback I got, the more confident I was - and yeah, even the ones where I did not meet all the requirements but could show my passion gave me positive feedback - and job offers. 😊 That was a huge step forward for me. 😅

Sooooo to sum up, I just wanna let you know, that all that have been said really turns out to be true. Just hang on, and don't driving yourself too crazy.

Trust yourself first it does not matter of experience.
You can do many things just concentrate ."The mind is everything. What you think, you become."

Here's what I did:
I got employed in a company in a position which wasn't development it was more like a clerk, there I started getting involved in projects I liked in my own free time, after 6 months I got moved to QC for some random user acceptance tests, then I started working on robotFramework and python and got promoted to automation, and now I'm getting into development. Would you be able to do something similar?

Freelancing is an excellent way to get started.

Any thoughts/suggestions on how to get started breaking into freelance gigs?

Hello all,

Following up on Michael's great post:

Hey Tiffany,

If you’re looking for experience, I’d be willing to take you on as a developer in my business to help you gain said experience. If you’re interested I’ll reply with an email address you can reach me at to discuss details!

Stack:

  • PHP
  • NodeJS (Typescript)
  • Elm (for larger production applications)
  • PostgreSQL and rethinkdb
  • AWS
  • Go and Redis

Let me know!

We'd like to chat with dev.to members looking to gain experience as well. We work in the enterprise healthcare space with a lot of exciting challenges to solve. PHP is a must.

If interested, please reach out to me at corey@iniko.com :-)

Thanks!

i have a video about this topic, but in spanish :S but maybe you can create project and upload in github

youtube.com/watch?v=Uu1lvm_30nI

Hi Tiffany,
That's our problem ever! But you can gain experience by:

  1. Internships
  2. Personal projects I did it like this ✌ Best wishes..

contribute to open source of your choice )

Personal projects are a great way to showcase experience.

Do a few hobby projects like everyone else. Show some accomplished work and some skills.

Classic DEV Post from Mar 5

What's your dream job?

...

READ POST
Follow @jess to see more of their posts in your feed.
Tiffany Wismer
I was an Admin Assistant and a Barista and now I'm learning code because I'm tired of talking to people. Just kidding. But also not kidding.
Trending on dev.to
How many languages should I learn
#help #career
Figuring out CSS floats with two sushi recipes
#css #webdev #beginners
Challenge: CSS Navigation
#challenge #beginners #fun
Would you recommend using Template Engine for PHP?
#beginners #php
The beginner's guide to contributing to projects with GitHub Desktop
#opensource #github #beginners #hacktoberfest
Put dev.to on your resume!
#career #resume
Founder vs Employee
#discuss #career #startup
Explain Empty Returns Like I'm Five
#explainlikeimfive #beginners