> Before I am presented with a dumbass interviewer who throws a ridiculous question my way about algorithmic stuff, I prepare them: "Since we are both seeing if the other party is competent, I want you to know that I want you to also solve my questions. They will be slightly more difficult than the questions you pose to me."
And that is extremely arrogant. I would end interview right now. I don't care who you are and how much experience you have, I believe in "no asshole" rule.
You are interviewing to work at the company. The relationship is between you and the company and not between you and the interviewer. He has particular job to do which does not include responding to your out there whims.
He is in a tough position, most likely with much less experience than you and still asked to do a difficult job of judging your experience.
Be kind to people. Show your maturity by understanding what is the other person's role in the process.
If you have so much knowledge and experience as you claim, you should have no problem going through the process -- your willingness to go out of your way to do this kind of shit does not show you are going to be nice person to work with.
> I would never ask a question I can't also answer from the top of my head
That is prerequisite, but not yet full solution.
You are asking candidates for things you know which means you are comparing their experience to yours. What if they have different experience and met different problems?
Ideally, you want to answer a question "Can they be productive at their new position?" which is a different question from "Do they know everything I do?"
I always remind myself that it is likely every single candidate I interviewed knows something I do not.
> Having worked at Apple, it doesn't surprise me one bit how slow they are developing simple features and fixing simple bugs. It's a red-tape hell full of not-very pragmatic engineers that are way too smart for the good of the company.
Have you ever tried actually figuring out how make it more efficient rather than just complain at the engineers you are working with? Have you always been super pragmatic, fast engineer that can accomplish things at startup speeds? Or have you been just as everybody else, constantly complaining how productive you could be if only everybody around you were not dragging you?
Speaking up is aimed at fixing the problem. People who "speak up" do it because they believe it is necessary to create publicity around the problem to get it fixed.
There is no way to “fix the problem” as the interviewee, unless you have invented a mind-control device. You can merely say no, and only if you are a desirable candidate can it have an effect other than “pushing on a string.”
I can’t think of a better approach than the golden rule here.
> And that is extremely arrogant. I would end interview right now. I don't care who you are and how much experience you have, I believe in "no asshole" rule.
I'm not being an asshole, the interview goes both ways. I want to know who I'm working with and whether they practice what they test for.
> You are interviewing to work at the company. The relationship is between you and the company and not between you and the interviewer. He has particular job to do which does not include responding to your out there whims.
Oh come on, stop being so subservient. It's just a company.
The company is trying to convince me to work for them. If they want to know about what I can do for them, I have a lengthy resume and 5+ references they can call.
> He is in a tough position, most likely with much less experience than you and still asked to do a difficult job of judging your experience.
It's not a difficult job, though. Their recruiter can call my references, she can check if I worked at the companies I listed, their technical people can absolutely ask me relevant questions. But if they go into the realm of leetcode nonsense, then I am absolutely going to play that game with them.
And I don't really care if I get the job or not, I can afford to not work for about 20 months if I need to, and if I reach out to any of my on-call recruiters they'll have 5 job OFFERS for me in the next 14 days.
> Be kind to people. Show your maturity by understanding what is the other person's role in the process.
Well, I'm tactful in real life, trust me. My anonymous discourse on a forum like this isn't my conduct in real life, obviously.
> I always remind myself that it is likely every single candidate I interviewed knows something I do not.
That's a real good mindset, and I think it's guaranteed. Many junior developers still teach me a lot every day in my work.
---
> Have you ever tried actually figuring out how make it more efficient rather than just complain at the engineers you are working with? Have you always been super pragmatic, fast engineer that can accomplish things at startup speeds? Or have you been just as everybody else, constantly complaining how productive you could be if only everybody around you were not dragging you?
I did.
When I got into Apple I was one of the first to introduce them to React Native for one of their in-store specialist apps that were also customer facing. High requirements for quality. I setup a small team (1 back-end dev, 1 front-end, 1 full-stack, 1 designer, 1 product manager) and we finished the software to the requirements in ~4 months where we were given 12 months.
And I think I'm extremely pragmatic, and that it's in my nature, historically speaking. I'm detail-oriented, fast, creative, and while I have my preferences, I easily change my mind when faced with new or better information.
And if I can't change or improve what I do a company (it didn't work at First American, for example), I'll just leave. I'll definitely try, but it's easy to see unbreakable walls of politics and invested third-parties who just want to write and invoice hours, not results.
A local bank I worked for, too. They promised me the world and gave me "unlimited power" to improve everything I wanted. Turns out, the unlimited power only went up to my own level, and I was still 5 levels below the hyper-social CTO who didn't know anything about the technology we were working with.
I don't like complaining, I like solutions. I bring solutions to the table. And it takes more than just me to get them implemented, especially in larger companies...
And that is extremely arrogant. I would end interview right now. I don't care who you are and how much experience you have, I believe in "no asshole" rule.
You are interviewing to work at the company. The relationship is between you and the company and not between you and the interviewer. He has particular job to do which does not include responding to your out there whims.
He is in a tough position, most likely with much less experience than you and still asked to do a difficult job of judging your experience.
Be kind to people. Show your maturity by understanding what is the other person's role in the process.
If you have so much knowledge and experience as you claim, you should have no problem going through the process -- your willingness to go out of your way to do this kind of shit does not show you are going to be nice person to work with.
> I would never ask a question I can't also answer from the top of my head
That is prerequisite, but not yet full solution.
You are asking candidates for things you know which means you are comparing their experience to yours. What if they have different experience and met different problems?
Ideally, you want to answer a question "Can they be productive at their new position?" which is a different question from "Do they know everything I do?"
I always remind myself that it is likely every single candidate I interviewed knows something I do not.
> Having worked at Apple, it doesn't surprise me one bit how slow they are developing simple features and fixing simple bugs. It's a red-tape hell full of not-very pragmatic engineers that are way too smart for the good of the company.
Have you ever tried actually figuring out how make it more efficient rather than just complain at the engineers you are working with? Have you always been super pragmatic, fast engineer that can accomplish things at startup speeds? Or have you been just as everybody else, constantly complaining how productive you could be if only everybody around you were not dragging you?