Midlevel Interviews – Back to Basics

I’m in my last few months working in HP. I’m due to finish at the end of January. Recently I have been interviewing with various companies, and now I have something lined up for February. Most advice you find online is based on the interview process in the US, this will be more focused on my experience with the Irish scene. Here is what I have found out while going through the interview process so far.

Finding jobs

There are 4 options for finding jobs

  1. Searching
  2. Recruiters
  3. Networking
  4. Using your profile

Searching –  This is the most time consuming method. I find it best to use websites like LinkedIn, StackOverflow jobs & also keeping an eye on job announcements and new companies either opening or expanding in my area.

Career fairs are another option, they give you the opportunity to meet with potential employers and talk to them and the people they brought with them. You can get a good idea of what they are like to work for and as questions about the culture and work, before going through the interview process.

Recruiters I have had mixed experience with recruiters. The down side is that some recruiters will say exactly what you want to hear, get your CV off you and then you never hear from them. I have even had this happen with some of the major recruitment companies. Sometimes I get the feeling that I’m getting put forward for jobs that I don’t have the necessary experience required.

The benefits are that they can line up interviews, leaving you free to prep for the interviews without having to line them up yourself. Things can happen very quickly when you find a good recruiter. They will send your CV out to companies that you have the best chance of fitting in with.

My advice is to build a relationship with a few recruiters and if possible find a recruiter that specialises in your tech stack.

Networking – I’m not the best at this, but if you have contacts that you are comfortable to talk to. Ask them if they know of any jobs going. Leverage who you know.

Using your profile – I’m sure you have heard of people being headhunted, and others who don’t have to interview for their job. This is based on building up your reputation. At the least you should have your LinkedIn profile complete and regularly keep it up to date. I have had some success with this. I have had companies I am interested in approach me, I still have to interview but it is nice when a potential job finds you. Once your LinkedIn is up to date you can start with blogs, vlogs and other ways to build your public profile.

Know your worth

Know how much you want to earn. Look at salary reports. I find that these are available from the larger recruiters. Most are re-published every year with up to date numbers. Try and get a few of them and find the truth somewhere in between. Compare the reports against each other for your tech stack and years of experience. You can also back this data up with salary comparison websites like Glassdoor. This will give you a rough idea of what your worth. It will be an average.

Once you have this data, you need to decide if you are above or below average. It’s best to be honest with yourself here. You don’t want to undersell yourself, but at the same time you don’t want to oversell yourself either. If you think you are worth more than average, make sure you know why and can show it and articulate why, the reason can’t just be because “I’m an awesome ninja”.

Be prepared to accept an offer in between a certain range. Know what your minimum value is and stick to it. Some people will tell you to ask for more than your minimum value, expecting the employer to offer below that but that it will still be above what you wanted. It’s probably not a bad idea, but what I found with myself is that I got used to the idea of earning the bigger paycheque and then started asking for more than that. It ended up in a continuous loop, and I wasn’t worth close to the money I was asking for.

Saying that don’t be afraid to negotiate, especially if you have a few offers or if you aren’t under any pressure. A rough rule of thumb I’ve heard is ask for 10% or 15% if you aren’t under pressure. Listen to this podcast with Josh Doody on Software Engineering Radio.

Interviews

This is the hardest part and defiantly the most time consuming. The only good thing is that the effort you put in for your first interview will help you in any following interviews while you are looking for your next job.

Generally there are 4 stages when interviewing. But it can be different depending on the company.

  1. Screener
  2. Interview with the hiring manager
  3. Technical interview
  4. Final interview

After these you are into the offer stage and it’s time to negotiate your package. There also isn’t really a set order for 2 & 3, it depends on the company. This is a rough guide and can vary. I have had an offer after a tech test and a phone call.

Screener – This is basically a review of your CV and some general questions about yourself and your experience. It is a chance to ask questions about the company and make sure it is somewhere you would be happy to work. Generally this stage is with someone from HR over the phone, so you don’t need to get into too much technical detail.

Interview with hiring manager – Here you will go into more technical detail and elaborate on key areas of your CV. You will be meeting with the person who you will possibly be working for, so it’s important to give a good impression and get one in return. Be prepared to be asked about things like how you learn, what blogs you read / podcasts you listen to and MeetUps you attend. How your current team works, what source control & agile methodologies you use. Make sure you’re up to date about what is going on around the developer world and new technologies. You don’t need to know them inside out but understand where they fit in and how they can be used. In general they want to get an impression of your technical abilities and your interest in your craft. This stage will be used to help determine if you will fit in with their team.

Technical Interview – These can vary greatly between companies. Some places have a test like what you will find on HackerRank. I have found you tend to get these where the employer isn’t looking for someone experienced with a particular tech stack. In general if you are managing to get through the intermediate question on HackerRank, you will do ok.

If you are interviewing within your normal tech stack, you are more likely to be asked to write some code that explore different areas of your tech stack as well as tests your ability to think through questions. This could be in the form of a work sheet.

Sometimes you will be asked to do this in your own time or you might have to screen share. But be prepared that you might have to go onsite.

What I have found useful to revise is Algorithms, Object Oriented principles especially S.O.L.I.D and Data Structures. If you can, try revise a couple of patterns so that you can talk about them if needed.

Final Interview – This again can vary, some places it is just a formality and a chance to meet who you will be working with. Other places it will be a full interview and a recap of the previous sessions. Be prepared to meet senior managers. This stage will nearly always be on-site. While you are on-site be prepared to do a white board coding test or write some code in front of people. When you are working make sure you explain what you are thinking and the decisions you make. Basically think out loud.

Conclusion

Interviewing is hard, but necessary. I’m not an expert by any means and this is just based on my experiences and what I have learned from others. Below are links to some resources that have helped me.

p.s Yes I signed up for the Amazon Associates program, so I will get something if you purchase using the amazon links below.

Resources

Pluralsight

An Introduction to Algorithms – Rasmus Amossen

Encapsulation and S.O.L.I.D – Mark Seemann

Books

Soft Skills: The software developer’s life manual – John Sonmez

Cracking the Coding Interview – Gayle Laakmann McDowell

Headfirst Design Patterns – Eric Freeman and Elisabeth Robson

Podcasts

SE-Radio Episode 275: Josh Doody on Salary Negotiation for Software Engineers

Blogs

S.O.L.I.D: The First 5 Principles of Object Oriented Design – Samuel Oloruntoba

Job Search Tools

Huntr – This is a useful free tool to track your job applications through each phase. It is customisable for your specific needs.

Leave a Comment

Your email address will not be published. Required fields are marked *