How to gain experience to get a job as a developer?

Finding a position when you have limited to no “real world” working experience in programming can be difficult. So what’s an aspiring developer to do? We offer some practical advice on that very topic:Q:I browse job boards and can never seem to find jobs for devs new to the field with limited/no “real world” work experience. Background: I’m a completely self-taught web developer (I took online training through Codeacademy, Udacity, among others) and am having a tough time finding a position. I’m looking for entry level, just something to get my foot in the door and go from there. Prior to my foray into the tech world, I worked in a restaurant from a busser all the way up to a line cook, and after a few years, decided it wasn’t for me. A friend of mine who is a developer turned me onto this kind of work and once I dabbled in it, I was hooked. (Long story short, instead of my friend setting up a website for me, he encouraged me to learn how and do it myself, which I did, and just kept going from there.)I know it would help if I had direct experience working for an employer as a web developer, but how can I get experience if no one will give me a shot? I don’t have the luxury of working for free in an internship, as I have financial obligations to meet. I don’t have a traditional degree from a university, but I did complete some course work at a university for over a year-and-a-half, and attend junior college for 2 years. (I never graduated either, just attended. I thought about going back, but the cost is not something I want to take on. However, most jobs say they want people with a degree. :/) Some of the skills I have: HTML (including 5), CSS, JavaScript, AJAX, jQuery, PHP, Node.js, Clojure, Bootstrap, Grunt, Browserify, SEO best practices, assorted CMS platforms (WP, Drupal, Joomla - I've dabbled in building themes) and Adobe Creative Suite (by default to do design – although I do not want to be a designer per se. I’m happier on the front-end of things that don’t necessarily require that I do both design and dev work.)If you have any advice you could offer, I would really appreciate it.Thank you,NateA:Hello Nate,Yours is a dilemma that many developers just starting out face. First things first: KUDOS to you for taking the first steps in launching your new career. Don’t let not having a traditional degree discourage you one bit. Programming is a field where having a degree isn’t always necessary, but having the skills are (much like working in the culinary industry.)PREPARING TO LAUNCH:
- No matter how many months/years you have under your belt with your learning, if you want to impress a potential employer (ESPECIALLY those who are tech proficient) you will need to know terminology. Yes, it seems like a trivial thing, but when you mentioned HTML5, that typically refers to JavaScript API’s, not always/necessarily the DOM markup. Just want to make sure you’re clear on what’s what. Savvy?
- If you haven’t already, set up a Github profile with your own Open Source contributions and your own projects. The important thing here for you to keep in mind is that employers want to see that you can write code that is clear, readable and performs. At the minimum, employers will expect to see links to web pages of your work. (We’re assuming that you’re wanting to do web pages, as you didn’t specify wanting to do web apps.)
- You have a website, great! Wanting to be a developer without having a website/presence online is akin to wanting to be an actor without a professional headshot. You may get work, but you won’t get very far in the long run without it.
- Pick projects to showcase. Don’t have any projects? Don’t let that discourage you. You said above that you cannot do an internship because you have obligations to meet. Totally understandable. We would NOT suggest you work absolutely for free and undermine the value of what you can bring to the table. Organizations such as LaunchCode place people such as you (with limited “real world” experience) in paid apprenticeship positions that can convert into full-time positions. You’ll be paired with a mentor and continue to build your skills while building your portfolio of work.
You can also reach out to small design/dev shops and offer yourself as a freelancer, or if they have a paid internship open, opt for that. Or, check sites such as eLance, Odesk, (amongst others) who are always posting projects opps for developers. You should have at least one project that is your “showcase” piece for interviewing. The project that you showcase should show form validation, UI components (this is HUGE – devs nowadays should have a basic understanding of this at minimum but you’d be best served to know as much as your brain can stuff), be responsive (works and looks good on mobile), and understand load on page and when components are parsed.LAUNCHING:
- Now that you have all your launch preparations met, and assuming you didn’t take a job through a LaunchCode apprenticeship, now’s the time where you’ll want to reach out to design/dev shops directly, start-ups, and the like. Get out there and make yourself known online and offline. Go to networking events, Meetups, participate in forums, etc. Make sure you have a LinkedIn profile up (and optimized) so that recruiters/HR people can find you. Be sure to check out the neteffects job board, too! We do have openings that come up for developers, and some clients are open to candidates without traditional degrees.
- Even while you are searching for a FT gig, don’t shy away from project/freelance opportunities. They will be essential for helping you to continue building on your professional body of work. You should also take the time to keep learning more skills that will be useful for you. (Additional languages, project management tools, etc.)
- Land an interview? Awesome! Employers that see the value of someone who is driven enough to be self-taught are the ones who are most apt to offer you a job where you can really spread your wings. Ones that can’t get past the fact that you don’t have a college degree, will probably be a waste of your time in the long run. After your interview, be sure to thank them for their time via email. If you really want to make an impression, you can opt to send a hand-written thank-you note to their office. But most programmers opt for the most efficient method, which is email.
Either way, best of luck to you Nate! You are well on your way for getting the experience you're seeking and landing a job as a developer. Although, we are betting that you'll be snagged long before you think you're "experienced" enough.