What Impresses Me When Interviewing Software Engineers
What Impresses Me When Interviewing Software Engineers
Over the years I’ve occasionally been involved in the interviewing process, here are some of the ways I’ve been impressed.
You know the basics of computer science and by the basics I mean you can converse intelligently about things like bits and bytes, branching and iteration in your language of choice, and which programming languages you’re familiar with would best suit a specific task.
I know a lot of people aren’t classically trained computer science graduates, but if you came to the field without a basic understanding of what I consider the fundamentals then I’m just going to be disappointed and you’re just not going to get the job.
I expect a minimum level of proficiency in the basics.
I don’t care if you can format a web page and make squares dance around in a browser, if you don’t know your struct from your class or your argc from your argv, that just won’t halt the robot takeover in the near future and it certainly won’t get you employed by me.
Same goes for a basic level of proficiency in the operating systems specified on the job specification — which, let’s face it, is very definitely going to include some flavour of Linux. You should very definitely be able to log into and navigate around a machine, know about users and permission, and have at least a basic understanding of at least one flavour of the shell.
And, I’ll get this technical understanding of your competence not through deliberate testing, but via a conversation…
Show me the Tapestry of Your Life
To be completely honest, and you’ll know this if you’ve read my previous article about how I’m a total unbeliever in coding tests as a method of gauging ability, I really just prefer to have a friendly (if occasionally technically oriented) chat.
I’ll ask open ended questions based on my run though of your C.V.² hoping to lead you into a place where you’re selling yourself and telling me what you’re good at and like to do without really knowing it at all.
It’s a common stereotype that computer scientists tend to be a little introverted, shall we say, or perhaps reluctant or unable to sell their strengths as well as they might. I think it’s reasonably true, at least in my own experience, and as a reuslt I’ll be encouraging you to open up and not be asking you direct questions and putting you on the spot too much.
Also, if you’ve worked in an area that I’m familiar with, I’ll ask you about it and try to find some common ground for a discussion too.
I’m much more interested in your motivations for working in computing, how you got where you are today through the choices you made, and why you decided to work for the companies you did.
I’m going to be impressed if you tell me the story of yourself, but sweat if you left jobs because of disfunctional managers, boring and repetitive work, or the frustration of someone preaching agile when it’s completely inappropriate³.
Tell it like it is, but don’t make things up.
If things sound a little odd, inflated, or excessively esoteric I’ll most likely get a bit suspicious and dig a bit deeper which could make things very uncomfortable if you’re spinning a yarn.
The Long and Short of It
If your C.V. is a bit of a mismatch of short term employment I’m naturally going to be curious so I’m going to be impressed if you can tell me why you moved between jobs and if there’s a longer term narrative I’m not aware of.
Perhaps you like to move around to gain experience in a particular area, perhaps you don’t want to work with web technologies (and who can blame you), or perhaps you just like sitting in a dark room with a green screen full of assembly instructions.
Let me know. Maybe I have exactly what you’re looking for — in return I’ll reciprocate in kind, frankly, with what I have and where the company is heading and tell you honestly if there’s a place to do what you’re interested in doing. I want us both to be happy, I really do.
With a permanent background, however, I’m also going to be suspicious if you’re jumping ship around 3–6 months as that’s the usual ‘settling in period’ for probationary employment.
Stay just long enough to get paid, but not too long so’s that the employer finds out you lied through your teeth to get the job and are no more skilled to cut code than you are to perform advanced neurosurgery on the ISS. In the dark.
As a long term contractor myself for many years I understand that moving around is part of the game, and a great way to gain experience and climb the money ladder quickly⁴.
Generally, contractors don’t suffer the ‘lying through your teeth’ problems job hopping permies have as once they’re found out word gets around quickly both between companies but also, crucially, between agents.
No reasonable company would go back to an agent that supplied a terrible contractor. At least not more than once.
All Together Now
Either way, I’d be interested to hear about what caused you to move on and if you have a long term plan feel free to tell me about it if you like.
With contracting you could fill me in with your specific role, whether it became superfluous, or you just fancied a change, or simply a better paying role as you felt you were underpaid.
With permies, I’d be more interested in your attitude, reasons for leaving and suchlike. It’s more of a trial to move on as a permanent employee after all. Were you moving because of team changes, didn’t like the product, or just found a better company closer by or one that offered remote working?
If there’s a flow and there’s some narrative like ‘ I chose to move along to follow my interest in automation rather than get into testing ’ or “it wasn’t a great culture fit, they wanted me to go on endless team building exercises and lean backwards with my eyes closed all the time’ that’s something I’d like to know about and be impressed that you actually told me about it.
Again, interesting aspects of your story may come up and we’d get into a semi-technical conversation that could potentially fill in a lot of details concerning the person I’m looking for.
Again, I’m not going to press too much on this and would expect you to tell me your story yourself, albeit with a little gentle prompting.
The red flags for me here would be that you’re a job hopper who’s staying one step ahead of either getting found out or getting fired. Please, don’t be that person, if you are really that person then don’t try and convince me you’re not — just excuse yourself and leave rather than layering on the bullshit. For an experienced interviewer and a reasonable conversationalist, the job hopper is an easy person to spot.
Most of all, what impresses me greatly is curiosity.
I wouldn’t expect you to be completely open to things you’re not interested in, like Java if you’re an actual computer scientist⁵, but I’d be impressed with an open mind and a sparkle in your eyes when you see a challenge⁶.
Of course some industries that practice software engineering are hardly challenging⁷ — such as insurance, banking, anything blockchain related, or companies anything to do with delivering food whilst denying their workers a living wage or short term rental outfits depriving long term renters of reasonably priced accommodation. That’s a future article, for sure.
What I like to see is someone, when they hear about what they might be working on, asking intelligent questions around the technology and how things are set up on the development team such as what toolsets are in use and are there any constraints on implementation languages and suchlike.
Questions regarding the turnover at the company, why we’re hiring, and if it’s a replacement for someone who departed or is it a new role are especially welcome as it shows some foresight from someone who’s genuinely interested in working with the company and is trying to find out more.
Don’t tell me you’re interested in working at my company because it’s the closest to your house or has the prettiest logo. That’s just not good.
For bonus points, when we’ve been chatting a while, I sometimes realise I’ve found a kindred spirit when someone asks about whether the company supplies good coffee, has proper monitors that don’t make your eyes bleed in VGA with a 30fps refresh rate, and, of course, whether we advocate the use of squared writing paper — but that’s another story .
You Checked Me Out
Finally, a bonus category that I rarely come across but pleases me greatly to find out before conducting an interview — someone who does their due diligence and tries to get an edge on what’s going on.
Often the details of who’s leading the interview will be in the confirmation email.
So, here’s your opportunity to seek me, or one of my nefarious colleagues, out via your search engine of choice or that unfortunate disaster of a job network, the Facebook of recruitment with more self-congratulatory memes that you can shake a stick at, LinkedIn.
I consider it a pleasing piece of due diligence that someone has taken the time to scope out who’s conducting the interview to get a feel of the kind of person they’ll be dealing with.
I do it myself, though often covertly, but it shows to me that you’re interested enough in what’s going on to find out not just what the company is all about, but also what I’m personally all about.
Besides, I’ll be looking you up so you may as well look me up!