I think sometimes management is their own worst enemy in not taking a chance on their own people.
I've seen it in start-ups where they are anxious about their own talent, and are somewhat desperate to 'level-up'.
The mindset is like 'I married the first person I kissed, but I get the sense I could do way better now.'
This often leads to overpaying for people who have had the director or VP title in a larger, but minor company, and being told by them that the solution is to hire 5 more people under them.
I've spent most of my career in consulting organizations, and sometimes our clients have been orgs with a high percentage of "lifer" employees for whatever reason. (Often, this is because the employer is one of only a few good, white-collar employers in an area, which is its own cost.)
Orgs with insufficient new blood get stuck. They think of the Company Way as the only way, and policy begins to replace thought pretty much across the board.
One example, early in my career -- before I went to consulting, even -- was a place I worked for 2 years in the mid-90s. They were a 100% VAX shop much later than the rest of the industry, and were known to pretty much hire new technical people only right of of college. As a result, they ended up technically isolated from the mainstream.
Once they realized that they were spending WAY more on homegrown solutions than they would on a commercial DB, it was really too late -- new grads didn't want to work on a dying platform, and the veterans had no experience working on anything other than the homegrown stuff.
Most devs, if HN is any indication, believe that jumping ship every 1-2 years is the best way to move up. But if you have senior devs who were juniors at the same company just a few years ago, you'll probably be more likely to stick around.
I've been with my employer for much longer than average. They're taking care of me well financially. Even the variety of projects and domains is pretty good. If I leave, it will be to declare bankruptcy on being an advisor/carrier of institutional memory.
I've had some bad experiences with this one. The devs in the senior positions had only ever worked at this one company, and they'd learnt a lot of bad habits that they then proceeded to enforce on the devs in junior positions, who despite having fewer years of experience were in many cases a lot more competent than the supposedly senior developers.
I don't think it's necessary to move every year or two, but I'm not sure it's ideal to go too far in the other direction either.
Good developers look at what they've done, and critically analyze what is good; what can be improved; and what needs to be replaced. It's these people that you want to promote and provide with enough autonomy to do what needs to be done.
It's not just developers. The old model of companies rewarding loyalty and actively investing in furthering their employees' skills has declined across the board, and it's no coincidence that the timeline correlates with the timeline of the demise of unions and collective wage/employment condition agreements.
If a certain position is filled from an internal transfer, that transfer leaves a new open position. Eventually, you need a hire a new person. A chain of internal transfers beforehand is just extra people to train and more paperwork to deal with.
>* Hint: They don’t.
But they also might. Sort of...
You don't usually hire someone with the expectation that they will come up with a magic bullet solution - Usually you already know the silver bullet and are actually hiring someone who can sledgehammer it in while existing internal teams are reluctant.
Sometimes its easier for an external person to do this, rather than an internal person.
I'm a supply chain consultant and regularly get brought in to implement change where there are often change-reluctant internal teams, which are held back by legitimate reasons why x won't work, even though x needs to be made to work. I say sledgehammer only to mean that sometimes you have to be very steadfast in the fact that the change is happening, and that all the reasons people give you for it not working are problems that you/them need to solve rather than reasons it won't go ahead.
Despite what I said above, personally I think companies just need the right mix of internal and external candidates - too many internal and the company gets too held back in 'the way things are done, and have always been done'. Too many external and there is a total lack of organisational memory and nobody knows how to do anything.
Unless one is an outright wizard at what they do, which is rare, what should make anyone think a company needs to keep them around? We are all replaceable. Companies should only hire internally if it makes sense. The fact is that 99% of us are just adequate in the eyes of our employers, and if they play their cards right, they have more to gain by hiring new team members than ones they know they aren't that enamored with.
If you move the internal person and hire someone to backfill, you have two people who need to be trained and who might not be a good fit at for the particular job.
I have 1 opening at my company.
Someone internally transfers to fill it. I still have 1 opening at my company.
Alternatively, someone externally joins and fills it, and the person who was unhappy and looking to transfer leaves shortly after instead for an outside role. I still have 1 opening at my company.
Except in the first scenario the person transferring is most likely familiar with internal tools, practices, systems, deployment, culture, goes on and on. Not only that, I have tangible, full fidelity data on their performance in the form of artifacts produced for their current team. Externally, I'd need to rely on data collected in their interview process.
I have 1 opening at my company. I set up a team to handle the hiring process for that position. They choose an internal candidate, who then transfers. I still have 1 opening, despite having completed the hiring process for the open position.
Being rejected from an internal position didn't guarantee that the person would quit, just increased the likelihood. From an "expected hiring committees" perspective, having an internal transfer guarantees two hiring processes. Having an external hire, provided the number of internal candidates is somwehat low, should result in (on average) less than two hiring processes.
>Except in the first scenario the person transferring is most likely familiar with internal tools, practices, systems, deployment, culture, goes on and on. Not only that, I have tangible, full fidelity data on their performance in the form of artifacts produced for their current team. Externally, I'd need to rely on data collected in their interview process.
This part I fully agree with. It could definitely turn out that the benefits of an internal transfer more than outweigh the increase in resources used on hiring.
I was just trying to think about reasons a company might choose not to. How much training you have to do for the internal transfer is going to depend on how similar the old and new job are.
It's worth doing right as most work is, but managers want fast solutions and typically are not incentivized to take their time.
There is a number of reasons for this, but one is that if you hire someone external they are more under your control than an internal hire who already has ideas of how things should work and relationships and therefore has their own amount of political clout. A new hire has no reputation to lean on so must be a bit more cautious at first.
Another reason is that there is a “grass is greener” mentality. You know what you like and don’t like about an internal hire. You don’t know what you like or dislike about the external hire yet, not really. Additionally, someone from outside may have the silver bullet to solve X,Y, or, Z problem that no one else can seem to solve. You know your internal candidates don’t have the quick easy solution you want, but maybe this new person will!*
* hint: They don’t.