It sounds like a pipe dream. A well-paid programming job, with no experience? Get out of town. Well, as it turns out, it’s both just about as difficult as you believe, but probably easier than you think. As with most things, the main obstacle standing in the way of you getting a programming job with no experience is yourself.
So what are the best ways to get a programming job with no experience? And are you willing to put in the effort? It’s going to take a lot of preparation, so let’s jump right into it.
🔗 Know Your Stuff
This sounds braindead, I know, but you’d be surprised how many people apply for positions they’re absolutely unqualified for. And I’m not saying that they don’t have the requisite experience or education boxes checked - I mean these people apply for jobs that they have no way to succeed at. There’s nothing a prospective employer hates more than hiring someone who can’t do what they said they could.
So, put simply, make sure you know how to code, and more importantly, be able to prove it.
Be prepared to answer questions. Be prepared to display your ability. Practice common interview algorithms on a whiteboard (or just a piece of paper) so you won’t be caught off guard. Any technical interviewer is going to know what they’re looking at, and they’re going to appreciate the fact that you are upfront, willing, and able to at least demonstrate what you’re capable of.
Plenty of people aren’t even willing to do that, and they’ve got 15 years of experience.
You see, for you, this may be a breakthrough gig. For your potential employers though, this is an exercise in risk aversion. Hiring a bad programmer can cost them more money and time than hiring no programmer at all, so the hiring process should (reasonably) necessitate a rigorous demonstrative component. Otherwise, the company is going to lose money on the exchange - and we all know how much of a cardinal sin that is. You’re trying to get a programming job with no experience, but they’re trying to protect their bottom line.
So you know how to code? Good. Learn to prove it.
🔗 Personal Projects - A Necessity
So your abilities will speak for themselves in an interview… when a company finally gives you an opportunity to speak. You want those capabilities to be able to talk the ears off any potential employers, but sometimes, even after a glance at your resume and a quick Google, they don’t want anything to do with you. It happens - but we have more ways to alleviate that.
This is going to sound radical, but you’re going to have to code, and code in public.
What is it you’re coding? Anything. Everything. Any little project that benefits you, or maybe is just for fun. You want to be able to display not only that you can write code, but that you can write code with purpose, and code that works well to boot. If employers can see that your stuff works, its going to help alleviate the risk inherent in hiring programmers.
Then, when you have it, make a portfolio. Use something like GitHub to store, document, and display your programs. In fact, GitHub is perfect for this sort of endeavor, as it is both widely used and easily accessible. Your GitHub profile itself acts as an online portfolio of your work, and any savvy employers are going to know to check out the profiles of any potential employees before hiring them.
As such, you should make your GitHub/Gitlab profile - or whatever portfolio you make - as impressive as possible. After all, it’s documented proof that you know what you’re doing.
🔗 Nail the Resume
Any reasonable employer is going to be suspect of the skills of a junior developer with no work experience, and so you run the risk of getting your resume dismissed outright. Being able to prove that you can code doesn’t mean anything if you don’t get a chance to prove it. Do your best to build a great resume, it’s effort well spent, especially since you can use the same resume to apply to many different jobs. Getting the resume right once has a great return on investment.
According to Lane Wagner’s article on Computer Science resume’s for 2021, here are some of the best rules of thumb to help you out:
- Tweak your resume for each position you apply for
- Include only relevant information
- Try to keep it on one page
- If a position asks for a specific technology, don’t be afraid to spend a day or two brushing up on the specifics of it
- Use color to emphasize important points
- Spell and grammar check
🔗 Going Above and Beyond - Your Online Presence
Don’t underestimate the power of social media accounts and developer blogs in your job search. Sites like Twitter, Dev.to, and LinkedIn are crucially important, and having professional accounts setup can make you look the part when employers look you up.
You’re probably not going to bring up your blog or Twitter account in an interview, and it’s also possible you won’t put it on your resume - though you certainly could. It’s a personal thing, right? Well, lucky (or unlucky, but that’s a different article) for us, Google doesn’t care about personal things.
If your potential employer is interested in your resume, they’re certainly going to Google your name. When they do, it’s probably best that they don’t find photos of you passed out in someone else’s lawn surrounded by plastic flamingos and empty White Claw cans. What they should find is your dev blog or dev Twitter, full of things you’ve learned and built during your software development journey.
If nothing else, having a microblog can indicate that you’re dedicated to the idea of software development and have more than a passing interest in the field. Open-source projects, personal endeavors, or even school assignments - all of these can show up when your name is Googled, and you should do your best to make sure that they do. You’re trying to get a programming job with no experience - generate some interest!
I made an aside moments ago about tailoring your social media appropriately - do that. Make sure it’s professional, or at least business casual. If you can’t do that, then do your best to divorce your social media from your name. That way, you can leave plenty of space between who you are, and who you want employers to see.
This is no different than putting on a suit to go to an interview. Put your best foot forward. The other one can hang out with the flamingos.
More to the point: Google your name. See what shows up. Tailor your online presence to suit your goals. The internet may be a giant, unwieldy leviathan, but that doesn’t mean you can’t carve off a piece of it and use it for yourself.
🔗 Get to Work
Portfolios are all well and good, but what do you put in them? Well, for lack of a better term… your programming experience. Fortunately ’experience’ is a subjective term that can mean a lot of things, and so, we have a broad list of options to choose from when it comes to making our own. If you think you need to land a programming job to have programming experience, well, you’re wrong.
You’ve heard of the app store, right? I’d imagine you have. Android, iPhone, or whatever else kids use these days - they all have an app store. But did you know that anyone can post working applications on the app store?
So, make an app. Any app. Make an app that allows you to press a button every time you see a bug, and then automatically generates a chart of the number of bugs you see on a daily basis compared to previous days. It doesn’t matter what the app is, just that you made it, put it on the store, and put a link to it in your portfolio. Proof that you can write and deploy code.
Bonus points if your app is actually useful, and people actually download it. Maybe you’ll even make some money on the side.
Which brings me to my next suggestion: Create a software development company.
You may be wondering: If I can make my own company, why would I need to get a job somewhere else? That’s a fair question, and sure, if you can develop software that’s profitable and can sustain the standard of living you prefer, then, by all means, do that instead. But that also means this article is not for you. For everyone else, creating a software development company is a perfectly viable - and legal - way to give yourself legitimate experience in the field of programming.
File for an LLC or DBA, build an app or two, publish those apps in an app store, and voila. Software development company. You can then list yourself as a software developer for the company you just made, and its all completely legitimate. What’s more, since you’ve basically created your own startup, this proves to potential employers that you have initiative.
Spruce up your company with a well-made website and sleek app design, and you have essentially given your resume the equivalent of a three-piece suit and a haircut.
🔗 Prepare Yourself
If you’ve done everything I’ve suggested above, chances are you’ve gotten an interview. Great! Make sure you’re ready for it. As I mentioned at the beginning of the article, a savvy interviewer is going to test you, and since you have no experience, you’re already on the back foot. General tips like making sure you look presentable, working on eye contact, and practicing speaking into a camera or with another person are all well and good.
But the most important thing is to be ready for any technical questions you may get asked. Study up, make sure you’re knowledgeable of the language the employer uses, and be prepared to prove it.
You’re working at a disadvantage, after all.
If something comes up in the interview that you don’t know, however, don’t take it lying down. Admit that you’re unfamiliar with the concept/tool, and ensure your interviewer that you’re willing to learn about it. I know from personal experience that an agreeable willingness to learn is a much more useful trait in an employee than any amount of experience. Also, don’t let it get you down! It’s impossible for even the most experienced computer scientists to be familiar with every tool and framework out there - you’re employer isn’t sweating it and niether should you.
Maybe you don’t get the job - but that doesn’t mean this was a waste of your time. Getting interviews at all is an important component of networking. If you can convince someone to give you a shot, or at least convince someone to like you, then they can vouch for you to others, or take another look at your qualifications down the road. There are also more immediately benefits to trying and failing an interview, namely that you now have more practice interviewing, and if you’re smart, you’ll ask your interviewer for feedback that can help you do better on future interviews.
Interviews aren’t the end-all of networking, either. Community events like meetups, developer organizations, and tech conventions are a great place to start forming connections. You have to be confident and brazen, however. Remember: It’s better to be annoying than forgotten… at least when it comes to finding a job.
🔗 Finding a Way Forward
That actually brings me to my next point: Be persistent. What do you have to lose? If a potential employer really finds your persistence annoying and distasteful, you probably didn’t want to work for them anyway. The most likely, outcome, however, is that you continue to be ignored. If you haven’t heard back within a few days, send a polite reminder email. I would say a good rule of thumb is to stop trying with a specific contact after 3 failed attempts - it’s just diminishing returns after that.
You have to keep bothering people until you get what you want from them. By default, employers are dismissive - they have other things to worry about. However, if your name keeps popping up in their inbox, time and time again, they may just end up listening to what you have to say out of morbid curiosity, if not anything else. Getting them to listen to you is a big step towards getting them to hire you.
That’s quite an improvement from being forgotten, I’d say. So don’t be forgotten.
Persistence isn’t the only thing that is going to be memorable, though. This gets a little tactical, but don’t be afraid to be outlandish. If you’ve been failing to find a good job for months, try offering to work for free as an intern, or in a contracting position for a low rate. Emphasize the temporary, trial nature of this arrangement, but don’t be afraid to offer it. Do anything to give yourself an opportunity to prove yourself to a potential employer.
Lastly, ask about any non-software development-related positions, should you be continually declined. If nothing else, working in a software company is better than working out of it. I admit, this isn’t always going to work, as it depends heavily on your building a rapport with the software development team from another department, but if you’ve got the gumption to pull it off, I say go for it.
No one ever lost anything by trying - don’t let the fear of failure or rejection keep you from a better future.