Elitism in Technology Interviews
I’ve been in IT for quite a long time and had my fair share of interviews from the perspective of being the interviewee and interviewer. I’ve dealt with my fair share of interviews where the interviewer came from on high with a with their favorite Computer Science question. Some of my favorites, design a B-Tree sorting algorithm, write code to solve this polynomial equation, write a compiler. My worst interviews by far were from Amazon and Intuit, B-Tree and Polynomial respectively.
My favorite question after those is, how often do you do that day to day? The answer 90% of the time, never. Most of the time, although the companies don’t like to admit it, they ask Computer Science level questions like that are a form of ageism, once your out of the CS program for a while and not exercising that knowledge day to day (like most high level business programmers) you loose that knowledge. CS questions are great at finding people who a.) studied an algo book before the interview or b.) are reality right out of collage. There is the case where the person has been in their career for years and can answer the question without issue too, but in my experience that’s more exceptional for Line of Business developers.
Which is why I’m proud about the interview process at Paylocity. We give you a coding challenge that reflects the work you will be doing day to day at the company and let you show us what you can do. We then spend around 45 minutes having you walk us through the project asking questions and getting your thoughts and having you show us your thought process.
Occasionally if you don’t show us a skill in your coding project we ask some normal technical questions. We try and keep it relaxed, we ask you what your skill is on a topic (1 being novice and 10 being expert) so we don’t bang you with questions you may not know the answers to. Is our process perfect, hell no and every single week we work on improving the process.
Which is why when I saw this Glassdoor review I was completely thrown for a loop. Now some points are valid, the lag in not hearing a result and the recruiter blowing him off are unacceptable. But I have never had a job interview where after the tech portion was done they told me the result, there is always some lag but not having someone get back you is not good.
But that review enlightened me to the fact that the perception of elitism is relative. For that interviewee having to answer questions about JavaScript may seem unusual, maybe he’s a backend developer. For newer developers who are only using ORM’s they may not have any experience with SQL. Something simple and innocuous to us may be straight out of left field for someone else.
Interview questions should be well thought out, be meaningful and be respective of the job and functions the person is applying for. You don’t need to give someone a deep CS question to see how they work through a problem. If you enjoy stumping candidates, you probably should recuse yourself from the interview process. That’s not saying we can’t have our favorite questions, but we would be asking them for the right reasons, not to sling mud after the interviewee has left.
Do you need a technical genius at every component in your stack? If your answer is yes, your looking for unicorns and you probably should re-evaluate your needs. In my career I can count the amount of truly amazing developers I’ve worked with on one hand, and still have fingers left over. But they aren’t crazy good at every tech/system/language used in the company. Because of this I like having questions for different skill levels and I feel it’s worked very well. If you’re going to tell me you’re an expert in something you better back it up.
Personally I interview for culture fit and personality first and foremost. After that it’s their ability to learn new things and adapt followed by passion. Interviewing is a hard and imperfect process, no one has a 100% solid interview process and when we work on improving them we should try and rid elitism in them.
Let me start off by saying thank you for this article. You took the time to write an article which I am sure few will ever read and even fewer will appreciate. That being said, I found your article while trying to learn a little more about Paylocity and how their interview process is handled. I have to admit, I am very nervous about interviewing in general and even more so with a technical interview such as the one I might be tackling for Paylocity. I have been working on projects with C#, Webforms, MVC, javascript, SQL, Entity Framework, IIS, and a few other niche areas and I currently handle everything from database to front-end and everything in between… but I fear I only know what I have experienced at this job since it was my first and only experience in the industry. I want to move up in the development world and I learn quick but I am not sure I can impress the interviewers at a company like Paylocity. Don’t get me wrong, I am still going to give it my all but I have a feeling my world of development is very sheltered compared to some. Do you have any pointers for someone in my position? Thank you ahead of time for any assistance you can give and again thank you for the informative article.
Nicholas,
Have passion for the industry. A lot of companies will make a hiring decision based on if your a culture fit, an active learner (always trying to keep your skills up to date) and that you are on the lookout to improve what you are currently doing. Never feel ashamed of the technologies you are using or have knowledge in, if a company won’t hire you just because your coding in Language\Framework X, then you probably don’t want to work there anyways. One recommendation I can make, if your company culture doesn’t allow for much growth, is to get involved in an OSS project that has some active maintainers and usage. OSS projects tend to be on the edge of technology, patterns and work flow (like PR’s). The upshot of this is you can point to publicly visible contributions to a project with examples of how you work and your code.
Shawn