1341 words long | 6 minute read
Getting a job as a developer feels like it has a lot of hoops to jump through. Between having to practice coding problems or keeping up on new tech there always seems to be extra work to do. All of the prep it requires to interview is daunting for even senior devs, and getting that first job is the hardest one to get in my opinion.
Landing your first developer job is especially difficult for those of us who are self taught, did a bootcamp, or are mid career switch. Without a formal degree, employers want you to sometimes prove yourself a bit more in my experience. I don't think the bar is necessarily higher it's just that you sometimes have to showcase your skills a bit better than someone otherwise might have to. Tech is great because you can teach yourself (and some of the best devs I've worked with are self taught) but getting your foot in the door can be a bit more difficult for those of us who come from different backgrounds.
Even though it's a lot of work, software tends to pay well and is a great job in my opinion. The effort is worth the outcome and with a bit of preparation, hopefully it makes the whole process a bit less daunting.
I wrote this post as a guide on what I wish I knew when I was first starting out. This is a guide not so much on how to do the work to get a job, but the work to put in before applying and then how to manage the whole process. I'll leave the leet code up to you.
This is probably the most important part of the process. Doing the work you need up front will make the rest of the process easier and probably help you have more success faster. Showing that you are are a strong candidate and have the ability to stand out from the rest of the applicants is a great signal to someone who is hiring.
Building your portfolio is a bit different as a developer than a typical portfolio. You want to showcase some things you've built before that can also speak to your technical abilities. For me, I run the site you're reading this on that showcases some of the things I've worked on and also shows a bit of my personality.
You don't always have to make an entire site either. Just filling out a readme or a smaller static site on GitHub could do the trick as well. Basically you just want to be able to link or write up about things you've built before.
Make sure to mention things like:
Having a portfolio will also give you something to put in your resume as a secondary place to check your stuff out.
There are many schools of thought when it comes to resumes on length, what to add, what not to add, etc. For me, a good developer resume has the following things:
The key is here is to show you have the skills even if you might not have the professional experience yet. Have you worked on a team that did two week sprints? Mention that because a lot of teams work that way in tech. Maybe you managed something before or have experience with customers. A lot of skills can be put in a tech context so don't undersell yourself!
This one isn't a requirement but can be a nice bonus. Show that you are consistently coding by checking in code to GitHub. It doesn't have to be every day but I know some employers look at your GitHub and how active it is. I'm not saying you need to be a core dev on a huge open source project or anything, just showing little projects or other examples can go a long way.
Applying these days is tough. Your resume always seems to get lost in the black hole of applying online and it can be tough to get through. Here's some tactics I use when applying for jobs.
Many people might disagree with this one but I think it can be the fastest way to land a job. Recruiting firms often have a lot of various positions open, from junior to senior level. They are incentivized to place you quickly as well. I personally look up the firms in my town who do tech placement and find someone on LinkedIn who is recruiting from there. Typically they are happy to talk to you and can give you an idea really quickly of what types of jobs they are placing for.
This is actually how I got my first job in software. It gave me the experience I needed and helped me then get other jobs once the contract ran out.
I know LinkedIn isn't cool but tons of people recruit from there. If you apply to a company, try to connect with someone in HR/recruiting from that company. Even if they aren't the right person they can often point you in the right direction. I've found getting even a single human connection at a company can get me to a yes/no/first interview much faster and it fights the black hole-ness of never knowing what really happened to your resume.
Also make sure that you set your profile to open to opportunities. You never know who might reach out.
Congrats! You have now landed an interview. Here are a couple things to think about the night before you are scheduled to talk to a company.
I would at least try to know the core of what they do, how big they are, etc. You don't have to know the entire company history but having some context really helps. You will often get questions like "so, tell me what you know about X company" and it's nice to have an answer.
Reading up on a company can also include things like their culture, benefits, and reviews from past employees. It will also enable you to ask good questions towards the end of the interview as every interview ends with "do you have any questions for me?"
This is particular to developer interviews. Knowing what an interview is like is key for having a successful interview. A typical developer interview process looks like this:
Knowing what the tech screens are like will help you immensely. A lot of places use coderpad or other software to conduct their interviews. Try to figure out from places like glassdoor, levels.fyi, or other sources on what types of questions or problems they give. Sometimes it's leet code, sometimes a take home project, sometimes just pair programming. Having context on what you're walking into will help you prep and be more successful.
If this whole thing sounds like a lot, that's because it is. Landing a software job is not particularly easy, but it is worth it. Putting in a little bit of extra work will help you stand apart from the crowd and hopefully make the process as painless as possible.