5 key elements that will make all the difference in your job search
Getting a job out of school is hard.
Especially when it seems like every other fresh graduate has been interning at Google or Facebook or Amazon (or all three) since sophomore year. Believe me, I know. When I started my job hunt at the beginning of this year, I sent out 93 job applications, 2 of which resulted in full time job offers. That’s about a 2% conversion rate from applications to full time offers.
A little background…
I graduated from a mid-tier school with mid-tier grades and a grand total of zero internships under my belt. I got my A’s, my B’s, my C’s, and a couple D’s (apologies to my parents) — strictly in the middle of the pack.
The point is, I didn’t stand out. So why would anyone hire me in one of the most competitive job markets out there? There are literally thousands of more qualified candidates companies could choose from.
Looking back, there are 5 key elements that contributed to my eventual employment. I’ve tried to distill what I learned into fairly generic attributes. They are applicable whether you’re a fresh CS grad like me or an elementary school teacher looking to switch careers.
5 Key Components to Landing your First Software Developer Job (No Internship Edition).
Element #1: Persistence
As mentioned earlier, I got 2 job offers out of 93 applications. This is about a 2% conversion rate (or 46 rejections per offer). That is to say, unless you’re an engineering god, you will face a lot of rejection. It will get discouraging.
Just remember, that there are so many reasons that a company might reject a candidate. That is beyond your control. For example, reduced headcount, internal re-organisation.
So don’t take it personally and keep on trucking. Who knows? Maybe the next application you send is the one that gets you an offer. Don’t make the mistake of giving up early and missing out on what might be your next job.
Element #2: Diligence
Practice, practice, practice.
Technical interviews are simple — you either meet the hiring bar, or you don’t. That means you have to be ready for the interviews that come your way. For me, that meant 2–4 hours of interview prep a day for the 3 months I was recruiting.
You may not have that kind of time, but the point is, make sure that you are prepared to the best of your ability for the opportunities you’re given — because if your job application looks anything like mine, then those opportunities are going to be few and far between.
Interview prep is its own beast, so I won’t go in depth on what my study regimen was in this article, but here are a few resources that I found useful when studying:
Algorithms and Data Structures
- Steven Skiena’s Algorithm Design Manual (PDF)
- Steven Skiena’s Analysis of Algorithms lectures on YouTube
Practice Interview Questions
Basic Program Design
- Peter Norvig’s Design of Computer Programs
Element #3: Resourcefulness
Use everything (and everyone) at your disposal.
Use your school’s career portal to apply to small companies that will take your cheap, inexperienced labor, and build up your skills in a low risk environment. You will not be paid much. It will not be glamorous. But it’s something to put on your résumé and it’s one step closer to the job you want to end up at.
Full disclosure, this is exactly how I got my first development job during my last year of school. That was literally the only job I had on my résumé alongside a list of side projects when it came time to apply to the bigger tech companies.
Leverage your personal connections, if you have any. Ask your parents’ friends’ friends if they can forward your résumé to the right people in their companies. Ask that guy you met on the train. Ask that woman you met at that party. People love to help out, and it’s such a small ask that odds are no one is going to straight up reject your request to forward an email for you.
Everyone owes their success to someone, so don’t feel bad about asking for help. In fact, the people you’re asking probably got to where they are becausethey asked enough questions to get there. And when the time comes that people are coming to you for help, remember all the people who helped you get to where you are and make sure to pay it forward!
Element #4: Soft Skills
I like to think it was my scrappy, go-getter attitude and my magnificent engineering chops that charmed my interviewers and awed them into extending me an offer. It was not. Thankfully, you only need to be a decent human being with basic communication skills.
Are you receptive to criticism, or are you obstinately defensive? Are you able to articulate your thoughts clearly, or is your logic hard to follow? Are you a good teacher, or do you get impatient when someone lacks understanding? Ultimately, are you someone I would want to work with?
According to Forbes, a lack of soft skills can kill your chances of being hired, with a whopping 75% of recruiting professionals cutting their interviews short because of insufficient soft skills. So brush up on your soft skills, because they might even be what saves an otherwise terrible interview.
Case in point: I got one of my offers after one of my worst interviews ever, because they “liked my positive energy”. They said that on the phone when I got my offer. So be positive. It’ll get you a job.
Element #5: Luck
This one actually isn’t that helpful. Sorry!
With no internships and a paltry list of hacked together pet projects on my résumé, what incentive was there for recruiters to reach out to me amidst the sea of ex-Google interns and Stanford grads? To be honest, not much.
When my résumé hit the recruiters’ desks (or inboxes), it basically boiled down to whether they were feeling generous enough to give me a chance to interview.
There’s not much you can do here, so don’t take rejections personally. Make sure to “please keep an eye out for any future opportunities.”
The important thing to recognize is that some of the hiring process is entirely out of your control.
Use that knowledge to motivate yourself to take full advantage of the things you do have control over.
Be persistent in your efforts to seek out every single potential opportunity. Be diligent in your preparations so that you are ready to crush the interviews that you do get. Be resourceful in maximizing the number of leads you have through your personal connections and career centers. And finally, hone your soft skills to the point where everyone you meet will want to work with you.
There is no secret formula that you can follow that will get you hired.
There’s no magic number of Leetcode questions to complete to get hired, no sequence of steps to follow to magically unlock a job offer. When you get rejected, don’t blame the interview process. Don’t blame the engineers who interviewed you. You and I don’t get that luxury. Because at the end of the day, we’re just poor ex-students trying to get hired, and no amount of blame shifting will change that, no matter how broken and/or useless you might think the hiring process is.
With every rejection, ask yourself:
- What areas did I do poorly in?
- Why did I do poorly in those areas?
- How can I improve those areas for next time?
Identify your weaknesses and work hard to remedy them, because in the end, that’s really all it boils down to: a little bit of luck and a whole lot of hard work.