The Best of Systers Blog Getting Past the Interview Gateway
The beauty of the Systers community is a that it gives us a chance to ask questions that we can’t find answers to among our circle of friends or family, a chance to consult with women who have a lot more experience in the job market and as technical women, and an opportunity to discuss issues that we fear might be only to do with us personally but might just apply to all women in technical fields.
JMH, a Syster, wrote a an email to the list about her struggles and frustrations with the job interview process. Interviews are challenging anyway, particularly for people (like me) who are introverted and prefer jobs that are more about small group or one-on-one interactions. But interviews are highly charged and intense even if you’re an extrovert. You have a short time to prove that you’re the best person for the job and probably write a pseudo-code program or answer a series of tricky logic problems that could make or break your chances with a company. JMH wrote this email partly as a chance to ask for other Systers’ opinions about her experiences, but also partly to express frustration with the process.
The responses fell into three main categories.
- Encouragement. We all struggle with interviews, but they are a necessary evil. The community provided some concrete suggestions for the original poster, as well as sharing their own successes and failures.
- Frustration with the lack of skill on the part of interviewers.
- Theories about the current climate and why it’s resulted in so many technical interview challenges
Looking for work is one of the hardest things we all have to do, because we have to put ourselves out there to be evaluated based on criteria we can plan and study for (technical tests and logic problems) and criteria we have no control over (our age, our weight, our gender, and who we know). I hope you can glean some helpful information from the great discussion initiated by JMH. Here is a summary of her original post:
When you’ve told a HR person in a phone screen that you’ve worked with (programmed using) several relational databases and she tells you you’re not right for the job because you lack database experience, what does this mean? I do not in any way mean to cast aspersions on those who do DB programming, but if I have 12 yrs. development experience, some of which was hooking up to, creating tables and doing SQL sorts, searches, inserts and extractions, how is this not database experience?
The Technical Questions for a job interview. I’ve had several of these… [including one in which]
I had to write a function copying an array over to another array. I thought I was being smart by encapsulating the array in a struct and just doing an assign from one struct to another. Legal in C, but the guy did not get it, insisting I needed to copy each element of the struct. What do you do when the guy interviewing you is flat out wrong? You don’t get the job. Since this job was actually going to using an old language, I was OK with that.
[I was asked another] question on what the compiler automatically generates for an empty class. I answered: constructor, copy constructor, destructor. I missed the assignment operator – didn’t think that was a big problem. Questions on virtual functions (rusty here but I know the function must be defined in an inherited class), polymorphism and inheritance, overloading vs. overriding (a little rusty on this, but more because I confuse the two easily – I know what I’m doing when I write the code but I typically don’t remember what it’s called), what happens when the super and sub-class constructors both call a virtual function (you got me – compiler error? I asked if the function were defined anywhere and never really got an answer), multiple inheritance (no problem here I thought), etc.
So, to anyone out there job hunting or doing these screens, what is going on and how do you prepare?
Don’t take rejection to heart
Some of the responses to JMH’s post that resonated with me were related to keeping heart despite the challenges, and remembering that the interview is a necessary evil, designed to weed out incompetent people and determine whether or not you are a good fit for the job, the team, and the company culture. Here are several responses that fit in that category:
These are some of the recommendations I got, I’m still not getting job offers, but there was an improvement in my interviews since I started applying some of them.
- It’s not just about your technical skills, you need to be memorable, you need to show excitement, and let them know you want the job. If you did OK in the technical part, and did great in the personal interview, I believe they will hire you.
- When sitting in that room be confident in your abilities. Even if they start describing the position, and you start thinking, I’m not sure I’ll know how to do that part, but, in the rest I’m ok… They can feel it, or see it in your behavior, you need to shack this thought off, and be confident, that no one can do better than you. There’s no one person who knows it all without googling.
- And the last thing is just keep going to interviews, as exhausting as it is. But they all ask very similar questions. The best way I found to prepare and learn for an interview, is just to go to another one.
– Lital Shalev
First, do not take rejection personally. The system is looking for legally defensible ways to weed candidates out. These ways do not need to have anything to do with the skills
that are required for the job. People at any level can say “no”, but to actually get hired,everyone all the way up needs to say “yes”. Criteria can change arbitrarily and thoughtlessly. Budgets can be cut. Priorities can change. Companies often do not want to explain the real reasons.
Even at its best, the decision not to hire is not a measurement of how good you are in any sensible way. It is a measurement of how well you fit into an opening of a particular kind, in comparison with other candidates who have qualifications that you do not control (age, shape, gender, race, friends or relatives inside the company, lack of recruiter fee,
recommendation of trusted recruiter, prestige of university or former employer etc.) You may be a square peg trying to fit into a round hole, but how well you fit is a *relative* not absolute
measurement, and the definition of the hole may be a shape that is impossible for anyone to fit, such as wanting more years of experience in a technology than the technology has existed for.
– Mary-Anne Wolf
…when I sit in on interviews (mostly algorithm focused), the answers seem obvious, and most of the failures seem dramatic. I often see people being given chance after chance (hints even) and still not getting it. Too many candidates don’t know (or remember) CS basics such as basic data structures and their performance characteristics. I see a pretty great gulf between the occasional great candidate and most engineers, and a few in the middle where I’m just not sure. I can say that there IS a shortage of great engineers. We are not looking for excuses to turn people away. On the contrary, on my team at least we frequently compromise – usually ignoring experience requirements in favor of raw talent. We screen hundreds, phone screen dozens, and interview at least 10-20 people before we hire one. We definitely do not enjoy the process of turning people down. We’d rather not be spending all our time in interviews. However, we are even more wary of hiring someone who can not contribute.
I hope that those of you who are great and are having trouble with these interviews continue to practice in the ways suggested. And in the cases where the questions seem inappropriate (as in the case of the original post) perhaps consider that the team might have other issues and not be a good choice.
– Melisa Baptista (pseudonym)
It seems to me that there are multiple issues at hand here:
1) Poor interviewers. If the interviewer is more concerned with whether you put a semicolon after every line of code than whether your algorithm is correct, you probably don’t want to work for that company anyway. You can sometimes use this to help you decide whether or not you would like that job were you to get an offer.
2) Not being prepared for a technical interview. In our technical interviews, yes, we make you write code on a whiteboard. There are a couple of different goals for this. One is to verify that you are actually capable of writing code (e.g. fizzbuzz-type problems) — you’d be surprised how many people are not actually capable of writing a simple program. The other is to observe your problem-solving process and to interact with you throughout the process. I like to tell people, “You get extra credit for thinking out loud.” I want to know what you’re thinking about, how you’re approaching the problem, and then find out whether you are going to ask me for help if you need it and whether you’ll take my advice if I provide a hint.
3) Misrepresenting yourself on your resume. If someone has “experienced with C++” on their resume, I expect them to be able to explain to me what a pointer is. If they can’t, I can’t trust that their resume is an accurate description of their skills, and it makes me lose confidence in the candidate.
– Althea Saint (pseudonym)
Better technical interview training is in order
Another set of responses related to the skill (or lack thereof) of the interviewers themselves. Here are some of those responses:
I’ve had times where an interviewee “short circuited” my question with a language feature trick. In those cases I make sure they can explain to me what they’re doing, and we go on to another question. I try to generally use questions that can be stepped up multiple times by adding new features or restrictions, so I could go onto another part or just use a new question entirely.
– Wendy Knox Everette
I think that the HR person who told you that you lacked database experience was looking for acronyms which he/she did not see. The job description probably stated “must have 4 years of DB2 blah-blah”. I have handled this on my resume by stating that I have experience
writing SQL queries for DB2 and Oracle. That tends to meet the keyword search for QA jobs.
What you’re running into is the artificially higher barriers that exist when there are a small number of jobs and a large number of applicants. There are ways to combat this – one is to network and become a person (not just a resume). Another way is job-hunting groups like the devchix hangout mentioned. It’s also important to keep in mind that most tech interviewers have no training and no experience in interviewing.
– Esther Lumsdon
…most tech interviewers have no training and no experience in interviewing, conducting a good technical interview requires consideration of the candidate and their experience, an understanding of the role that needs to be filled and what it is about the candidate that made someone think that they might be a good fit for that role, an understanding of how to structure technical questions, and knowledge about how to give feedback about the candidate that accurately represents the interview and gives the hiring manager the right information to proceed.
I like to structure technical questions that are multi-layered. I also make sure that I have a couple of nudges ready to give a candidate who gets stuck to help them back on track. Getting stuck in an interview isn’t, in my opinion, a bad thing. It gives the interviewer some insight into how the candidate handles a problem. I also structure my interview questions such that there’s a good-fit answer (that is, a good candidate will come up with this answer without too much prompting) and a great-fit answer (that is, the candidate noticed an edge case and their answer considers it). Having all of this ready means that if the candidate comes up with the good-fit answer immediately, I can ask them to consider how their response will work under a set of given circumstances, and see how that changes their answer. This tells me a lot about a candidate: how flexible they are when coming up with potential solutions, how they respond to feedback, how they integrate previously-unconsidered cases into their thinking.
An often-overlooked point about conducting an interview is also about how to give good feedback about the interview.
Interviewers often also forget to give the candidate the opportunity to learn about the team. HR can give the candidate general information about the corporate culture and benefits and so on, but it’s only a member of the team who can talk about team dynamics, the strengths and weaknesses of the team, and how a new member of the team can help build upon those strengths and mitigate those weaknesses.
– Nadyne Richmond
The most important core message, I think, is that people who are devising interview questions frequently do not understand the breadth of enterprise environments. I have worked almost exclusively in highly regulated environments and still had people chide me for not having used freeware network security scanners in live environments and not understand my horror
at the thought, even when I explain NIST or DISA rules.
If hiring managers want good employees and not empty spaces, they need to start to understand diversity not just in terms of sex, gender, ethnicity, or race, but also in terms of work experience. No one is going to come in and do your job just the same way you do it, and that could be a very good thing. We are not cogs, we are people with skills and intelligence and the
ability to sort through problems in novel ways, given half a chance.
Challenges of the market
Another group of responses related to the current job climate. There was some discussion about whether or not there is a shortage of qualified programmers, and some comments about when and why the interview process started changing. Here are some responses in this vein:
The technical interviews are completely out of hand. They are all about minutiae, and have little to do with the actual skills a developer needs. I cannot understand how employers can claim that we have a severe shortage of people in CS, when they are eliminating perfectly good candidates with these interviews.
I agree that developers need to have some level of testing because there are many people out there who claim to know how to write code but who really don’t. I even was the author of the technical screening test at my company. However, what I saw while interviewing myself was really terrible. At one company, I even found MISTAKES buried in a long stream of C functions calls that I was supposed to be tracing. I have been asked questions when the interviewer clearly did not know the answer himself and was simply reading off an official answer (and this was a technical interviewer, not a manager or HR person). I have been asked questions dredged from arcane corners of JDBC, the sort of thing that any decent developer would look up as needed. Rarely have I been asked good questions about data structures or performance characteristics. And frankly, I do expect interviewers to read my resume, and to formulate good, in depth, technical questions about the work I have done. Often, you can get the most valuable information that way.
– Odessa Houchens (pseudonym)
I have a tendency to fail the technical programming interviews. I usually get anxious if an interviewer asks me something that I do not know; and once I mess up one thing, everything else is downhill. I have noticed this dynamic of going-in-for-the-kill that happens with male interviewers where they suddenly have to prove to me how smart they are or
how good at their job they are. Of course, the interviewer is going to be better at solving a problem that he just solved yesterday because he was not time constrained and did not have multiple people staring at him while he attempted to work.
– Dollie Slavik (pseudonym)
The most issues I have of late with the interview process is that the recruiters don’t get back soon enough. I interviewed with this huge company. Went onsite. It’s been 1.5 months since. The HR doesn’t know what to say because the guy who wanted me interviewed hasn’t made a decision or he isn’t conveying his decision. He sends me a mail every 10 days saying he
ll sync with me and soon and stuff like that. I sometimes wonder if they don’t have 15 minutes in 15 days to just give a courtesy call or if they don’t understand the candidate’s anxiety. Even if it is a no, at least it will be nice to know early on itself instead of pushing it for a long time
and having the candidate’s hopes high.
– Tania Peagler (pseudonym)
Hopefully the advice of these Systers was helpful to you. Please comment here if you’d like to join the discussion. If you’re a woman and you work with computers, join the Systers community, and be part of the continuing conversation about women in the technical world.