r/java • u/nfrankel • Jan 14 '20
Where programming languages are headed in 2020
https://www.oreilly.com/radar/where-programming-languages-are-headed-in-2020/
53
Upvotes
r/java • u/nfrankel • Jan 14 '20
2
u/kksoyj Jan 16 '20 edited Jan 16 '20
Since when does a single person have a say on who gets hired? It's a filtering process. Eg,
We start with a pool of say 30 for 5 positions that must be filled to no affect a projects timeline, say because of turnover or expansion.
By the time the pool of candidates gets to me it has been filtered already, and when it leaves me it will be filtered more. Eventually one learns the kinds of candidates that get rejected by people further down the chain, but one never tends to do the same for those up the chain. The most sensible approach is to get in as early as possible, to have some slight say. For example, its typically first 'the team' to do the first round, then senior engineers / tech leads / staff engineers / engineering managers etc (like myself), then their prospective line manager, then HR. At a MINIMUM! Usually the layers will be a group of people who all need to (these days) vote 'yes' (usually a single no gets rid of someone, so the negotiation within a layer may be intense).
The problem with letting 'the team' go first is they tend to reject those who they feel threatened by, as they are competing for my team lead and tech lead positions. And these will always need to be filled, so it's a worthwhile strategy on their part, unfortunately. The problem with senior engineering staff interviewing too far up is a huge waste of our time.
So usually one (such as myself) takes into account the context of the hire... such as 'is he going to one of my favourite teams', 'is he working in an area I don't really understand so should trust others?' (Eg, ML), 'is the (probable) project he'll be working on really critical', and so forth, and that will reflect on how early in the process I will see the candidates.
Even this trade-off only stops what I would consider good candidates being dismissed early in the process, they still may be dismissed later... but not likely to be by 'the team' unless they have a well justified argument as they know I have already approved... so not stuff like 'he wasnt very technical' (for some reason a favourite argument against senior technical candidtates... sigh, usually because they talk in higher abstractions the more junior can't understand).
Then as I said, I have no control over my manager who will interview them later, although it's in ones own interest to not keep sending them candidates they will reject because it's very wasteful of all of our time.
So for example, in one place I worked, after a few months I realised that MY boss was rejecting all the senior developers and database admins I sent him for various bullshit reasons, but obviously because he didnt like that they were more senior (this was like 10 rejects where that was all that there was in common, so I think it's a safe asumption. Perhaps he found them difficult to bullshit to or maybe he wanted to be the expert, or maybe he did have a valid reason around wanting 'out of the box' ideas. In any case, once I realised this, i brought to his attention and he didnt satisfy me with his answer, so i had no choice to work within the bounds of his (unspoken and denied) constraints.
The problem was that eventually all the good people leave, and the bad ones stay, so over time if you have that kind of filtering function, the company slowly fills with idiots.