DEV Community

How do I get experience when I have no experience?

Tiffany Wismer on April 22, 2018

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 jo...
Collapse
 
michaelgv profile image
Mike

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!

Collapse
 
tiffanywismer profile image
Tiffany Wismer

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

Collapse
 
michaelgv profile image
Mike

Great, I’ve sent you an email.

Thread Thread
 
abavish profile image
Vish

Hi Michael,

Would you be willing to assist me too?

Collapse
 
casyazmon profile image
Akap Azmon Deh-nji

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

Collapse
 
azureowldev profile image
azureowl

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

Collapse
 
ikenshu profile image
Kevin Morales

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.

Collapse
 
ben profile image
Ben Halpern

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:

Collapse
 
tiffanywismer profile image
Tiffany Wismer

Thank you Ben!

Thread Thread
 
dmerand profile image
Donald Merand

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.

Thread Thread
 
tiffanywismer profile image
Tiffany Wismer

This is good to know!! Thank you!

Thread Thread
 
isprototypeofme profile image
Mark Philip D.

@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. 💔

Thread Thread
 
dmerand profile image
Donald Merand

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!

Collapse
 
raddevon profile image
Devon Campbell

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.
Collapse
 
tmcsquared profile image
TMcSquared

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).

Collapse
 
z2lai profile image
z2lai

I think this is the biggest challenge for any personal project. At least I realize how stupid my ideas are before I start working on it. I think Devon has a great point though - we need to work on many small tightly scoped projects instead of one big one.

Collapse
 
tiffanywismer profile image
Tiffany Wismer

Great advice, thank you.

Collapse
 
yechielk profile image
Yechiel Kalmenson

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.

Collapse
 
tiffanywismer profile image
Tiffany Wismer

Thank you, very encouraging.

Collapse
 
theminshew profile image
Michael Minshew

Hehe, the gretzsky would be proud I think.

Collapse
 
pbouillon profile image
Pierre Bouillon

Did you consider internship? Contributing to open source projects?

Collapse
 
ben profile image
Ben Halpern

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.

Collapse
 
tiffanywismer profile image
Tiffany Wismer

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?

Thread Thread
 
nickytonline profile image
Nick Taylor

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

Thread Thread
 
ben profile image
Ben Halpern

Suuuuuuuuuper normal Tiffany.

Thread Thread
 
tiffanywismer profile image
Tiffany Wismer

Ha! Thanks. I'm glad to hear that.

Thread Thread
 
millebi profile image
Bill Miller

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.

Collapse
 
jaysonesmith profile image
Jayson Smith

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...

Collapse
 
itsdarrylnorris profile image
Darryl Norris

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

Collapse
 
tyu1996 profile image
Brian Ting

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.

Collapse
 
nodefiend profile image
chowderhead

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

Collapse
 
bpmct profile image
Ben Potter

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
Collapse
 
tmcsquared profile image
TMcSquared • Edited

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'

Collapse
 
michaelgv profile image
Mike • Edited

michael@invocie.com - reach out to me

Thread Thread
 
iamjoross profile image
Jose Ross Barredo

can i hop on?

Collapse
 
xowap profile image
Rémy 🤖

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.

Collapse
 
erebos-manannan profile image
Erebos Manannán

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.

Collapse
 
tiffanywismer profile image
Tiffany Wismer

Thanks, very encouraging!

Collapse
 
erebos-manannan profile image
Erebos Manannán

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.
Collapse
 
rhymes profile image
rhymes
Collapse
 
adancarrasco profile image
Adán Carrasco

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.

Collapse
 
jaro0024 profile image
Dani Jaros

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!

Collapse
 
tiffanywismer profile image
Tiffany Wismer

Hi Daniela! I'm glad it could help others! Did you see this? dev.to/michaelgv/looking-for-workp...

Collapse
 
jaro0024 profile image
Dani Jaros

I didn't. Thanks for sharing it!

Collapse
 
kayis profile image
K

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.

Collapse
 
itsdarrylnorris profile image
Darryl Norris
  • 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.

Collapse
 
xowap profile image
Rémy 🤖

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!

Collapse
 
mahmoudmohamedelgamily profile image
Mahmoud-Mohamed-Elgamily

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

Collapse
 
asg5704 profile image
Alexander Garcia

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. :)

Collapse
 
jrohatiner profile image
Judith

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 :)

Collapse
 
tiffanywismer profile image
Tiffany Wismer

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

Collapse
 
phillie profile image
Philly

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.

Collapse
 
majidbhatti038 profile image
Majid

feels pretty good

Collapse
 
oj_blazes profile image
✨ Enoch Ojonimi Daniels ♛✮

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

Collapse
 
newtorob profile image
Robert Newton

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.

Collapse
 
bgalvao profile image
Bernardo

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.
Collapse
 
nina_rallies profile image
Nina Rallies

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?

Collapse
 
tiffanywismer profile image
Tiffany Wismer

Thanks, this is a great idea. This is basically what I wound up doing. I'm an intern now, and I learn on the job. It's great!

Collapse
 
kurtainz profile image
Kurt Corbett

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.

Collapse
 
eljayadobe profile image
Eljay-Adobe

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.

Collapse
 
pichardoj profile image
J. Pichardo

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).

Collapse
 
joshualjohnson profile image
Joshua Johnson

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.

Collapse
 
chadlof profile image
Chad Lofgren

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!!!!!

Collapse
 
vinayhegde1990 profile image
Vinay Hegde • Edited

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

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Freelancing is an excellent way to get started.

Collapse
 
coreyshaffer profile image
Corey

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!

Collapse
 
sait profile image
Sai gowtham

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."

Collapse
 
tiffanywismer profile image
Tiffany Wismer

Love this. Thank you.

Collapse
 
theodesp profile image
Theofanis Despoudis

You can always do pro-bono experience using volunteermatch.org/search

Collapse
 
joshualjohnson profile image
Joshua Johnson

Also this might help How to Become A Web Developer

Collapse
 
tiffanywismer profile image
Tiffany Wismer

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

Collapse
 
hbibzdeploy profile image
Muhammad Habib Jawady

I recommend this video

Collapse
 
davidhackro profile image
David Hackro

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

Collapse
 
abanoubha profile image
Abanoub Hanna • Edited

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..
Collapse
 
okolbay profile image
andrew

contribute to open source of your choice )

Collapse
 
elichi1122 profile image
elichi1122

Personal projects are a great way to showcase experience.

Collapse
 
tiffanywismer profile image
Tiffany Wismer

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

Collapse
 
nssimeonov profile image
Templar++

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