What does a hiring manager expect?

It is very difficult for a new graduate to know what a hiring manager is expecting of them. The lucky minority may have had the benefit of an internship doing something similar, but for those who have not, the gap between University and work is unknown, and it would not be unreasonable to feel like Christopher Columbus: confident that the Earth was round and that he would eventually hit land if he continued to sail west, but at the same time knowing nothing about where he was sailing.

If you are a manger hiring graduates for the first time, you might want to reflect on this and set your expectations appropriately.

Things University generally does pretty well:

  • Ensuring that you know how to learn. This is, by far, the most important skill you can possibly have as it is the foundation of developing new skills.
  • Ensuring that you have a good basic knowledge of everything covered in the scope of your degree. Good graduates generally know a bit about quite a few things.
  • Ensuring that you know how to solve solved problems. Many graduates know how to code a balanced red-black tree from memory as well as knowing when (at least in theory) this would be a good data structure to choose. I have no clue about either of these things, but I have a good algorithms book and I know what I do not know (i.e. when I need to consult a suitable resource). Thus far, in over 25 years working as a software engineer, I have never had to code a balanced red-black tree, so this seems like a reasonable trade-off to me.
  • Teaching you basic (as opposed to BASIC) programming skills.
  • Teaching you algorithms, and good ways to handle data in general.

Things University generally doesn’t do so well:

  • Teaching you about programming in the large – version control, code reviews, continuous integration, regression testing and the like. You will most likely be initially overwhelmed by the sheer size of some codebases, and I will not be surprised by this.
  • Teaching you about control and management code. Most students are introduced to state machines and finite automata, so you have a good theoretical grounding, but control and management can be complex and messy – not something that is always amenable to academic study.
  • Teaching real-world concurrency and parallel programming. There are exceptions (functional programming courses often teach this as it is an area where FP has significant advantages over imperative programming), but I have interviewed relatively few students who have much understanding of the basic synchronisation primitives.
  • Debugging. Most of the projects students are expected to undertake are not sufficiently complex to allow you to develop good debugging techniques.

Most of my expectations should now be pretty clear: I expect you to have a good understanding in the areas Universities generally do quite well, and maybe a very basic understanding in some of the areas that are done somewhat less well.

There are a few other basics that you should have picked up long before you started your tertiary studies.

  • You need to be able to communicate in clear and reasonably concise English – both written and spoken.
  • You need to be able to get on with a variety of people of different backgrounds, ages and opinions in a professional environment. You don’t need to be super-outgoing, or be everyone’s best mate, but you are going to be spending over 1600 hours with your close team mates every year, so getting on at a basic level is important.

I’m a graduate. Get me in here.

I’ve been hiring engineers for over 15 years now, and I find that many of the same questions come up time after time when talking to graduates. They generally fall into categories like “what is work like?” and “how do I choose the right job?” Something I am not asked as often as I should be is “how do large companies behave?”.

Before you read on, it’s important to bear a few things in mind when weighing my advice.

  • I work for a relatively large company. Smaller companies are often more flexible which has both benefits and downsides.
  • I work in a company department which is focussed on embedded and security-related software. I kind of know – in the abstract – about enterprise software and web development, but just as you wouldn’t buy a car from a second hand horse salesman, please don’t assume I know much of what I am talking about outside my field of expertise.
  • I am located in the UK. Cultural and employment practices vary considerably between countries. In general, the further you are from the General Western Hegemony, the less what I have to say in some areas will apply.

This is mostly aimed at software engineers who are just starting on their careers, but new managers may find the odd useful idea somewhere if they look hard enough.

I’ve split this into a series, which will appear in due course.

  • The interview process.
  • What does a hiring manager expect?
  • How do I decide if this is the right job for me?
  • What should I expect from my first few months at work?
  • I just love bureaucracy. Tell me about it.
  • How do I manage my career?
  • What do large companies do that I might not expect?

The Interview Process

Interview processes tend to be fairly company-specific, so I should be clear that this is how I do things rather than a general guide. There are a few questions you can ask to help you to prepare for different approaches, and I’ll mention some of these as I go.

Application

The first stage of the interview process is the application itself. Probably 80% of applications are rejected without so much as an interview, so it’s important to get this right. The following are basics – if you fail on these, you should expect to be rejected, quite honestly.

  • Actually read the job description. Make sure that you fit the criteria – or at least most of them, possibly with a mild stretch for one or two. If you do not, you are probably wasting your time. In particular, if the job description says you must have the right to live and work in the UK (other countries are available…) and you don’t have that right, you are wasting your time and mine. It is generally somewhere between difficult and impossible to justify getting a work permit for a graduate.
  • Your CV must contain contact information. You might be surprised how often people forget this. E-mail address and cellphone are essential.
  • Be aware of norms for the country you are applying to. Photos and date of birth are almost obligatory in some countries. In others, such as the UK, they are seen as a waste of perfectly good space on your CV.
  • Your CV needs to have proper spelling and grammar. The odd minor slip might be forgiven, but generally a sloppy CV is a sign of a sloppy mind.
  • Never, never, never, ever lie. No matter how much you want the job. You will almost certainly be caught and the interview will end the moment this happens. Mild exaggeration is somewhat acceptable (the British “false modesty” thing doesn’t really work anymore – not even in the UK), but no more than that.

Assuming you have done everything here, we come to the content of the CV itself. Most graduate CVs inevitably read similarly as few people have much relevant experience to fall back on. There are a few things that can make your CV stand out.

