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.