He understood we were a team, and we weren't stupid. Your employees are working in a technical, educated field. They can smell bullshit a mile away. If you try to take advantage of them they will shit your bed and leave
Which to make the primary focus can and should switch up. If you are firefighting on a submarine all that matters is the task - the team are all dead if you fail. The individual does not matter there and then.
Back in the land of computers we have less extreme but analogous problems. There are times when you do need to focus on the task, however if you're a good leader you've used the times when that isn't the case to focus on building a Team and developing each Individual so that they can, and are willing, to dig out to achieve the Task.
I write this from personal experience, having seen teams been disbanded who did a great job shipping... stuff that brought in zero value to the company. This is something I personally would want to avoid if possible, hence me putting "company first" as #1.
Of course no two situations and companies are the same, so there might be cases when having a healthy team trumps doing what the company (thinks it) needs. For now I'm personally sticking to aligning all three where I can: have a great team building things that matter with satisfied members.
How do you get to this point? I have never been on a team where someone further up the business wouldn't come up to us at some point and ask, "Uh, what is the business value of what you are doing?"
Cherish this, and secretly examine every nuance of its ups-and-downs while you can. The basis of all of your future management efforts will be to get back to something similar to this point.
Just remember, a manager is a well-organized servant leader who is ultimately never responsible for success.
The point I think the author makes is that it is not the desires of the team that set up priorities at this point, and that it is contrary to what you are expected to do at the dev level (i.e. advancing your team projects first)
The thing is, if a manager does not set goals for it's team, it will find some by itself (refactor that old code, clean the doc, improve that funky demo, test out the latest shiny equipment) that are not necessarily the best choice for the company.
My experience has been that in that situation, very often, the team is relieved when it receives new instructions. It is not a "team or company" thing It is just an ordering of priority goals that makes sense to everybody.
Hear! Hear! This completely, followed by managers being too lazy or being too ignorant and just never "getting it".
After many years, I've come to the conclusion that:
1. I sucked as an engineering manager.
2. Most people suck as engineering managers.
3. The only thing that works is a flatter structure with really exceptional managers as actual engineering managers that do what's right and stand up for the team, with a set of people under them that don't actually have management authority, but they can organize things, stay on top of efforts, and communicate status to those that can. This works because really exceptional managers are extremely hard to find and are paid well, so if you try to do anything but this, you will hire bad managers.
Your team's health can absolutely be the number one vehicle you use to get the company the results they are after, but you can't forget the fact that the company employs you, and them for reasons other than their happiness.
That said, it's a mistake to treat developers like commodities or to dismiss their concerns and desires as second to the company, in my opinion. Churn hurts, and demoralized teams have negative impact on develpment.
So, take 'professional occupations' with a grain of salt. There are high-paying occupations that don't require a 4-year college degree.
Of course. The vast majority of whom are already employed at market rates.
I can easily be replaced but the company will be eating close to $100k in costs as well as taking on more short term risk.
Lots of companies die because they pursue quarterly growth. Team-focused managers focus on long-term health of the company.
I guess the way I view it is that company is the destination and team/people is the journey.
This way isn't the only way though, I've seen teams run 'company first' it generally involved a lot of unhappy people and I didn't like it, so I avoid that style personally. A friend of mine seems to pride himself on being a 'hard driver' and being 'brought in as the hammer', ; but to each their own.
I’ve had managers make it clear that me and my teams were a distant #2 to the company needs. It was pretty demotivating (as you said).
On the other hand, part of a managers job is to align their teams with the organizational priorities.
Maybe it comes down to how you achieve that alignment?
Let's start a thought experiment. We'll start a company with one person. What will that person do? Manage? Of course not. There is nothing to manage, because there is only one person. Instead, although they have to plan and prioritise their work, if they aren't actually spending most of their time working, then nothing will get accomplished.
What if we have 2 people? Should we make one person a manger and have the other person do the work? Of course not. The manager will have virtually nothing to do while the working person will be overwhelmed. Although you may shift some responsibilities depending on who likes to do what, or who has various skills, unless both people are working then you will have lots of problems.
At what point do we need a manager? Well, we need a manager when the communication overhead and day-to-day chores impacts development. We only need that manager when there is enough work that they will be able to spend almost all of their day doing that work.
So what will they do? Basically anything that is stopping the workers from getting their job done. If there is a problem with communication, then the manager needs to organise things so that everybody has the information they need. If there is a lack of prioritisation, then the manager needs to prioritise/plan the work. If there is conflict on the team, the manager must find ways to resolve the conflict. I'll stop here as there isn't much point enumerating all the things a manager must manage.
The point is that everything a manager does is a result of coordinating large numbers of people or disparate information sources. Their job is to coordinate, prioritise, reduce conflict and communicate so that the workers can concentrate on getting their work done. The manager is there to "take one for the team" so that the team doesn't get embroiled in drama, trivia, or complications.
Getting back to the original problem: "you'll need to put the company first, team second and your team members third". Sorry to be rude, but that's just naive. Your function is not, through force of your will, to make all the workers do what the company wants. Your job is to coordinate information and reduce conflict so that the members can be successful. Your job would not exist if you did not have team members or teams.
And as impolite as this is, I can't finish without asking managers to contemplate the following: Is there more or less drama due to your actions? Are you demanding team members organise information for you, or are you organising information for the team members? Are you resolving conflict as it occurs, or are you creating conflicts in order to get your way? Do you ask your team to jump through hoops in order to solve a political problem, or do you jump through hoops to solve political problems for your team?
As an engineering manager, you can not succeed if the team does not succeed. It is true that your team can succeed for short periods even if some team members do not succeed, but it is an unsustainable condition. If your team members are not successful, then you have failed. <- Notice the full stop.
Everything starts from the owner ("king") who then delegates things to managers at various levels (starting from the board and executives) who then do their thing and either manage tasks, people and processes directly or delegate them further to lower level managers.
In a decentralized approach, if you need a small task done, you can hire me, give me some resources (money, workspace, equipment, whatever), and expect some results - but mostly leave me to myself. If you want more results, that's going to take more resources - and at some point these resources go from a salary and a desk to a budget and headcount, but in a larger manner, nothing changes; you have given me resources (more of them) and need results (more of them), and you can stop worrying about the details of how these results are achieved. In this approach, the engineering manager role becomes something like a CEO/COO of a small development shop doing custom software for their customers - and the main significant difference between this shop being internal or external is the (lack of) legal contracts required.
Right out of the manager's playbook: "Well, you see, I'd love to give you more than a 3% raise, but, you know, budget is tight. No one is getting more than that. Most people are getting less, you should feel lucky to be getting 3%." You know he's reading from a script that he was coached to read from.
Same strategy as calling into the support line at Time Warner cable or United Airlines with a real beef. You are immediately worn down and dejected because you realize you're talking to someone with zero authority to do anything. So what do you do? Suck it up and keep working, or quit.
We don't live in an ideal world though, and I do not know if the managers who prioritize the long term goals are more successful than the ones who focus on the short term goals (and who, frankly, usually are basically self-serving). Maybe it depends on the definition of success.
"Put the company first" is another way of getting at "Engineering managers need higher trait Agreeableness in order to succeed". It's not maximizing Agreeableness, just putting it at a higher level than individual contributors. And for good reason.
The overall goal is to make smart tradeoffs and find win-wins. You've got yourself, your managers/executives, and your team. They each can get varying amounts of acclaim, compensation, and terms of employment (ie, hours worked). I kind of want to say that the company matters here, but it doesn't really. Well, at least not until you get to a large enough company scale that your reputation among people at the company starts to matter. Say ~100 people or so.
If your team is excited to build a service (say, for the technical challenge or the potential reputation gain) that objectively should be done by a different team (say, they have the right background, have already started, or whatever) -- do you put the teams interest first (and do it) or the company's (and don't).
I've faced this situation a lot. I used to pick the former. If we have more impact, how can that be bad? Good for company & so on.
It frequently did end up good for my team, but not always good for the company.
Once I adopted the "good for company" mindset, I found I could often achieve what was good for both, but I did find value in putting the company first.
To put another way: the local optimum is not always the global optimum. As a manager, you need to think about the global & favor that over the local.
My two cents.
(now go figure why I'm burned out :-))
What to do when "conflicts of interest" arise is the measure of an Engineering Manager and where the line is drawn is defined by the individual at a personal level.
I disagree with this a ton. The best managers I've had flipped #1 and #2. When your team is performing, the company profits. Far too often I've seen the manager put the company way ahead of the team, and that leads to attrition within your team or a major lack of motivation.