The first programming job is usually the hardest one to land. I’ve seen many tales of people blasting out hundreds of resumes hoping for a hit before landing their first gig. The truth is, the resume screen is where most of these folks fail to move forward. This article is about how to get past that and find a faster way in.
An Example of Luck in Action
At 2AM on a stairwell in Baltimore, MD I landed my first programming gig. It was 2008. An Account Executive from a marketing company had a freelancer flake on him and he needed a website ready by 9AM that day. Here’s how the conversation went:
Me: “Hey! Are you OK? It’s 2AM and you’re yelling into a cell phone.”
Account Executive: “Sorry, my freelancer flaked on me. I need this website done by 9AM.”
Me: “Is there anything I can do to help?”
Account Executive: “Not unless you know HTML and CSS.”
Me: “I know HTML and CSS.”
Account Executive: “You’re hired! What’s your hourly rate?”
That stairwell-at-2AM-based gig turned into an internship, which helped me get a job at a different company, which turned into the career I have now. Most people’s careers don’t start out this way, but I bet there’s more seemingly-serendipitous luck involved than most of us would like to let on. Let’s talk about putting yourself in the way of opportunity.
Step One: Be Prepared
There’s no substitute for preparation for your chosen field. This is less about degrees and resume building than it is about making sure that the hard skills are there so that when opportunity comes knocking you know you have the ability to deliver. In Software, this means knowing enough about a set of technologies to do important work with them – in my case, that night, it was HTML and CSS, but at other times it’s been web frameworks, Linux, AWS, server frameworks and a raft of other programming languages. The main point is that before you’re able to get your foot in the door somewhere you’ll need to know at least enough to be dangerous in some relevant tech. Make sure you can do meaningful work and build your portfolio.
Step Two: Build Relationships and Listen for Opportunities
I didn’t know that the guy living across the hall from me worked in an industry where he might be able to throw me a job. I just knew him as the guy across the hall. We said hi to each other occasionally on the landing but never talked much before that night. Had I taken the time to get to know him, opportunity might have come sooner. For most of us, finding new opportunities is more likely to happen through our network than through resume blasts or recruiters. The best and most interesting opportunities come through word of mouth. Make a point of expanding your circle. Make friends. I’m not suggesting that we engage in “networking” in the very transactonal way that MBAs talk about it but having a wide group of friends can help more opportunities come your way. That Account Executive was one of the best men at my wedding years later – the seed of a good relationship was already there, way back then.
Step Three: Put Yourself in the Room Where it Happens
Where do people who do what you want to do hang out? Meetup groups, Reddit communities, Slack groups, Discord chats? Find out and go there. Get to know them. These groups are awesome places to look for job leads, and if someone has met you and has a favorable impression it can be enough to get over the first hurdle of landing an interview. When I ran a consulting company I used to go to Meetup groups around Chicago. I met a lot of my clients that way – I would look for business people and try to talk with them rather than just the Engineer (telling Business folks apart from Engineers is usually quite trivial, even at a distance). This does look a bit like traditional networking, and it may be outside your comfort zone, but it can be very effective. The resume screen is really hard to get past, especially for entry level hires. Finding a warm lead to a company that’s hiring is usually the best way in.
Step Four: Take a Path Less Traveled
Finding a full-time job straight out of the gate is hard. You may have better luck with freelancing or doing Upwork gigs for a bit, building simple websites for local businesses, or taking another non-traditional route to success. Remember that the goal is demonstrating your ability to solve problems with code – any work, whether paid or pro bono, that allows you to build those muscles will be putting you one step closer to your goal. Anything you build to gain experience will be something you can point to in a job interview when the time does come to land that first gig. Make sure to put yourself out there before you feel you’re ready, and do as many cool things as you can.