Getting your first software engineering job

As a musician turned bootcamp-grad turned software engineer, I get asked frequently about my thoughts about breaking into the industry. "What do I need to do to get that ever-elusive first software engineering job?"

To be honest, it's hard to answer. I wish I could say "follow these 4 easy steps and you'll have a job in 4 months", but job searching isn't formulaic. It varies from person to person.

First, a word of caution about job searching advice

Take other people's tips with a grain of salt — mine included. These are things that worked for me, but they may not apply 100% to your situation.

Here's a few aspects to note about my job-search in 2017 that might differ from your experience:

  • The entry-level market has shifted. Companies expect junior engineers to know a lot more today than I did as a junior engineer. COVID-19 opened up many remote opportunities but it also means global competition for roles.
  • Demographics and unconscious bias. I'm a white man, and I entered tech in my mid 20s. Depending on your demographic, my experience may differ from yours. Lots has been said about how we can decrease bias in hiring; that's another article entirely.
  • Personality. I'm outgoing and personable. I'm ADHD. These tips worked for me based on my personality. YMMV.

Stand out from the crowd

Entry-level jobs are scarce, so competition is fierce. If you want to get an interview you need to stand out from the rest.

  • Build real projects. Your bootcamp portfolio projects probably look identical to other candidates'. Don't put another todo app, timer, or quiz in your portfolio — build something that's uniquely you.
  • Prefer depth over breadth. Companies expect when they hire entry-level roles that candidates won't know all the technologies in the job description. They're looking for learning trajectory, and you can showcase this much better by knowing one "main thing" inside-out.
  • Go beyond what your bootcamp taught you. Did your bootcamp teach unit testing? CI / CD? TypeScript? If you have the time, learning practices adjacent to your "main thing" can help you stand out from the crowd.
  • Have a good resume and portfolio. Compare your resume and portfolio to other entry-level candidates. Does yours looks identical? Your portfolio especially, that's your corner of the internet so put your stamp on it.
  • Learn to write. Post on LinkedIn and Twitter. Start a blog (use dev.to to get started quickly). Many won't do this extra work, so if you do it's big points in your favor.

Network as much as possible

This is how I got my first job. I met a guy at a meetup, he introduced me to someone else, and that person introduced me to the recruiter at my first job.

  • Go to meetups. Go to as many meetups (remote or in-person) as you can fit in your schedule. Meet new people and get to know them. Someone you meet might just hire you!
  • Join online communities. Discord and Slack have lots of developer communities. Some are even geared towards entry-level job-seekers! Twitter and LinkedIn are also great ways to get involved in the online developer community.
  • Be genuine. Don't just use people for job leads. Build real connections with the people you meet, it's better in the long run. People can sense when you're inauthentic.
  • Post on social media. Get on LinkedIn and Twitter. LinkedIn is where the recruiters are, Twitter is where the dev community (at least for JS) is.
  • Follow. up. Don't just meet people and expect them to hand you jobs. Message them and follow up. Ask if they can intro you to people that are hiring. Ask what advice they have for job seekers. Don't meet them once and disappear.

Think of job-searching as a sales funnel

Job searching is sales. When you accept an offer, you are making a business transaction — you agree to trade your time and skills in return for money and benefits.

View the job search as a sales funnel. You only need to close one sale, but when you think of yourself as "the product" and interviews as "leads" you come across as more confident.

Iterate and improve.

I often hear about bootcamp grads sending out 500+ job applications or failing 100s of interviews on a single job search. And I often wonder whether they are iterating on their process or not.

Assess where your job search funnel is breaking down, and then double down in that area. Are you failing to get past the resume screen? Do you bomb technical interviews?

Don't blindly repeat something that's clearly not working. Either work on improving your performance in that area, or look for a way to "change the rules".

For example, use a network-based approach to skip resume screening entirely. Or don't apply at companies that do algorithm challenges if your computer science skills are weak. Or do interview practice with a friend if you struggle answering questions confidently.

You might have to try a few things before you see improvement. But don't let that deter you from tweaking your job search processes to get the results you want.

Resources

  • The Standout Developer by Randall Kanna. I have not read this myself, but it comes highly recommended by some colleagues. I follow Randall on Twitter and she is full of amazing advice for those entering the software industry.
  • Taylor Desseyn on Twitter. Taylor's a recruiter and is also full of job search advice for both senior- and entry-level engineers. I've learned tons about how software recruiting works under the hood from popping into his podcast every once in a while.