This post is about some reflections on my job hunting experience in past couple of months.

Audience who may get most out of this post:

  • People looking for jobs such as Software Developer or similar role
  • People having 2 - 4 years experience in IT industry
  • People haven’t been looking for jobs for a while, or first time looking for a job

Lesson No 1 - Don’t trust recruiters

Last August, a recruiter reached out to me on LinkedIn, and told me there was a good opportunity in another retailer in Australia. Their team just got funding and would like to expand their IT Engineering team. I have heard good comments about the company, and its office is also happened to located near place I am living.So I decide to give her a go. However, she is gone for good after first chat. No messages, no emails and no phone calls, like this person never showed in my life.

Later December, she somehow showed again, and provided me another opportunity, and never mentioned our previous chat. I politely turned down on her, as I just don’t trust her any more. My friend also told me that is pretty normal for recruiters, and don’t trust them. So I have learnt that. I don’t mean all recruiters are bad, but just be careful dealing with them.

Looking for companies having healthy environment and good culture

To choose my next step, first of all, I want a company having a good culture and environment. It is such a common sense that could be ignored during the job hunting process. I have been really lucky to be in a good team environment for the past almost 4 years. It taught me that a good culture could help you grow beyond what you can imagine. I also get some friends who got into bad company and have unpleasant experience (even involved lawyers at the end). So please choose your next company carefully.

However, it is definitely not easy to know what the company cultures looks like. My experience is ask the people who know. Ask your colleagues or friends, if they have heard the company (both in good or bad) or if they have any friends working there. I consulted different people at the time, my manager, and my friends who has been industry for a while. They provided me a list of companies which they have been there or they know it would be a good next step for me.

Another way is using GlassDoor. It has a section about company reviews (like reviews in Amazon under the product). It could give you some insight on how previous employees thinking on the company.

I also use a trick to estimate how the company cultures like. I browsed the people’s profile on LinkedIn within the company, if there are people staying there for a long time (5 - 10 yrs), it could suggest that the company have a good culture, otherwise, people won’t stay there for that long.

See what’s available on the market, Resume & Apply

Seek and LinkedIn are two websites I have been using heavily when searching jobs at the time. I prefer LinkedIn over Seek as it is more like a social network. Personally, I am a fan of LinkedIn “Easy Apply” function in the jobs. I also got a month free LinkedIn Premium, so I use that one as well. LinkedIn Premium also gives you some data on how you rank in the applicants based on your profile. It is also matching your profile and job ads.

For Resume, it is always a difficult thing for me who have English as a second language. I only get limited vocabulary to describe the job I have done. What I tried my best was describe what I have done during the project, and give the technology name and also showing the impact.

If you want to get better chance to get in, I would also suggest you make purposely change on your resume to fit job based on their ads. Most of time, their job ads list the technology and experience they are looking for. Making sure those key words shows in your resume could be helpful for resume selection.I got rejected 3 times in resume selection.

I believe using resume service could help, especially those one on one service helping improve your resume. If I am applying Google or Microsoft, I will definitely get some service to shape my resume. So next time.

HR or Manager Interview

From my experience, if your resume is fit what the company is looking for, you will receive a email or a phone call after you submit your application(could be next day or could until weeks later). Different company has different way to do that. So far, my best experience is I get an email with a link that I can choose an available time to book a meeting on Zoom. Then we just meet in the time and have a chat. A phone call and lock down a meeting time is also good enough. The worst way is using email back and forth and trying to find an available time on both side.

Generally, the first round of interview is done through a HR(big company) or a manager(small company). Their purpose is to get a further step knowing you, such as who you are, what was your experience, and what was the tech you have been working on. For HRs, they are particularly looking for some tech key words depends on the company technical stack. As in recently years, AWS, Azure, micro service, event driven, TDD, RESTful APIs are the most popular one. For managers, you potentially dealing with some people with dev experience. Since they knows technology, for dev role, it is more easy to communicate on projects you have done.

They also will ask what you expecting salary, please say a number rather then a range. It is going to reduce the negotiation when offer is out. Based on the role they are recruiting, there is a range, as long as yours is fit into the range, you will get a tick on that.

If there is no drama, they will give you a technical challenge after the this. It could be through email or a web portal.

Technical Challenge

Most company says the challenge should be done in a week. If they don’t say a strict deadline, but they would normally check progress in a week time. And most of them would be happy to extend if you haven’t got enough time to finish it, as long as you communicate it.

I got 4 technical challenges this time, and none of them are related to algorithm. Two of them are .Net RESTful APIs, and one is a .Net Console with some requirement business logic, and one is write a console app with some requirement in any language you choose. I passed 3 out of 4 of them. The one failed was due to I didn’t write proper unit tests. The company was really nice and had a email explain the standard they were looking for. It is a great way to learn and understand how they measure quality code.

However, not all unit tests are required. As another company, they don’t have TDD culture in the organisation, so they didn’t make it necessary.

I would suggestion write as much as unit tests you can, it is definitely help.

To submit the code challenge, it is actually not easy. Most email provider doesn’t like Zip file, and they reject it because of security reason. What I did is uploading the zip into Google Drive, and send email reference the file link, and give the permission of viewing the file. This only works when you use your Gmail account to communicate with the company. I assume Outlook should be fine, as they have OneDrive. But I am not sure other vendor.

Those code challenge some times is a simplified problem the team are working on or something you may do if you join the company. It is not always the case, but you could use it a way to inspect what the work looks like in the company.

Technical Challenge Pairing and Review

After team reviewing your solution, if they are happy what you have done, they will reach you to schedule another session. Generally the session is with some senior developers from the team.

After introduction, they may ask you go through your code and explain some assumption & decision you made during the coding. They may have some questions and also some requirements to ask you do in the pairing. It is a session to see you reaction during code review and pair programming.

Personally, I feel great in those sessions. It is like doing a code review with someone you don’t know, and they always can show you some ideas and how they solving problems and coding. These are something you aren’t having in your normal day to day job.

Culture and Social Skill Interview

This interview generally carried by a general manager with a lead. It is more to understand what is your value, how will you work with team to solve problems, and whether you will fit into the team culture. They would ask questions about what was the team structure you were working like, and if you have any experience on solving conflicts. They may also ask about how do you ensure code quality, and how much do you know Agile.

Offer and Accepting Offer

If company think you are a good fit for the company both in culture and tech wise, they will provide you offer at this time. Generally, they will give you 24 hours to decide accept or not. If you are not happy about the package, you can also negotiate, and see if there is any space of moving.

Be Grateful

As a person working in tech industry, and I can get a job in this COVID period. I am really appreciate and grateful for all of this. I believe what we get paid today in IT industry today, it is not because of who we are, but because we are in this industry. We are just lucky get into an up-trending industry. Please stand in awe.

Some Other Things

Just don’t be surprise if anything happens during the interview, and don’t assume it is always going to be good. Accept the reality, learn from it and carry on.

I have an interesting experience this time, one of my interviewers having really heavy accent, it is really take me lots of effort to get the pairing session going. Just don’t be afraid ask questions or make them explain to you.

If interviewer asks any questions that you never know, don’t be hurry, take your time and think properly and answer it.

Summary

In summary, above are some my reflections on this job hunting experience. Wish this post can give you some help. All the best, and wish you get good offers if you are looking for new opportunity.