The age old question of college vs self-taught has been debated for decades now, with no clear winner. But I think that we're now closer than ever to a satisfying answer. At least I think so.
If you read my story, you'll know that I personally did attend a 4 year college and at some point graduated with a degree in Computer Science. I'm not mad that I did it, and I'm not taking it back. It was hard work and definitely a checkmark off my list to show my grand-kids one day.
But that's my story. It's not yours and it's not many others. I've spent over a decade working with very talented programmers in the corporate world. And many of them, have never stepped foot in a college lecture hall. Some attended community-college, other's took online courses, and some even just started coding one day and found themselves at a high paying corporate job a few years down the line.
So that's why I can say with confidence that yes, you can indeed land a tech job without a college degree.
But you will have a slight handicap and that might require you to work a bit harder and do a few extra things in order to standout among the crowd.
Here's how to do just that.
Pick a single stack
Quite possibly the hardest task for people to stick to in the beginning. I speak to many younger developers on a weekly basis, some for 1 on 1 consultations, others through mutual acquaintances. And the one habit that many of them share is that they don't have an actual plan or goal in mind for their career in tech.
They want to throw everything at the wall and then see what sticks. In the coding world that means having a resume that looks like the following:
- Proficient in C
- Knowledgeable in C++
- Experienced with Java
For one, not realistic. I've never met a programmer in my life that knew every language and every framework well enough to be employed for it. You might have heard of each language, and you might have even setup a hello world application at some point. But odds are you don't have a deep enough experience with all of these in a corporate and professional context.
Just learning how to deploy an application to a live environment in C++ and in Node can take a substantial amount of time. You'd have to know the security protocols involved in each and how to handle dependencies as well. And that's not even including the actual syntax and frameworks involved with those languages.
Truthfully, you might see 8-10 languages listed on a job application online. From my experience, this is mainly due to HR departments that lack technical knowledge. Whenever you see a phrase such as:
"Knows C or C++ or some other language"
You can guess that a programmer had no say in writing out that job description. Because if I'm working on a C# website with a SQL Server database, then I'm not looking for a Python developer.
So pick a stack that you resonates with you. One that you enjoy working with and that your workstation or laptop can run without issue and make learning that your primary goal.
Getting an online presence
So you don't have a college degree. That's fine. But now you need some form of proof that you know something about code. While many entrepreneurs these days are against the college system, it is still somewhat of a reliable measure of your overall knowledge.
You didn't spend 4 years in classes daily, passing midterms monthly and getting that degree at the end without having done the work. An employer may not know "what" work you did, but they can assume that "some" work was done during that time.
Building your online presence does not have to be a life-changing ordeal that takes you months. It really doesn't. At a minimum, you should have the following accounts setup, with your real name if applicable:
- Your own website
And that's it. That's all you need really. I keep this list short for one reason. No matter how many times I tell people to ensure they set these up, most people don't bother. So set them up, after you are done reading this. But the quality is what counts here. If your default headshot for LinkedIn is a picture camping with your dog, you might want to make an update. If your bio reads like the one that you wrote in your High School English class, then you might want to update that as well.
And the same goes for anything with your name on the internet. Be the person that you would want to hire. At least in the beginning. Nobody is really expecting a programmer to wear a suit and tie more than once out of the year.
And if you don't have your own personal website, this is the time. I even wrote a 5 minute article for you on how to do that right here.
Remember that you are not the only person applying to any job. There's a long list of people all vying for that spot. And the only thing that your potential future employer knows about you, is whatever you put on the internet.
Branding and content are related, but two different things. Your brand is who you appear to be online to others. It's your title, your headshot and your quick bio. Content is your work. It's the quality and detail that you put into your projects.
But more importantly, it's essentially what you are going to be doing for someone else. Employers will see your work and if it's good, they might respond with a "I want that!". But if it isn't, then a "Pass" might be in order.
The more you create, the better it gets though. So keeping the project list short, but of higher quality, might present you in the best light.
I've reviewed resumes in the past with dozens of links to projects to review. For one, I'm not going to click on every single link. I might click on 1 or 2 and spend a few minutes looking things over. If the quality is just okay, then odds are I will continue to review candidates. I won't rule you out, I will just add you to the maybe list.
If your work stands out though and catches my attention, then there might not be a reason to look any further.
So whatever link you want your future employer to click on, ensure that it really is a sample of your best work. Don't save the best for last, this is your time.
Get a recruiter
That's more than any fresh college grad will bring to an interview. Now it's time to actually start to find employers that match your skillset. And that's an important point to make, so I will go into it further.
Some people are of the mindset that you should apply everywhere, regardless of the requirements for the job. Don't know Fortran? That's fine, apply to Fortran jobs, because reasons.
I'm not of that mindset. I don't think you should apply to any random 'Careers' page that you find online. You should plan and have a goal with your job search as well. Because time is money and energy. And spending 30 hours a week on phone interviews for jobs that you can't do isn't good for anyone. It's not good for the company you are spamming, and it isn't good for you either.
There is no real badge of honor in being told 'no' 100 times back to back.
So get a recruiter. Or find a recruiter I should say. How do you find a recruiter? Well, they are everywhere to be perfectly honest. You can find them on LinkedIn, you can contact recruitment firms directly, you can even Google the term and spend some time reaching out.
Recruiters have something which most people don't have out of the gate. They have a doorway into the corporate sector. They already have companies looking for candidates and their job is essentially to get you hired. You get a job, they get a commission. It's a win-win.
Not all recruiters are made equal though. Some recruiters will put you in the front-seat of a Fortran interview, along with 30 other candidates.
A good recruiter however will get you the interview that you have been eyeing for some time. And once they get you that interview, they will work towards getting you the salary that you desire a well.
And lastly, and probably the most important item on this list, whatever you do, don't spend a week applying to 3 jobs and then just sit and wait for a month for a response.
Odds are you might not get a response. But time still ticks on. And jobs are created and filled minute by minute without stopping in a constant stream. If you are not in that stream, then I assure you that someone else will gladly take that place.
So whether you are tweaking your online profiles, building sample projects, adding recruiters on LinkedIn or even just reading a blog post about how to land a job, just keep it going until it works.
Walter Guevara is a software engineer, startup founder and currently teaches programming for a coding bootcamp. He is currently building things that don't yet exist.