I recently wrote a 80-page guide to how to get a programming job without a degree, curated from my experience helping students do just that at a leading data science bootcamp. This excerpt is a part where I focus on unique ways non-STEM students and dropouts looking for programming jobs should differentiate themselves.
As somebody who has had to perhaps beat a non-traditional path through to programming jobs, you’ll need to do things that are slightly different and a little bit more than the norm so that your profile sticks out. Without a formal computer science background, you’ll have to show that you’ve got unique drive and willingness to learn.
Here are a few things you’ll need to do.
Action Items
1- Build a portfolio of tangible technical tasks and participate in communities
You’ll want to demonstrate that you actually can program. There are a few ways to do that: either building your own portfolio site, having an active Github profile or contributing to Stack Overflow.
By being an active participant in different programming communities such as r/learnprogramming or Hacker News, you can also demonstrate that you’re an active contributor to ongoing programming discussions — and you’ll be able to start networking with different members of the programming community — including hiring managers.
I’ve used Hacker News to get in touch with hiring managers from Google by reaching out to their personal profiles. By being an active member of communities where hiring managers hire out, you can easily standout.
2– Do informational interviews and build out a network
Once you have a baseline of connections in different programming communities, you should start mapping out different companies and industries where you want to work. Then, you should start reaching out and finding people who work in those particular companies and industries.
Once you’ve found people you want to reach out to, do what’s called an informational interview — reach out to them and ask them about what they’re working on and what problems they face at work.
Here, if you can show that you’re a proactive problem-solver and somebody who can respond with empathy and skill to different situations that arise (and somebody who seems to have done their research and homework on a particular company or industry), then you might not just leave with insight about a field that you’re interested in — you might leave with a potential advocate for your skills in the company, and a potential ally in your search for a job.
3- Practice, practice, practice for the coding interview
Once you’ve got an initial interview lined up, there’s no amount of practice that you should limit yourself to. Better safe than sorry.
You should practice with limitations in mind. A coding interview is not going to take place with you comfortably able to browse through Stack Overflow — a coding interview is going to test you by limiting the time and information you have in front of you. This will often break self-taught programmers who aren’t used to limitations.
Sometimes, coding interviews will actually involve writing down your code on a piece of paper and reciting it over the phone! Be prepared for anything by practising with those constraints in mind. Force yourself to accomplish programming tasks in a set block of time.
4- Follow up and don’t give up
The interview process is always lengthy and it can take a while for companies and hiring managers to get back to you.
Never give up — follow up proactively every once in a while to get a sense of where you are in the process.
If a company rejects your candidacy, you can ask them for feedback but be aware that there are legal constraints on what a company can tell you. Once you’ve gotten your response, accept it with grace and work continuously through the process. Take any feedback you can get and learn from it.
Hacks
I call this section hacks because it’s a pretty good description of how you’ll have to act if you want to get an edge here. These are little tips and tricks I’ve picked up on how to get into Silicon Valley without the accompanying STEM degrees.
1- Find non-traditional methods of outreach
It can be hard to build a network and reach out to people in the programming community — in many ways, it’s a sort of chicken and egg problem. In order to get hired and noticed, you should have a good network — but if you come from a non-traditional background when it comes to programming, it can be hard to get that network unless you get hired.
One way to get around that is to network extensively, using solutions such as LinkedIn, AngelList or local meetups to do informational interviews with experts in the field. That’s how you can build a network from scratch if you don’t have one already.
2- Leverage your unique strengths
If you have a background in a certain domain, leverage that to get an extra edge while looking for programming jobs. If you worked in banking before, talk with financial technology companies. Emphasize your passion for the industry a company is working in, and tailor your profile to a particular industry: it’ll help increase your odds.
3- Demonstrate your willingness to work
One advantage you’ll have looking for programming jobs is that a lot of people who are established in the industry won’t go the extra mile when they’re looking for work. It can be easy to differentiate yourself by simply being more willing to demonstrate that you’re able to put in the hours. This can be as easy as doing some work for the company before even interviewing with them, perhaps building a simple landing page filled with solutions to potential problems you’ve identified.
Perhaps you want to reach out to current users and customers of the company and ask what problems they have and see if you can design something to solve them. Being proactive and showing you can be a problem solver will help you gain that extra edge you’ll need.
4- Get involved in helping non-for-profits
Want to be able to demonstrate your programming skills? You could volunteer for a local non-for-profit or build open source projects on open data.
5- Be involved in the community
Check out your local meetups and see if you can get involved! You might want to even organize your own meetup if you don’t see anything around — this can be a great way to build your personal brand and to get in front of hiring managers.
Go to hackathons and build solutions with different team members, many of whom might be hiring managers or who might be able to recommend you to them.
6- Write about your learnings
As you’re learning to program, writing about your challenges and also building valuable resources and tutorials for people who might look to follow your steps will differentiate you as somebody who is obsessed with learning relentlessly and communicating that passion with as many people as possible: a huge differentiator when you’re applying for a job.
7- Make it easy for people to reach you
Whether that’s by starting your own personal website or maintaining an active presence on LinkedIn, local community events, programming-oriented communities such as Hacker News, Stack Overflow or Quora, you’ll want your personal profile fleshed out and ready to be shared across these different platforms. Make it easy for hiring managers to find you and to reach out to you.
Common interview tips
Here are some interview tips for different programming interviews.
1- Prepare with constraints
Most people prepare for coding interviews by just working through their normal day-to-day flow: however, coding interviews are a different beast to that. Oftentimes, interviewers will ask you to scrawl code on a paper and read off of it or do the famed whiteboard interview where you have to put everything together without the use of a computer or the ability to really type things through.
You don’t want to prepare for coding interviews by doing much of the same. Practice programming under all sorts of constraints, from time limits to scrawling algorithms on paper. That way, when you’re doing the interview under constraints and facing time pressure and the pressure of trying to get a job, you’ll be on the right path.
2- The process is as important as the answer
When you’re working on different questions through the coding interview, keep in mind that the way you structure your answer and how you come to different conclusions matters more than getting the “right” answer. It’s not very expensive to correct programming mistakes, but it is expensive to hire people who don’t have the right logic and systems of thinking about programming.
3- Practice makes perfect
You’ll want to practice answering as many sample questions and completing different practice exercises before you sit down and have the real programming interview in front of you.
I hope this is helpful for you! Want more material like this? Check out my guide to how to get a programming job without a degree.
Get the TNW newsletter
Get the most important tech news in your inbox each week.