The #1 job of any manager (and employee), as far as the company is concerned, is to represent/forward the goals of the corporation.
"forward the goals of the corporation" can mean a lot of things. As any parent knows, it's dangerous to let kids have everything the want. Same with pets. If you let your dog eat all your chocolate chip cookies, I hope you have an animal emergency room nearby. Same with a corporation.
In one or two cases, I deliberately took a risk, and disobeyed orders/policies, because I knew that they would be eating chocolate chip cookies. That's a big risk, because there's usually quite a bit more behind policies and orders than an individual can see, and what I did could have been destructive. I am happy to report that these were not destructive, but it isn't a practice that I can recommend.
But "forward the goals of the corporation" can also be in direct conflict with the goals of the employee, which, if they are healthy, may start with things like "my kids, my spouse, etc." Balance needs to be had, and it's a mistake to look to a corporation to provide that balance.
Usually, the best source of balance is the direct-report manager. They need to be "in tune" with their employees, and be able to negotiate the competing priorities.
In any case, a manager that puts their own, personal goals ahead of those of the corporation, and of their employees is (IMNSHO) negligent in their duties. I was a manager for 25 years. I think I did a decent job of it, and I kept senior-level employees for decades (not an exaggeration -when they finally wound up my team, after 27 years, the employee with the least tenure had ten years).
My experience, is that whenever I have discussed my philosophies and methodology, I'm attacked for either being a "wimp" (other managers), or being "two-faced" (other employees). None of these attacks have come from people that have actually worked with/for me.
When I became a manager, I assumed a different role. I had to make the commitment to put aside my personal aspirations, in favor of those of the corporation, then my employees. My own goals came behind those.
What is the geographic area? How is the pay band of the company compared to local competitors? How are the perks?
I don't expect managers in a tech hub to be able to keep younger employees for many years, when they can jump ship after 1-3 years to get a huge pay raise somewhere else.
Then there's the grade of the company, if you're at a lower grade company (low pay, mediocre projects, no pension, bad health insurance) good luck keeping people around. They will figure out soon enough the grass is greener elsewhere.
The few people I met with 10+ years of tenure were mostly in large companies with benefits and comfortable positions. They've changed roles internally a few times over the years.
It was also important to keep employees for a long time. I worked for a Japanese corporation, and my boss was 7,000 miles away, and didn't speak English.
So, for me, keeping my employees happy, and feeling valued, was important. Since these were fairly senior (C++ programmers that had been coding around 30 years or so), I gave their families and personal space a lot of respect.
This was appreciated, and I was rewarded with personal loyalty.
The risk to the corporation was that it was personal loyalty. I have no doubts, whatsoever, that, if I had left, the entire team would have left quickly behind me.
My management was not as respectful of my personal life, as I was of my employees, but I enjoyed a pretty remarkable level of trust, as I have some fairly well-considered personal Principles.
Ah nice. Used to work in a large corporation with a major office in NYC (I am in London).
Also recruiting C++ developers, had a few folks with 30+ years of experience.
I think the key is to have developers who are good, but not too great that they can pass interviews in other places (tech interviews are getting impossibly difficult nowadays).
Give them decent work-life balance, decent pay/perks, and decent teammates/manager. They will stick around for a while. Not looking too hard and if they look there's a good chance it doesn't conclude (interviews are too time consuming with a family and too difficult).
There's still quite a bit of attrition though. NYC has a lot of strong opportunities (FANG, banks, hedge funds) and C++ developers have niches in demand (finance/high performance).
Top developers will get a better opportunity eventually. I've seen the case where another company decided to take over somebody or a whole team, it's unstoppable.
A couple of them were really sharp, and now work for another heavy-duty (this time, German) engineering corporation.
Not everyone wants to be a CTO. Many of us just want to do what we love, and be respected and supported, while doing it. For many people, that's a dream job.
When I left my job, I could have gone on to management at another company, and be making fairly decent money. Instead, I decided to "retool" myself, and return to my production engineer roots.
It's a field that is dominated by a lot of ruthless, young, hungry people (and a management culture that has adapted to this), and I may never get anyone to pay me to code ever again; even though I have the ability to make others a lot of money.
For some reasons this makes me think of the generational struggle.
The difference between the 50-60 folks who bought a home before the bubble (if not multiple homes) and can be pseudo retired. Still working for another decade but typically not caring too much about salary.
And the 30-40 folks who is facing the housing bubble with a lifelong mortgage and soon university fees for their children. Typically caring quite a bit about compensation because they're struggling to make ends meet. Sadly they really missed the boat if they stayed a decade at a company (with little raise/promotion).
Obviously they're managed quite differently and have very different concerns in life.
The parent specifically mentioned keeping senior level employees. Juniors can easily jump ship for pay raises, but as you get senior, other values start to becomes more important. Your wage level is likely “good enough” and so stuff like stable working hours, a team that you can rely on, stability etc. become more of a deciding factor, especially once you start settling and having a family. 10 years + doesn’t sound implausible, especially if you had 27 years to build the team. The ones that stick around for longer than the initial period tend to stick around long.
"forward the goals of the corporation" can mean a lot of things. As any parent knows, it's dangerous to let kids have everything the want. Same with pets. If you let your dog eat all your chocolate chip cookies, I hope you have an animal emergency room nearby. Same with a corporation.
In one or two cases, I deliberately took a risk, and disobeyed orders/policies, because I knew that they would be eating chocolate chip cookies. That's a big risk, because there's usually quite a bit more behind policies and orders than an individual can see, and what I did could have been destructive. I am happy to report that these were not destructive, but it isn't a practice that I can recommend.
But "forward the goals of the corporation" can also be in direct conflict with the goals of the employee, which, if they are healthy, may start with things like "my kids, my spouse, etc." Balance needs to be had, and it's a mistake to look to a corporation to provide that balance.
Usually, the best source of balance is the direct-report manager. They need to be "in tune" with their employees, and be able to negotiate the competing priorities.
In any case, a manager that puts their own, personal goals ahead of those of the corporation, and of their employees is (IMNSHO) negligent in their duties. I was a manager for 25 years. I think I did a decent job of it, and I kept senior-level employees for decades (not an exaggeration -when they finally wound up my team, after 27 years, the employee with the least tenure had ten years).
My experience, is that whenever I have discussed my philosophies and methodology, I'm attacked for either being a "wimp" (other managers), or being "two-faced" (other employees). None of these attacks have come from people that have actually worked with/for me.
When I became a manager, I assumed a different role. I had to make the commitment to put aside my personal aspirations, in favor of those of the corporation, then my employees. My own goals came behind those.
But that was just my experience. YMMV.