Just a little background before we begin. I have been working as a mobile app developer for the past year and a half, after graduating with a Bachelor’s degree in Computer Science. As of a couple of months ago, I have been fired (insert dramatic music). The reason: downsizing and making the company leaner. Without giving away too much, I wasn’t the only one fired from my team, and the company’s workforce decreased by about 40%. Yup, that much.
As fresh graduates know, there is a vicious cycle (at least in my country of residence), when trying to get a job in this industry. You need to have professional experience and/or a high enough grade point average. If you fail to have either of those, it can be very tough to catch a break.
So, after having a year and a half of professional experience, you might think that I’d find a job in no time, right? Wrong.
This is not a sob story, so bear with me for a minute.
Looking for a job is a very intricate and personal experience and is made up of a lot of factors. Nevertheless, there is plenty of common ground when searching for one.
Since most articles of this nature are centered on getting your first developer job, I wanted to write one that reflects what the process is like when you want to get your second one. I want to share my recent experiences looking for a job, not as a fresh graduate, but as a developer with more than a year of experience.
Fresh graduates and people who are currently working, but are thinking about changing their career paths or changing their workplace after a year or two of professional experience, will (hopefully) find what I am writing relevant and helpful.
Where to begin
First and foremost, it is important to understand that looking for a job is a full time job in itself. That may sound funny, but in reality, IT IS HARD. After you revise your résumé and update it accordingly, you are faced with searching online for your next position. Due to my situation, I did not have the luxury of time, since no job = no money ?.
The times have changed, and no one looks for jobs in the classified ads anymore. Your number one source for jobs is your friends. Ask around, see if they can refer you to one of their friends. Most companies prefer interviewing someone that’s recommended from a current employee instead of sifting through hundreds of applicants and choosing several. Look at LinkedIn, groups on Facebook, or Glassdoor for any job listings.
After those first few days of shock due to my untimely departure from being a mobile developer passed, I developed a routine. Wake up in the morning, review mails, look for new job postings in various sources, prepare for coming interviews, follow through home assignments that were part of interview processes, sharpen my skills by solving coding problems, and maintain an active Github/Codepen account.
Routine gives you structure and moves you along through the things you need to focus on. There is a lot to handle, and time is of the essence.
Before you start interviewing, refresh your memory on subjects you know are rusty to you. Go over sorting algorithms and try to implement them. See if you remember recursion correctly by going over trees and solving different problems associated with that data structure.
As a rule of thumb, go from the bottom up.
Start from the very basics of any subject you feel most weak in, and then climb up the knowledge chain. Once you can grasp the very fundamental principles of a subject, there is no defeating you. No matter what question gets thrown at you.
After you feel sufficiently versed, try your hand in different coding exercises in any coding language. Codewars, Codility, Project Euler and LeetCode are just a few examples of places to sharpen your skills.
Searching for popular interview questions is also a must, since most interview questions tend to test the same design patterns/logic of a candidate.
While studying for job interviews, I took part in numerous online courses. I also made sure to create Codepen and Github accounts to showcase projects I was making. I won’t go into detail about what courses I took or where to look, since that’s been covered far and wide. But having those profiles present on my résumé improved my chances of getting that first phone call. Why? Because by going to those profiles, interviewers could see my coding style upfront. They could see that I am a self learner, and that in my spare time, I code.
The Interviewing Process
There are no two equal interview processes, and no two companies are alike. While this can be an advantage, it can also be frustrating. Since each company has varying degrees and lengths of processes, it can take between weeks to even months (yeah, not joking) for an interview process to move along. This can come from a plethora of reasons ranging from the urgency of the position they want filled, company culture, number of candidates and so on. What you need to remember is to hold on.
Seriously, I know it sounds simple, but it is really important. Let’s say you start interviewing at company A. After a brief phone screening, you are sent a take home test. Once you accomplish that, you get invited for an onsite interview (the first of many). After several onsite technical interviews, you head into an HR interview. Then, recommendations.
Take into account that this example of an interview process can have its fair share of hiccups. If there is a holiday coming up, if interviewers get sick or are on vacation, or if the company is internally disorganized, the interview processes can stretch longer than it should.
What can you do about all this? Nothing. Absolutely nothing.
I’m not here to discourage you, as I only want to convey my point (since I’ve been there). You have to understand that you are currently the lowest ranking member in this job seeking pyramid. Meaning, you’re time is not valuable to anyone and they will take advantage of it and take you for granted.
There are varying degrees of this, but it is important to note, that you need to take it all in stride.
Don’t overthink things if a couple of days have passed since your last interview and you still haven’t gotten an answer. Try not to read too much into it if the interview gets cancelled at midnight the day before (it happens). If a company takes too long to reply to you, send an email. If that doesn’t help, after waiting for a few days, try calling the last person that interviewed you from that company or talking with their HR department.
Initiative is not something that is frowned upon. It shows you are interested in that company and want to know where things stand. It will only reflect well on your behalf.
If a company treats you poorly, it is a sign that working there might not be the best fit for you, and you should avoid continuing the interviewing process with them.
Take a mental note of everyone you meet with. Remember your interactions with them. Were they polite? Did they seem interested in you or your questions? Did they give you time to ask questions? These are all valid points to take into account when deciding which companies to move forward with and which ones to dismiss. Yes, you are an individual, just like every other person that applied for that position. But, if a company and its employees take that little extra step, it really does make a huge difference.
Some Words Of Advice
At the very beginning, and depending on which positions you are seeking, it may seem wise to decline interviews at companies that don’t seem interesting to you. And that may be so, but there are several good reasons not to do so:
- Even though going to interviews is time consuming, you learn from each interview. So going to one at a company that may not interest you will still give you the chance to experience what an interview feels like and gage your skills accordingly. Not to mention the variety of technical questions you will encounter.
- Don’t judge a book by its cover. If the job’s description over the phone doesn’t seem that intriguing, it doesn’t mean that there isn’t anything that might still interest you. Maybe the company is moving in a new direction and is getting ready to change its technologies. Maybe your direct team leader will be someone that you are willing to work with, no matter what you’ll be doing. You never know, and until you try, you just won’t. Additionally, connections are a huge part of this industry. You will be meeting different people with different backgrounds, and even if you don’t pass an interview step, you still might impress someone who will suggest you to a colleague or friend.
- Like I mentioned earlier, there are no two interview processes that are alike. But getting familiar with as many as you can will only benefit you. For example, while I was interviewing for several companies, I had my heart set on company A. As part of the interviewing process, I knew that I had to interview in front of two personnel at the same time, whiteboard and all. At company B, that kind of interview also existed, so I made sure to go to the interview for company B, before going to company A. I did this so I could gain the experience of what it felt like and to see how I fared. That way, I could show up for company A more prepared and most importantly, more confident.
As a final note, it is important to remember not to get sucked under while going through this ordeal. Some interviews will be good, others, not so much.
Learn from your mistakes and remember to take a break from it all. I mean it. Take a day off and do something to relax. Something to revitalize your soul. Go hiking, watch a movie, go see a concert. It is too easy to get caught up in the job search and let the pressure get the best of you.
Believe in yourself and be confident. The rest will follow through.