By Allison Seboldt | 4 min read
Trying to get your first job as a developer? Perhaps you’ve noticed many junior and entry level positions ask for 1 - 3 years of previous experience.
Um, what? That makes no sense. If you’re applying for an entry level position, why should you need previous experience? And how can you get your first job as a developer if it requires you already had such a job?
It’s a conundrum that makes many junior developers feel defeated right out the gate. But don’t let this nonsense stop you from getting your foot in the door. Here are three ways new devs can get experience before their first hire:
Build tools for your existing job
One of the great things about being a developer is having skills that can benefit any industry. Programming is especially great for automating processes, facilitating communication, and making important information more accessible. No doubt your current employer would love to see improvement in one if not all of these spaces. Under the guise of being a star employee, look for areas of your current job that could be improved with a little code.
Work with a lot of spreadsheets? Build formulas and programs that automate tedious data entry and create elaborate dashboards for easy analysis. Having difficulty remembering you and your co-workers' schedules? Build an application everyone can use for managing and tracking their shift. Is on-boarding new employees a struggle? Go all out creating a beautiful website that guides them through all the documents, resources, and info they need to get up to speed.
From this point on, consider your current job a transitional position. It’s purpose is to ease you into programming full time. Current and future employers should be thrilled to see you taking such initiative, and you can highlight this as programming experience in your work history.
Contribute to open source
For the uninitiated, open source refers to software that is developed in public. Through websites like github, volunteers publicly contribute bug fixes and feature enhancements to a code base. Many of the frameworks and libraries you use are open source such as jQuery, React, Express.js, Ruby on Rails, Django, and even the Linux operating system.
Open source is a huge part of today’s technological ecosystem, and supporting these projects with code contributions is looked upon favorably. But more importantly, it’s a low barrier of entry to working on a professional code base. Employers want proof that you can write production level code. Contributing to open source proves your code is worthy, at least in the eyes of your peers, of being put in front of users. It also demonstrates you understand some of the process around developing software, such as setting up a development environment, interpreting requirements, receiving feedback, and working alongside other developers.
As a newbie, getting started with open source can be daunting. Check out these guides by FreeCodeCamp.org and Digital Ocean for help on getting started. But just like programming, the best way to learn is by doing. Look for small projects on github in need of contributions and jump in. Be sure to highlight the projects you contribute to on your resume!
Build something for real people
No doubt you’ve heard having a portfolio of past projects is crucial for impressing potential employers. But often, I’ve noticed junior portfolio projects feel incomplete and overly simple, like a school project or something made from a tutorial. It’s okay to use such projects as part of your portfolio, but there’s a difference in the level of quality that’s okay for learning, and the quality necessary for production level apps.
Consider taking your portfolio projects to the next level by making them publicly available and getting real people to use them. This will force you to consider pieces of software development that are often overlooked in tutorials and school, such as vulnerabilities, data integrity, UI design, user experience, managing multiple environments, and deployment. Getting real people to use your software will also help you build necessary troubleshooting and support skills that can’t be taught in an online guide or classroom.
Great places to share your projects and get potential users are Product Hunt, Hacker News, and Beta List. Be sure to highlight interesting metrics with potential employers such as how many users you currently support or how many visitors you get per month. Developing a project people are using in the real world will impress potential employers and prove you understand the entire software lifecycle.
Final thoughts
Experience is valuable in technical positions because there are many skills that can’t be taught in a classroom. You have to learn them on the job. Luckily, many of the skills it takes to be a developer you can practice outside of a professional environment, just by building for others.