People with GitHub accounts or other evidence of contribution to Open Source projects always stand out. Of all the things I look for, a passion for software engineering is probably at the top of the list. I will almost certainly take a quick look through any Open Source code you have authored and it’s likely to be enough on its own to get you a telephone interview.

Not everyone is a prolific GitHub contributor, and not doing so doesn’t count you out. Evidence of commercial software development (some students work for small companies during their free time) is nice. Evidence of other work is helpful. You might think that waitressing in a local restaurant is not very relevant, but it shows that you can be committed and professional. If you ran the student yoga with chainsaws club, that can help as it shows evidence of leadership and commitment.

You need to give an indication of why you want the job – usually via a cover letter. Modifying a CV for each company you apply to is tedious and unnecessary at this level.

You do not have to give details of your social media, although if you do I may take a look. I was, believe it or not, young once and may have occasionally imbibed alcoholic beverages myself. That means I won’t care about party photos where you dressed up as a toadstool while drinking Guinness from a Viking helmet. If it turns out that you are an international gold bullion thief or prolific generator of hate postings things may be different.

Once submitted, your application will go through a screening process. These vary, largely depending on the size of the company you are applying to and the number of vacancies. At some point your application will hopefully be selected for a phone screen.

Initial contact

You will be contacted by e-mail or phone (remember those contact details!), usually by someone from a staffing department rather than by the hiring manager him/herself, who will offer you a time for a phone interview or whatever else passes for the first stage of the process.

It is OK to ask for the interview time to be changed if the first time offered does not work for you, but if you do you should be proactive and offer several times that do work. In doing so, it is good to remember that there person calling you probably has a fairly full calendar themselves, so offering only a single time is not the best idea. Few managers want to interview outside of normal office hours at this stage.

This is also an opportunity to ask about the interview process: how many stages, how long does it take and what should you expect. Remember that the person you are talking to is not actually the hiring manager, and may only be able to answer in general terms. Some companies will send you an e-mail that details their process.

When the time comes for the call itself, make sure that you are:

  • In a quiet location where you will not be disturbed. If you live in a shared house it may be an idea to ask your housemates to refrain from practicing “Stairway” on their electric guitars.
  • Somewhere where the cellular signal is fairly strong (if you are taking the call on a mobile phone).
  • Somewhere where you have access to a computer, if you have been told to do this (some companies use “live coding” platforms in the early interview stages.

Please make sure that you are as comfortable and relaxed as possible just before the call comes in. Do not be late.

The phone screen

As far as I am concerned, the phone screening interview has three main purposes.

  • Firstly, I want to establish that what you have on your CV is essentially truthful, and that you haven’t missed out anything I might consider important.
  • Secondly, I want to understand why you are interested in the role on offer.
  • Lastly, I want to tell you about my expectations, some more about the job and generally to help you to go away knowing about the job you have applied for.

I usually spend about half of a phone interview talking about the role and answering candidate questions and half asking the candidate about themselves. I do not ask detailed technical questions during the phone screen.

Opinions differ, but I believe that asking someone to do detailed problem solving over the phone is too difficult on both sides. I haven’t tried any of the online live coding platforms which might make this a more realistic prospect, but in practice I have not found that I have selected too may candidates for face to face interview who were not up to scratch without it.

My main reason for setting up the interview in this way is to make sure that candidates really understand the job they are applying for. It is somewhat of a sales pitch, but I also point out what I am not offering, and why a candidate might care. In short, I want people to come to an interview well equipped.

The interview

I am not going to give all of my secrets away here, but as a candidate you should expect to do most of the following, possibly more than once:

  • Write some code on a whiteboard and step through it. You need to show that you have a good mental model of program execution.
  • Answer some questions on things you should know about. I will often probe to see how much more than “theoretical” knowledge you have.
  • Solve a problem that you are unlikely to have seen before. This is a test of your analytical and design skills, and you will most probably be guided in the right direction from time to time if you need it.
  • Talk about yourself, your career aspirations and your interests.
  • Talk about projects you have undertaken – usually at University.

You do not need to come to interview with me in a suit if you do not possess one, but even if a company has a fairly relaxed dress code, you should probably be at least “business casual”. The phone interview is a good time to ask whether there is a dress code (the finance sector often has one, for example).

Most larger companies will give you a separate “HR” interview, which may occur on the same day as the technical interview or may be separate. This is your opportunity to ask about salary, company benefits and the like. I try to avoid talking too much about these in the technical interviews – for all that I know they are important to candidates – because there are sufficient legal and ethical areas around discussing some aspects that I prefer to leave it entirely to the experts to discuss them with you.

My approach to interviews is to try to put candidates at their ease as much as possible. I understand that many people are nervous and that they may well feel that the stakes are high. I am trying to give people the space to show what they know rather than to highlight what they don’t. Some of the questions you are asked may be tough, but you will be guided and assisted to do your best.

A major reason for my approach is simply this: I want every candidate to show me the best of themselves.

The aftermath, hopefully an offer.

Relatively few companies will give you an offer on the spot. This will usually come later, and how much later is fairly dependent on company policy. In many cases, a manager will have to obtain authorisation to make an offer from a very high level in the company, and this can take a while. You should ask the hiring manager – if s/he does not volunteer this information – how long you can expect to wait before receiving an offer and how the rest of the process runs.