Barriers to enter tech as a software engineer

I’ve had a fairly traditional entry to tech. I studied CS in school, did an internship and became a software engineer. For a long time, I thought this was the only way to get into tech. Recently, I have gained exposure to coding bootcamps as an excellent alternative. They produce students who possess a lot of drive, resilience and self-belief. But they do face a lot of barriers to enter tech – some obvious and some not-so-obvious. I want to explore the most common ones in this post to create awareness and to brainstorm solutions. Even though a lot of discussion in this post is around engineers, these barriers apply to non-engineers as well.

1. Getting noticed for job opportunities

Finding good entry-level jobs is hard unless you have prior internships or come from top schools. The first challenge to getting an entry-level job is to actually convince a recruiter or a hiring manager to get them to take a look at your resume or LinkedIn profile. There are a lot of candidates whose profiles look the same and it can be hard to stand out. Referrals make a big difference here. But for this, you need to have a good network in the industry (social or professional) and that is something folks from underrepresented / non-traditional backgrounds don’t have as much.

Overall, getting noticed is a hard problem to solve and is one of the biggest barriers to enter tech. I personally haven’t had to deal with this thanks to an internship. But here are some ideas that come to mind:

  • Contribute to open-source projects. This gives you some real-world credibility and experience. It also allows you to build your network by interacting with folks who are involved in those projects. (First Timers Only has some good advice and resources on getting started)
  • Have an online presence. Setup your personal portfolio website, host the projects you’ve built and link to these in all your applications/profiles. You never know who is going to see this and decide to take a chance on you.

2. Coding interviews

I have mixed feelings about coding interviews. On one hand, they’re a great way to weed out folks who can’t do the job. But it can also take a lot of special preparation to do well on those interviews. Often times, questions you get on those interviews could also be based on CS knowledge that isn’t particularly important for the role being hired for. I personally don’t enjoy coding interviews for a couple of reasons:

  • Thinking through a problem and coding when someone is watching you is incredibly stressful. My performance definitely takes a hit in such a settings.
  • Like with most things you can get better at this with practice. But this whole idea of doing special preparation for a job interview feels very off to me since time invested is in no way making me a better engineer. (This may not apply to folks who are starting out since practicing coding is probably helpful).

So what’s the alternative to this? A couple that come to mind:

  • I recently wrote about a modified version of a coding interview that addressed the above pain points (can find it here). In this interview, you have 2 hours to write code for a real problem without the interviewer watching you and freedom to use the Internet freely.
  • I really enjoy take-home challenges as an alternative to coding interviews. This is the closest simulation of a real job experience where you take a problem, solve it without any hard time constraints and without someone watching you all the time.

3. Lack of a support network

When I was applying for software jobs fresh out of college, I had a lot of peers doing the same. So I always knew where they were applying to, what opportunities were available, how difficult interviews were at company X etc. But for someone who does not have this, it’s really hard to know how to proceed. As the saying goes, you don’t know what you don’t know.

This is where mentors can play a big role. There are a lot of amazing organizations that connect new folks with experienced professionals to bridge this knowledge gap (check out the list at the end of this post). Here are a few different ways that a mentor can help:

  • Being able to answer questions and to give you exposure to things you may not be aware of is incredibly valuable.
  • Apart from filling knowledge gaps, they can provide emotional support to help deal with things like handling failure, Impostor Syndrome etc. All engineers go through this and hearing mentors speak about their own experience can have a big impact on confidence levels of mentees.
  • Helping navigate the interview process and providing interview practice/feedback.
  • After starting a job, helping navigate situations at work involving both technical and soft skills.

Being aware of these barriers to enter tech and having open discussions about them is the first step toward addressing them. These barriers affect folks from all backgrounds but especially those from underrepresented ones. One of my personal goals is to get as many people in my network to volunteer for organizations working to increase folks in STEM careers. It is my hope that this post makes you think about what you can do 🙂

(In case you are interested, here is a list of organizations and volunteering opportunities that I compiled a while back)

2 thoughts on “Barriers to enter tech as a software engineer

  1. Thanks for sharing your thoughts on this! A couple of things :

    – landing that first internship is tricky (which precedes the job ?) in a lot of cases. Chicken and egg problem — companies want to see potential, but you need opportunities to show potential Having projects under one’s belt is very helpful to land internships.

    Gives them talking points!

    – for the portfolio piece, I would specifically add that having a GitHub profile helped me a lot personally.
    Even in senior interviews I was quizzed on it from time to time!

Leave a Reply