Tips on Landing a Software Engineering Job With No Experience
How to stand out as a candidate when you have no professional experience
Getting your foot in the door with any profession is a challenge — and software engineering is no exception. It seems like every job listing requires at least some professional experience. But if you’re in this position trying to break your way into the industry, there are a few things you can do to stand out. In this post, we’ll look at a few tips for landing a software engineering position even if you don’t have professional experience.
The tips in this article are things that go beyond core technical skills. It goes without saying that you need to have good technical chops — there’s no shortcut for that! Once you’ve got the technical skills down though, here are a few ways you can stand out in your search.
Know How to Approach a Problem
One of the most important qualities for somebody who doesn’t have professional experience is problem solving. You probably don’t have all of the technical skills you’ll need for a position, but if you show curiosity and willingness to learn new skills, hiring managers will be more confident that you’ll be able to grow into the requirements for the position.
Interviewers regularly push the limits of what candidates know, and this applies even to experienced candidates. In my opinion, one of the worst things to say in an interview is flatly “I don’t know” without any followup or path to resolution. Always provide a path forward.
It’s not always a bad thing to not know how to do something, but it is a bad sign when a candidate doesn’t know how to figure it out. Here are the kinds of answers a candidate might give that inspire some confidence in their problems solving abilities:
- “To be honest, I don’t know, but here are some things I’d look into...”
- “Let me describe a similar problem I’ve solved, that I can use that as a starting point…”
- “I saw that you guys were using Terraform — I’ve never used it before so I downloaded it and did a couple of tutorials.”
Note that the last answer is a bit of a pre-emptive strike on the whole question of problem solving — if you know you might get asked a question that you don’t know the answer to, you can get ahead of it by doing some research. It doesn’t necessarily mean you’ll have an answer to a specific question, but you’ll be able to show you know how to get your hands dirty with a technology to help find a solution.
Make Something New
One of the best ways to show your skills if you have no professional experience is to demonstrate something you’ve built in a non-professional context. I just love it when candidates show something original they’ve built. Even when it’s not all that great, it still demonstrates a number of skills relevant to the software development process: coming up with an idea, a product design, a development plan, and in some cases, a deployment strategy.
But please, build something original! Years ago, I was interviewing candidates for an entry-level frontend position. When I asked what they had built, they eagerly showed off their GitHub profile with a “Snake.js” game written in JavaScript. Amazing! It was simple, but well put together for a relatively inexperienced engineer. But as I continued to interview other candidates, I started to see similar projects on a couple of other GitHub profiles: “js-snake”, “snakegame.js”, etc. I Googled some of the code from the project and — sure enough — they were all based on the same online tutorial.
I don’t fault the candidates for showing code derived from a tutorial — it was their own code, not just copy & paste — but it did make the whole thing a little less impressive as a portfolio piece.
Show Discipline & Dedication
One pattern I’ve seen again and again in candidates with no experience who go on to become successful software engineers is simply showing discipline & dedication for something — even something completely unrelated to engineering.
It could be a musical instrument, sport, writing, woodworking or really any other hobby, but show some area in your life where you can demonstrate consistency, making goals, practice and dedication over a long period of time. Be able to show a little bit about the process and what you’ve been able to accomplish.
Perhaps it was just a coincidence, but two of the very best inexperienced engineering hires I ever made were avid followers of martial arts. Neither had any professional experience, but turned out to be amazing software engineers. I know very little about martial arts and would not have expected any particular overlap with engineering skills, but what it really demonstrated with both candidates is that were capable of dedicate themselves to long-term goals that require consistent effort. And in both cases, those skills transferred over amazingly well to becoming a successful software engineer.
Have an Opinion, but Stay Humble
I often ask candidates how they feel about certain technologies, things they like, things they don’t, etc. There are no right and wrong answers of course, but it’s a good way to explore what candidates know about a technology and to be able to discuss tradeoffs. And just about every decision in software engineering has tradeoffs to consider!
Don’t be afraid to have opinions and be able to articulate them — talking about the features and tradeoffs of various technologies is part of the engineering process! But at the same time, stay humble — be aware that you probably have a lot to learn about the tech. Talking about tech opinions is a chance to explore the topic, not a chance to prove how smart you are. This applies to experienced engineers as well.
Recap — It’s a Challenge, but You CAN Do It!
Breaking into a software engineering position with no prior experience is hard. Engineering teams are looking for signs that candidates can be successful in a position, and without any formal experience, it’s hard to prove that you have the qualities to succeed.
The advice in this article is intended to let you demonstrate you have those qualities, even if you don’t have professional experience. It may take some extra effort, and it may take some extra hustle, but with the right approach, you can stand out from other entry level candidates and land a position.