Whether you just finished college finally after 4 years of hard work, or maybe you just completed a 6 month coding bootcamp, or even maybe you are self-taught and just got certified in various technologies through Google perhaps. Point is, you now need a job and there is plenty of competition out there outbidding you currently.
The first job in a new field is always the hardest to get, but also the most rewarding. No sacrifice, no reward. You can read more about how I landed my first big coding job right over here if you'd like to follow along in more detail.
There were a few things that I did that helped me out tremendously in this process though. Here's 5 of the most notable that you can use in your own future job hunt.
Apply for Jr. and entry-level gigs
You might hear other programmer's tell you to apply everywhere as much as you can because you have nothing to lose and this will only increase your chances of landing that first big job. There might be some truth to that, but let me shine some light on a few potential downfalls in that logic.
If you are a brand new programmer that either just finished college or a coding bootcamp and a company is hiring for a mid-level developer, odds are they are not going to hire you. But that doesn't mean that you won't get an interview. It just means that once you pass the HR portion of this interview and then meet with a developer, then there's a good chance that they won't hire you.
Not because you're bad or not skilled. Not at all. Here's why.
When I was hiring for a developer position at previous jobs, it was typically for my department and it was someone that would be working with me directly. Due to the nature of the websites, we hired mid to senior level developers. It was a very large and old web platform running on outdated server technology. There is simply no way that a fresh-graduate would know anything about how this code worked.
But that doesn't mean that HR did not send entry-level candidates my way. I met with plenty. And the outcome was the same for all of them. They had never heard of the programming language that we were looking for or any part of the technology stack really. So we had to pass.
So the reason I say only apply for "Jr", "Entry-level", "Intern" positions, is so that you don't waste your time on interviews that you more than likely won't get. Focus on the jobs that you have a higher chance of getting only, and your job search will be much shorter and I assure you much less stressful.
Connect with recruiters
Recruiters have gotten me some of the most notable interviews in my career without me having to do anything. And most recruiters are willing to work with anyone at any skill level, because they work with companies at many skill levels.
How do you connect with a recruiter you may ask? LinkedIn is a great place to start. There are thousands of recruiters on the platform actively looking for talent. Sending them a message and letting them know that you are now on the market is a super quick way of expanding your reach.
While you are busy finding your own interviews on the side, they will be busy doing the same for you. Not to mention you resume will begin to spread online and thus grow this network more and more daily.
Recruiters can even help to negotiate higher salary packages for you as well. At least the more talented ones can. I'm not saying that every recruiter is going to work wonders for you, but I am saying that there are some amazing ones out there.
As mentioned, I worked with a recruiter for many years that had built relationships with some of the biggest tech companies that you can think of. She would occasionally follow up with me to see if I was on the market and/or interested in an interview and she would easily and reliable get me an interview within 1-2 days without a problem.
Sometimes, it really isn't about what you know, but more about who you know.
Keep coding daily
This is the one area that most fresh-grads lack in. They have a diploma (or credentials of some kind) but very little practical work to show for it. You have to show your work always and forever.
I still have to show my work to employers, and I've been doing this for almost 20 years. At this point in my career, I've amassed a substantial amount of code to show. But early on when I was first starting out, I had one single static website that I carried around with me. And I would continue to update it each and every day pretty much. At some point in my job search one of the hiring directors praised the website (as much as one can praise a Jr. developer), and that turned into my first big developer job.
You also have to remember that this field changes constantly. Much like doctors (hopefully) have to keep up with the latest biological innovations (hopefully again), developers have to keep up with new frameworks, languages, terminologies, acronyms, etc.
And much of this work comes down to your own willpower and desire to continue to learn and to get better. The better you get, the more work you have to show for it, and the easier it will be to showcase your skills.
Take a break when needed of course, but the best break you will take is right after you sign that first contract and land that job.
Land an internship
You might shy away from internships due to either the low pay (sometimes none) or because you might fancy yourself to be above them. Don't shy away from potential entryways early on.
Internships are a good way to grow your resume and get some much needed referrals and recommendations. And best of all, most only last a few months. A 3 month internship at a big tech company can not only teach you a fair amount of how the corporate world functions, but it will also keep you actively learning and growing. Remember, you can still apply for full-time jobs while an intern. Most companies don't have a strict no-compete policy for interns, particularly because again, they might not be getting paid.
Most companies are also very willing to promote interns to full-time staff once their short lived contracts are up. It saves the company time from having to search for other developers and since you are already familiar with the structure and onboarding, you are a perfect fit typically.
And that's the beauty of internships too. They are super flexible and not as serious in a sense. You can work towards another job, or stay at that particular job and if you don't enjoy it at all, there's really no loss in either leaving or just finishing your 3 month term.
There's also less high-stress work involved typically. When I was first staring out, I applied for an internship at a very well-known entertainment company. The interview went very well and they offered me the position for a 5 month period. The office environment seemed very loose and fun and every Friday, the employees were encouraged to pretty much play video games and bond and then go home early. Not a bad place to start your career.
Time your search well
There is one time when you might have a more challenging time in landing a tech job. That time is right after college graduation season when thousands of other potential candidates are flooding the HR inboxes with their resumes.
Ironically, this is also when companies start to hire more as well. So it's a tricky time to maneuver. My advice here is to start to apply right before this rush of individuals hits the market. Maybe 1-2 months prior, just to get your resume closer to the bottom of the stack if anything.
It actually is quite alright if you aren't just yet finished with school as most companies, from my experience, are willing to work with your schedule if they find that you are a good company fit.
If you are coming from a coding bootcamp, you might have an even greater advantage in this case, as you might be able to time your completion to either right before graduation season, or a few months after graduation season. Both are good times as the number of candidates begins to dwindle down.