> FWIW, preparing for interviews is standard practice irrespective of the industry.
This is simply wrong. I suppose if you've spent your whole life as a developer, it may seem like it would be done likewise other industries, but it's not the case.
Typically, how you might "prepare" for interviews in other industries is...learning about your potential employer. And maybe reviewing your accomplishments. That's it. And most people don't even do those things. None of this hours and hours reviewing textbooks from your college classes, since you've been in the same job for 5 or 7 years and have forgotten algorithms that you never use in your job. It's simply perverse.
Software development is the only industry I'm aware in which technical preparation for job interviews is not only advisable, but increasingly necessary for interviews at all levels of the career hierarchy.
Even in other engineering disciplines, this kind of bullshit is unheard of for any interviews except maybe your first interview out of college. And in industries like law, medicine, etc., if a potential employer asked you to perform some random task from a highly technical and complex subject from med school or law school, it would be very unusual.
I agree completely. And this is why an industry-wide respected, non-profit, credentialing mechanism increasingly makes more sense to me. There are a hundred pitfalls to implementing it and some we may never fully overcome, I'm aware, but I think they're worth grappling with to get this very technical and increasingly high-stakes line of work onto a more solid career footing with its big brothers in the engineering disciplines.
I’ve been coming around to this as well. I don’t object to an industry wide exam based on data structures, algorithms binary operations, and design. My main objection is that the exam is taken repeatedly at each interview and scored under secretive conditions.
Actuaries aren’t expected to prepare for and pass a vector calculus and linear algebra exam every time they interview, but they are required to pass a proper exam consistently administered and graded.
This might be a big improvement in our field as well.
Yep actuaries have the right idea, the exams are pretty hard, and require a lot of preparation, but once your done that's it. Actuarial job interviews are more about what kind of person you are, and if you'll work well in a team.
Quantitative finance is quite similar in this regard. Maybe I don't fly high enough to meet people who wouldn't get a technical interview, but I assume that Jeff Dean wouldn't either.
> And in industries like law, medicine, etc., if a potential employer asked you to perform some random task from a highly technical and complex subject from med school or law school, it would be very unusual.
I'm not a developer, so maybe this sounds absurd, but as someone who has good understanding of how medicine works, maybe this industry could use a few standardized exams/certifications?
I think it's possible that, because a practicing physician will have passed the MCAT, USMLE Step 1/2/3, and have obtained a license, they don't have to deal with this sort of bullshit in interviews. It seems like the idea of a "licensed software developer" may never exist, but maybe that's why the hiring process is the way it is.
> maybe this industry could use a few standardized exams/certifications
I doubt it. for example having OCJP doesn't prevent interviewers from asking basic Java questions. It is like they are telemarketers with prepared script and aren't flexible enough to skip some parts no matter what.
Typically, how you might "prepare" for interviews in other industries is...learning about your potential employer.
It has always shocked me that people don't instinctively think that doing this is an absolute necessity for every single job interview. I have very often been met with a totally blank look when I've asked candidates what they think it is the company I'm interviewing them for does, even when phrased as nicely as, "Tell me a little about what we do and why you'd like to work for us" - surely not a hard question, you would think!
Not so much hard, more that it sounds like a complete waste of time and could be signaling to people that this is one more non-technical/HR interview they have to get through before getting to talk to people they'd be working with and who can fill them in on details specific to their prospective job or team. Whatever you're trying to figure out with that question, there's gotta be a better way to probe that, that doesn't make it look like you're wasting the available time.
This only works depending on the scale of the company.
If the company is huge and involved in many things there is less engagement from each employee with the overall mission of the company. This is even more pronounced when employees can't even see the fruit of their work in society. Like when the developer workforce of a company is spread across many countries but the clients are focused only in one company.
I think expecting candidates to have a basic idea what the company does is fine.
But unless the company is a small startup, expecting them to be engaged with the mission is unreasonable.
There are many reasons for candidates to be excited to work for a company:
- friends
- great team fit
- technological challenges or preferences
- work-life balance
- location
These and others contribute to an employee doing his job with passion.
(note: money is not one of them. there is a study that showed that above a certain level for a person, no amount of extra remuneration will result in an increase in productivity)
And I imagine this is the case even for pinnacles of vision like SpaceX. I imagine employees at SpeceX do not care about the future of SpaceX , they care about putting man on mars, making space available cheaply, pushing the boundaries of human exploration and of technological capabilities, Musks vision and enthusiasm. But not SpaceX as a company.
People should really stop expecting companies to have emotions. Companies do not care about people so people should not care about companies either. People care about other people and society at large.
I was talking about for the purposes of the job interview, I though that was obvious. Also you want to look a bit at the companies financials to get a feel for any equity based comp and also if the company looks like its in trouble - eg Carillion in the UK
> Whatever you're trying to figure out with that question, there's gotta be a better way to probe that, that doesn't make it look like you're wasting the available time.
I would expect during an onsite that interviewers would want to tell the candidate about what the company does and why it is a great place to work. If you need to ask candidates those questions during an in-person interview then I recommend adjusting the filter prior to that step or consider that you might be getting blank stares for a couple of different reasons.
And yet every hiring manager on here can tell you stories of hiring someone who passed all the screens, but on the job could not write a single line of competent code. The industry provides too much cover to fake it with a title that sounds technical but isn't. You might hire a musician based on hours of discussion of their deep knowlege of violin theory, but it would still be a mistake without hearing them play.
On the same line of thought, you wouldn't hire a violinist just because you heard them play the scales.
In music, you often get handed some sheet music or asked to prepare something.
In the cooking industry, you throw them at a kitchen and tell them to impress you.
In the programming industry... We ask people to write toys and logic puzzles. That isn't what they'll spend their days doing, that's just practice, like scales.
That’s probably because you can’t write a production-ready service or application from scratch over the course of an interview.
A violinist might be asked to play a technically difficult but short piece during an audition, even when most of the music they would play as a member of the orchestra would be less challenging and take a much longer time to play, with plenty of time for rehearsing ahead of time. Likewise, a software engineer is ideally asked to solve a small but technically challenging problem during the interview.
> A violinist might be asked to play a technically difficult but short piece during an audition,
No. Compared to what we do as software developers, the correct analogy for a violinist interview would be to ask them to whiteboard all kinds of obscure music theory principles, like the set theory underlying serialism and Arnold Schoenberg's twelve-tone technique.
This is simply wrong. I suppose if you've spent your whole life as a developer, it may seem like it would be done likewise other industries, but it's not the case.
Typically, how you might "prepare" for interviews in other industries is...learning about your potential employer. And maybe reviewing your accomplishments. That's it. And most people don't even do those things. None of this hours and hours reviewing textbooks from your college classes, since you've been in the same job for 5 or 7 years and have forgotten algorithms that you never use in your job. It's simply perverse.
Software development is the only industry I'm aware in which technical preparation for job interviews is not only advisable, but increasingly necessary for interviews at all levels of the career hierarchy.
Even in other engineering disciplines, this kind of bullshit is unheard of for any interviews except maybe your first interview out of college. And in industries like law, medicine, etc., if a potential employer asked you to perform some random task from a highly technical and complex subject from med school or law school, it would be very unusual.