4 ms·
Software Engineering hiring is broken in more subtle ways. Recently I went through the process of an internal transfer in my company. I applied to a team and
by angarg12 7y ago
Software Engineering hiring is broken in more subtle ways.
Recently I went through the process of an internal transfer in my company.
I applied to a team and went through a loop, just like an external candidate would.
I got rejected by that team. The reason is that I failed their systems design round.
The funny thing is that I spent the last two years maintaining and optimising the backend of my current team, that supports hundreds of thousands of customers.
Let me be clear, I didn't do well in the interview. They asked me to design a Dropbox clone and I flunked a few points. I didn't know long polling, and I tried to implement some of the features using the same solutions that we use in our system, which don't work very well here.
But what is the point of the interview? Is it to assess that I can design a Dropbox clone in 50 minutes, or that I know about systems design? If it is the later, you can just take a look a my work. You have access to all my pull requests and code reviews, design documents, and peer feedback. Heck, you can even ask me to walk you through our system and explain how and why we implemented certain features.
The reason why internal transfers are set up like that is so that internal candidates don't get a better treatment than external ones. Sure, I agree that some checks are in order to avoid moving low performers around, but are we trying to hire talent or make people jump hoops to get a job? The best part is that the hiring manager recommended me to 'reapply in a few months' to the job. What does that mean other than 'go study a bit and come back'?. If that isn't broken, I'm not sure what is.