A great manager is at the service of their team, the team is not at the service of the manager.
The irony is that you don't really notice a great manager. Their job seems like a walk through the park, and you have a "I could do that job easily" feeling. That's because a good manager shields you from all the shit that's going on, so you and your teammates can concentrate on your job.
If you're in a project where shit hits the fan every time, where you have to extinguish fires, overwork because of deadlines, etc. then this is the managers fault.
I also noticed that the atmosphere within the team and the company, is always a reflection of upper management. And there is not much that can change this.
- They get you what you need to do your job.
- They shield you from product owners and stakeholders by meeting with them and giving you only the information you need (unless it's necessary you meet with them).
- They advocate for you and your work.
- They give constructive feedback and insight to help you improve.
- They never try to stand between you and the advancement of your career.
Again, they facilitate. They facilitate the goals of the team and they facilitate your career development. I had one manager who said his sole mission was to get developers promoted out of his team. He wanted to make developers better. It can be very frustrating to find talent if you can't nurture it but I think great managers create an atmosphere where people thrive and become better in the company of their team.
I've worked at a lot of places like this, and I'm continually surprised people enjoy it. For me, it always ends up having the telephone game problem. You spend a huge amount of time error-correcting.
How do folks scale it? Given the aforementioned error-correction process, the amount of time a manager spends facilitating that process caps with very few engineers.
We have gone another way and our engineering teams work with product managers and together they make decisions. The PM deals with gathering feedback from our analytics teams, end-users and clients, and summarizes that for the team.
We feel this gives a sense of ownership to individual engineers and allows them to make better decisions without a lot of back and forth communication funneled through a proxy. And it also means we don't need a dozen managers.
Good engineers are expensive and hard to find, and I'd say finding excellent managers is just as onerous.
I've worked at places with a healthy culture (very little shielding was necessary) and I had awesome, close interactions with end users and the business side of things.
I've also worked somewhere where the culture of the executive team was bad and my manager (who was awesome at shielding things from the team) left.
This lead to close interaction with people who will insist that 7 different things can be the #1 priority for a single person. Or executives who repeatedly make people work nights & weekends to hit an internal deadline only to find out the internal deadline is weeks earlier than the client's actual deadline.
In the latter org the more time went on the more I missed my shielded ignorance of the rest of business's demands.
That's been my experience as well. When a manager says they try to "shield you from the bullshit" it's just a lack of transparency that leads me to making my own (often worse) assumptions.
I look at it more like this: The customer has an emergency and needs something ASAP. A bad manager will pass this bullshit straight to his team, including the "Oh my god this thing is going to blow up if you can't get it done by Friday!!!!",
A great manager however, will first figure out if this is a real emergency or not, how much it will cost, etc. (S)he will take into account who is currently working on what, what the priorities are, etc. Then will present a realistic solution to the customer/management: "Look, this we can do, this we cannot do".
In this situation, as a team member, work comes in as usual, and you probably were allowed to put an estimate on it. No "Help the world is going to end if this isn't done, DROP EVERYTHING!!!".
I've worked for multiple managers that fall in either bucket, and I had cases where something needed to be finished by Friday, because the customer needed it on Monday. Asking a week later after deadline: "Did it work?" "The customer hasn't tested it or put in production yet".
Great managers however, have great communication skills. Maybe a better wording is that they are able to filter the bullshit from the rest.
Makes me think that in a consultancy business, everything hinges on getting the customer to fund your development properly. Ask too much and you'll lose the contract to a competitor.
Any thoughts on this?
So I'm in an interesting position to comment on this, as a dev trying to transition into management. I've ALWAYS been on the full-transparency side as a dev, but have often had to defend that position to other managers and bosses, with the justification that I might scare the devs or distract them or have them focusing on things that aren't their core goal.
There's definitely a kernel of truth in that, but I've found most of the "grey area" is less ambiguous in practice; (e.g. don't be a rumor mill, don't get people worked up, realize there may be a proper time and place) and more importantly, _devs usually know most of what I would tell them._ They're not idiots. They have people they talk to, and they overhear things, they usually know how the games are played at some level and have some intuition that "something is happening." And by trying to hide this, and not being a partner and helper in wading through it/building confidence, you erode trust. So in terms of the "what's going on in the team" bullshit I'm pretty open, even if it's a bunch of political infighting and misaligned incentives, at least so the dev can understand the landscape and make sense of it.
The bullshit that I DO however think you can shield a dev from is the "Symptoms" of the above. Help balance out individuals playing favorites, individuals being biased against a certain dev, help a dev see if turmoil is coming and how they might navigate it, help a dev understand where motivations are pointed so they can avoid socio-political pitfalls, or optimize the decisions they make to drive their career to be responsive to the ecosystem they're in.
I believe one can be transparent enough to let a dev know WHAT is going on, but still provide them an ally and shield against potential negative impacts of it.
I always give the why along with the request, but spare the noise.
I've been in the industry for 10+ years moving through the ranks in all kinds of setups, from developer to senior management, and I think you expressed nicely the gist of it:
The irony is that you don't really notice a great manager. Their job seems like a walk through the park, and you have a "I could do that job easily" feeling
Very similar to what you're saying is this quote from Laozi, a personal favorite:
A leader is best when people barely know that he exists, not so good when people obey and acclaim him, worst when they despise him. Fail to honor people, They fail to honor you. But of a good leader, who talks little, when his work is done, his aims fulfilled, they will all say, "We did this ourselves."
It's a tough path to walk on, as you have to let go of your ego, but seeing the team succeed always makes up for it.
I see a potential problem here. This may be true if you have one iteration of needing a leader. But if you have something that needs a leader on a repeating basis, is this really sustainable? It is like good IT that is so good their budget gets cut for lack of visibility.
I was that guy that had a great manager in the beginning of my career for 2 years. At the time I was thinking he's a good guy but not great. Only later (+5 years) did I realize what a great manager he was and what an impact he actually had on my career.
But you're right, the biggest risk I've seen for this kind of leader is how upper management perceives you.
Not a huge risk though, as in most companies upper management ranks leaders/managers like this:
1. people obey and acclaim him -> best leader
2. people barely know that he exists, but good things just seem to happen in his teams -> ok leader. "He's lucky to have a great team" - Average Joe CEO
3. people despise him -> bad leader
Instead, if your company ranks 2-1-3 then you're lucky to be working for a great company, but if your company ranks 1-3-2 then run for the hills.
From what I've seen number 2 gives the best results overall with very positive long-term effects on the team, but it takes another good manager to recognize and appreciate that. So you might end up frustrated if you're expecting recognition and accolades from someone like Average Joe CEO that I quoted above.
In the wild I think a continuous balancing act between 1 & 2 works best. You're probably a saint if you can pull number 2 all the time while also keeping your sanity. :)
The ancient wisdom didn't account for the politicking of corporations.
The astute employee can detect this by observing the manager being reasonable in every respect where they can realistically do so despite the chaos. Also, you can sometimes observe them being in the early wave to leave such a company.
I'm not sure that's the case. I've worked at a few large corporations, and I've always appreciated it when my direct manager has told me flat out that a specific deadline or priority shift is due to politics outside of the organization. In fact, I'll go further to say that doing what you recommend will do more to erode morale than being honest and forthright with the team.
Whenever there's an urgent request or a priority shift, the team will ask questions, and will expect the manager to have an answer. There is a temptation here, to try to reach for grandiose answers in order to try to justify why the new priority is the most important thing in the world. But the problem is that people talk. They'll quickly find out whether the shift in direction was due to an actual changing market need or whether it was due some executive wanting to look good in front of his or her peers in the boardroom. And when that information leaks, it'll do far more to destroy morale than a simple admission of politics up front would have. If the manager is lying to the team about this stuff, what else could they be lying about?
Trust is a lot like privacy in the sense that if you lose too much of it, it can't be recovered. I work for someone I don't trust now.. it's pretty lousy existence.
When a company has bad leadership, it makes everybody miserable and often ends in failure—you are screwed twice, first by being exploited/overworked and second by it all being for naught. I will tell my reports when upper management is garbage. I will even encourage them to consider their options. Why? Because they aren’t children. They are adults with lives and families. And I’d be a hypocrite otherwise, because I’d also be considering my options.
Edit: I actually now feel pretty strongly that “I have to hide the truth about the company from my reports” is unjustifiable, self-serving nonsense bordering on the unethical.
I don't want to read too much into your sentiments here, but I'm assuming you would consider upper management as co-workers who you feel deserve to be treated fairly. I would extend this to say they probably deserve not to be undermined by being described as "garbage" any more than those under you deserve to be gossiped about.
I'm not saying that's the tact you use, but there's a world of difference in saying, "It's all stupid management's fault!" and saying "I know our team disagrees with management's strategy but here's how I think we can get them on our side." One is proactive, still trying to serve the company/mission and the other is a way to pass the buck and destroy morale.
We got a new manager, local and from an external company (which is often difficult) He did... very little, it seemed. But I noticed half our meetings were cancelled and we didn't need them. Our existing meetings, we got more done. Our sprints were better and better. We just accomplished more per hour than we did before to an enormous extent.
Good management is invisible and feels like the team is rocking, not the manager.
Sometimes my questioning will lead the others to find some unnoticed complexity in their own proposal. Other times, their replies to my questions will lead _me to realize I had an incomplete picture in my own head. Either is a useful outcome--likely a better outcome than if I outright disagreed at the beginning.
I think I mentioned here before, the best managers I had were the ones that their main function was to simply remove any kind of impediments from the developers' path. Get that in order and everything else follows.
If you feel like you’re being sent to the Principals Office every time you get called in for a 1:1, that’s a bad sign.
1:1 are great if you have a good manager. They're a horrible waste of time if you don't. I'd go to HR again but I'm sick of hearing about how it's my responsibility to not take things personally and also to help him become a good manager.
I honestly think my manager is a magician because when he talks about all the shit he had to do in the day and stupid phone calls to answer I just think "wow, my day went quite smoothly"
This isn't always true. Managers also have to deal with the legacy of development that has occurred at a company. In poorly run engineering organizations front-line managers' hands are almost as tied as the team's. In these situations they're also almost certainly fighting fires of their own constantly.
That's exhausting, super tough and even if I can say I have improved things a little bit, that's not funny at all.
edit: that this is the top comment indicates that there are an astonishing number of sub par managers out there.
The really difficult thing about this question is that it's not a 1 way street. If you don't work hard and have a good attitude, it will be hard to achieve anything. You need to have realistic expectations of how others will perceive what you do. You need to be able to balance the needs of others with your own needs (not too selfish and not too selfless). Your manager can help you with those things, but they can't actually do it for you.
I've been in a bad place at work many times in my career. The most important thing to ask yourself is: is it me, or is it my environment (including your manager)? Try to rule out as many of the "is it me" scenarios as you can. Try to put yourself in a good place. If you hit a wall where you are thinking, "I'm trying to do X, but Y is getting in my way and there is nothing I can do about Y", then you can see where the problem is. After you've "levelled yourself up" as much as you can, if you still feel constrained, then it's probably good to look for another place to go. I usually advise more junior people to stay in a job (even if it is not ideal) until they get to that point. It's easy to say, "That manager sucks! I can't work with them," and fly out the door having learned nothing. If you do that you run the risk of doing it over and over and over again.
When things start to work well, the thing you will hopefully notice is that it isn't just you. You can't perform to your maximum ability without a great manager (if you are in a job where a manager helps). Similarly, you can't perform to your maximum ability without working well with your coworkers. When it clicks, make sure to spend some time appreciating what those other people do for you. Everybody is different and I can't tell you exactly what it will be for you. The key is to work hard so that when you are in the situation where you can excel, that you are up to the task.
>> The really difficult thing about this question is that it's not a 1 way street. If you don't work hard and have a good attitude, it will be hard to achieve anything. You need to have realistic expectations of how others will perceive what you do. You need to be able to balance the needs of others with your own needs (not too selfish and not too selfless). Your manager can help you with those things, but they can't actually do it for you.
This. In my personal experience, connecting the dots looking back, this has been what made things good with a manager.
I would add that your company has other resources. You can reach out to HR, and you can take advantage of the interpersonal training that is likely available. Don't pressure yourself into believing that is all should have come naturally. If there is one thing we don't realize is how much accommodation we're afforded by the good people around us.
BTW, the way to approach HR or other managers about your management problem is to ask how you can better deal with the situation.
This is the most important one.
This can be generalized to advice:
Switch jobs, or at least managers, a few times, so you can get a feel for what kinds of managers there are.
The word leadership is “lederskap” in Norway/Scandinavia.
Leder => Leader
Skap => Closet (where the leader should be when everything is OK)
It's a huge topic in the study of management
Relevant HN thread:
The one thing I'd add on top of it from my last 5 years in CTO experience is:
- Communicate context as high level and as complete as possible.
If you say "I want that button in red" when you really mean "I want to increase sign-ups on this landing page", then what you REALLY mean and want to communicate is that you want as many customers as possible to find your valuable product.
Letting the team jump in with own ideas, even if you think you already have the best solution will make them grow in responsibility, accountability and self-confidence.
Likewise, ideas like a company/team "Mission" and "Strategy" are 90% used in bullshit contexts, but articulated correctly and repetitively, they make sure people run into the right direction, even if you don't follow every of their moves.
Great article, I can see why you revisit this frequently :)
Should "write" be "read" here? I'm not sure I understand this point.
Gosh, that is so true and so hard at the same time.
A good manager:
1. Make you feel comfortable in expressing your inputs
2. Bats for you in upper management without you knowing a bit of it
3. Pushes you for taking up bigger assignment even if you don't feel confident.
This will help in learning a lot & getting bigger share in overall contribution.
5. Keeps you informed about your progress in 1x1's
6. Is open for feedback
7. Keeps things cool even if his/her back is on fire
8. Never micro manages
9. Always makes sure you get your credit & visibility for the contribution you have done
10. Has a very good understanding of stack/technology/project you are working on
I've been on a team with someone who basically does this -- spent half the day not working, usually selected a single low-difficulty task at a time from Jira to drag out over a couple days or a week, and often went home having put 30-45 minutes less time in per day than others on the team.
There was an unspoken but very palpable dissatisfaction from everyone else on the team. No one wanted to be the Bad Guy that calls them out on it, but the manager was unwilling to push them to do more, and a result they were able to get away with slacking off while others were actually putting in effort.
It was tremendously bad for morale. That's the biggest effect it had. All the other team members were bitter about the manager's unwillingness to keep the team on a level playing field. If you let this slide, you're ultimately letting everyone else on the team down.
The point absolutely shouldn't be to police someone's time; it should be to ensure that, if they have time to slack off, they should be pushed to take on more tasks during sprint planning. "That seems like it won't take too long, can you take on these two tasks as well?" is really all it takes.
Dealing with (2) is absolutely the manager's job and such a person should be fired if attempts to identify and fix an underlying problem fail.
But (1) is really difficult. We have one of those right now, let's call him Bill. Our manager is hesitant to do anything about him, because the manager wants to incentivize productivity, not butt-in-chair time (we're all salaried, with no set hours). But Bill comes in 4 hours a day, seemingly works 1 of them, and spends the other 3 trying to distract everyone else with off-topic conversations. If he comes in at all.
Amazingly Bill does get work done, somehow. But it is terrible for morale. Worse, some of the junior members are starting to think they can get away with the same thing Bill is doing, and they can't. As the senior dev, the "big brother" to our manager's "dad", it falls to me to do something about it, but I have no idea what, if anything.
Manager fears that if he rewards finishing tasks quickly with more work, it will also harm morale and productivity. And there is a decent argument to be made for that. Having experienced that firsthand, it is highly irritating and incentivizes people to work slowly.
Additionally, in reply to GP, a manager that has great technical skills (10) and good managerial skills (1-9) must be as rare as a unicorn. Even a manager who started with good technical chops inevitably will lose them over time when they are an Outlook jockey all day. OTOH, I have seen plenty of otherwise decent managers who think their technical chops are good when they aren't. Pretty much the whole premise of Dilbert. The best realistic alternative seems to be managers who know their technical limits, delegate, and seek advice from their subordinates.
For Bill, at a minimum he needs an honest conversation regarding his impact on the rest of the team. If he's accomplishing his work but dragging everyone else down then he's not really being a net-positive member of the team. Bill needs to understand his impact and either work more, work remotely, or pick some side projects / technical investigations to keep himself busy. If he's that good, then part of his job is teaching and setting and example for others on the team.
Second, everyone else on the team needs to know the score. I've found that it's tremendously helpful for junior devs to understand that people on the team are not treated equally. "See Bill? He turns in great work and thus gets to work remotely / leave early / etc. He's been super consistent for a long time. You don't get to do that, because you haven't proven yourself yet. I expect X, Y, and Z from you. If you start turning in super-star work like Bill over a period of time, then you get special consideration too." I've had this conversation a number of times before, and the recipients were always very receptive because now they understand the rules.
How do you define what "get work done" means? Everywhere I worked (as a developer) there has never been a situation where you can say "OK, there is nothing else useful to do today". So it obviously can't be that.
Is it related to seniority? Or even salary? As in, "we expect our senior/highly paid people do accomplish 2X (or whatever multiplier) amount of work that the junior members of the team do".
Or is it just related to how much work the developer estimates they can do? You say you will take these 4 tasks this week, everyone agrees that it's a reasonable amount (for your level/role) and then if you complete them your work is considered done.
Or is it something else completely? I'm interested in anyone's thoughts on this.
Obviously there is never a situation where you are out of work to do but some would say it is unfair to expect a talented person to produce more for the same salary and title as less talented people (I have no clear opinion on that, I'm only concerned about the morale issues). After all, the whole premise of being salaried rather than hourly is that you are paid to produce a certain amount of work, not work a certain amount of hours.
Normally a solution could be promotion but that is not an option right now.
Likewise a lot of people work obliquely, letting problems percolate in their subconscious until it comes together and they can put together a solution quickly. These people may drive others crazy with how they work but that is not the profile of a slacker.
In that particular example that you are replying to I would go a few "why" steps deeper though.
Why are they not motivated enough by their work maybe?
Are they not aware maybe how a higher than "normal" engaging in distracting activities will hinder their development and ultimately their career?
Slacking off once in a while is perfectly normal. It is rare to find the perfect situation of engineer's brains being constantly on fire, churning out great solutions because they are so motivated, in the right place at the right time being asked to and capable to do the right thing in the right way.
No manager can make their team get closer to that nirvana alone - It needs a good environment but most of all an intact network of trust inside the team and the openness to speak about lack of motivation or other issues and trying to tackle it together.
Imho it is your task to help them become aware (calling out and other methods), reflect on the issues and gain the confidence that a change can be made that benefits them.
Great point, and I think it needs elaboration. Particularly if increased slacking/FB use is something that has increased over time for a person, I would also take it as a sign that they are losing motivation. Banning FB or chastising them when you see them use it won't restore that motivation.
A lot of people go through phases like this. It can be symptomatic of:
- Overwork, stress, potential burnout
- A workload the person finds repetitive, not challenging, or uninteresting (maybe they need a change in task type)
- A feeling that work is not rewarded, possibly that person needs more praise or recognition, or even just interest from manager/others about what they are doing
- Person is lost or stuck on what to do next, the task may be too hard for them or they need to talk it over with someone. Many introverts especially will not ask for help when stuck.
> engineer's brains being constantly on fire
The elusive flow. In my experience flow states are most common when: (A) there is sufficient freedom to explore the problem space, (B) fairly rapid feedback, and (C) people are impressed by or interested in what I am doing. Success breeds success. I am convinced that one of the most important jobs of a manager is to cheerlead for the team and remind them why their work is interesting and valued. Who else is going to do that if not the manager? Feelings of success and confidence breeds more success.
Having people do quick demos or small green-field projects, even if it isn't exactly the top priority at the moment, then complimenting the result, is a good way to boost morale and interest in my experience.
Openness is the key, but still I have seen team mates judging you when you talk about being non-productive at work. Better to talk about it 1-to-1 with your manager and avoid it during meetings where everyone is present.
If not, then you might need to crack the whip a little, but butts-in-seats time and blocking Facebook are incredibly ineffective ways to get people back on track. These are highly trained, competent people, presumably, so treat them like it, not like they are unruly third-graders.
Why do you think this? What metrics do you have to support this thought?
The one thing I wish managers everywhere would burn into their memory is this, "If you can't measure productivity outside of time spent in chair (looking at code), then you're not actually measuring productivity."
Productivity should be measured based on whether or not a team is meeting both their team goals as well as the team's individuals meeting their own goals. These goals need to be clear and realistic. A manager that is setting unrealistic, vague, or otherwise unclear goals is a problem.
When teams and individuals repeatedly meet their goals then you can increase the amount and/or difficulty. Or if it is an agile shop, the team should be increasing their "velocity" or whatever metric is used to determine work done, you shouldn't be left with too many empty days in a sprint. If you increase the amount of work or difficulty of work and these individuals are still looking at investment/finance websites after accomplishing their goals, then it is likely that you as the manager were under-utilizing the skills of the individuals on your team.
The other important thing to remember is that engineers get blocked. Sometimes more frequently than is desirable. When this happens, managers need to get involved in order to work with others in the organization to alleviate the block and potentially alter processes for the long-term.
The time to get worried is when you see that people are spending big chunks of time on LinkedIn or Indeed, or they start unexpectedly coming to work in attire that is one or two levels up from the normal day-to-day. The end is nigh when that starts to happen, and clamping down with poorly conceived attempts to wring more blood from the stone is a great way to accelerate the effect.
I'd never really considered it as something that meant that I would be leaving.
How productive are they being
How productive do they think they should be
Once you have those answers, then you can have a conversation about making all 3 answers match.
Here's what I would recommend for you.
* Define the primary work that needs to be done. What is the purpose of your team? How effective are they at this?
* Identify the gaps. Where can you improve? What can you be doing better to delight your customers? What skills or process improvements can you add that will make things better?
* Who can you build to take your spot? You can't be promoted if no one could fill your role. This is hard and you'll get it wrong a few times, that's fine. Just keep working to build up your team
Complaints and gripes are common at first. No one likes change. Eventually it will become normal and your team will adjust. No need to micromanage, no need to complain about showing up on time unless it's crucial, i.e. a call center, just set your expectations and took forward the work starts with you though.
In addition to the GP’s great list, good managers also tackle problems when they see them, immediately. Don’t let something slide because it’s awkward! Do attempt to fix the problem the first time without blaming or shaming the employee. You can save that for the second warning if the person doesn’t respond by fixing their behavior.
Here are a couple of ideas:
- Make sure that you or your company have set clear enough guidelines in the first place. Clearly the employee doesn’t think what he’s doing is wrong, therefore it might be a failure to set expectations for work time. Find out or decide what they are and say them in a way that makes clear that hours on social media while at work isn’t part of the deal for getting paid.
- Ask the employee to define what is a normal amount of social network time while at work, and then ask them to track their own time using a time tracking app. They might not be aware of how much time they’re spending. You could even ask the whole team to do it, but I would recommend not doing that as a way to avoid confronting the individual directly. The other people on your team won’t respect a move that affects them without directly dealing with the problem.
- Rather than accuse the employee, ask them how they feel at work and find out if there’s a motivation problem. Maybe they feel stuck. Sometimes a problem like this is due to the person not feeling like they fit it, not having or understanding their identity or role in the team/company.
Oh, man, I'm leaving my current company exactly because most developers don't get that. Instead, a group of select few get all the assignments. It gets so frustrating and depressing in the long run.
1 on 1s can vary a lot from person to person. I absolutely love my manager, but we’ve never had a 1 on 1 where she spelled out how I’m tracking towards goals. That’d be wayyyyy too formal for the nature of our working relationship. She just lets me know if I make mistakes as they happen, and relies on me to raise issues to her when it makes sense.
Now that I’m a manager as well, I have some team members who prefer to keep things less formal, in the same vein as me and my manager, and some that prefer more direct and organized feedback. I think a good manager needs to be adaptable and willing to match the working relationship that each person is most comfortable with.
A manager doesn't need to understand details of the stack etc, for example they can delegate those decisions to tech leads or senior people. Manager does need to know enough tech to detect BS though! They need to be sufficiently aware of overall process to avoid counter productive measurements such as lines of code or some such (happened to me way back when).
One of my best managers, on a real crunch project, focussed on recruiting a great team, and then he ran high level interference and let us get on with it.
Globally, in some places it's expected a boss micromanages everything, and in other places that's considered a sign of ineptitude as leader.
Within a smaller area, say, Europe you still get huge variation from egalitarian north to more hierarchial areas which affect quite a lot of things.
But, in the most general sense:
- is the person polite and respective? In any culture being 'bossy' and abusive is not a sweet character trait, it's a fault.
- does the person allow you to fail and grow?
- does the person listen to your suggestions and act on them?
- does the person give you honest feedback?
- does the person have your back? I.e. can you trust that politically they are on your side when dealing with the rest of the org?
- is the person honest?
Most of these are characterizations of what a regular well mannered person is. I suppose there are two types of bad bosses: the insecure one who would like to avoid all responsobility and negative interactions at all costs, who don't want to 'rock the boat' no matter what, and the bossy bosses who enjoy their position in the hierarchy and act like it in any way possible.
But, a good manager does not
need to be:
* warm and caring
* become your close friend - you are colleagues and professionals
* send you holiday greetings (unless that's considered a serious affront in your culture)
* same sex as you
* same culture as you
* old or young
* probably other things that you expect in a friendship but since being friends is not needed they don't matter
Recently I've gone through a phase of having 5 managers in 6 months - two most recent ones are polar opposite, but both great.
One was fantastic at making sure my work/life balance was going well, that I was making the most of networking and opportunities around the org.
My current manager is great at managing my outcomes, and making sure all the i's are dotted and t's are crossed for org processes.
I'd say if you only have one, the latter is the best for succeeding in a company - and the main marker of success is another pithy quote as below:
"Their success is their team's success, their team's failures are their failures" - basically they pass the baton for their wins to the team, and take the burden of their employees mistakes themselves to the rest of the org (whilst not shielding them from the learning opportunity).
I've had objectively bad managers who I enjoyed working with, who at the end of the day kept the job enjoyable and looked out for my paycheck.
I've also had objectively great managers, but got so board with the general company that I quit and moved on. (In hindsight, though, I should have recognized that I had a good thing going and stayed a little longer.)
IMO: At 2.5 years in your career, it's okay to jump around a bit and see different management styles. It's more about your personal happiness about what you're doing everyday than getting a perfect manager. If you work with an "okay" manager, but genuinely enjoy your job, (and get paid,) it's better than working for a "perfect" manager in a boring job.
And, to be quite honest: I've realized that I can recognize this in interviews. There's no single way to explain how, other than the general feeling I get when I talk with the manager.
What I realized is that, ironically, I enjoy a little drama at work. (Just a little). IMO, a bad manager is someone so drama averse that you can't pushback when other people don't carry their weight. (Some examples would be QE that never gives good steps to reproduce, support that never explains the support ticket, unreasonable expectations from product management, ect.)
It's kind of like enjoying a spicy meal, or an extremely bitter beer!
The truth is that managers are measured by a lot of different metrics, and what makes a really good manager for you as an employee is not necessarily what makes a good manager for the organisation as a whole, or even that managers manager.
The idea that people don't leave jobs, but leave managers is wrong, and clearly overstates the influence of a manager over more significant things like pay, conditions, location and status.
Managers should be capable of treating their underlings as human beings, and should be able to keep their ducks in a row. If you have one of those then count yourself lucky- you have a GOOD manager, and GOOD is good enough.
I've seen too many cases where people have left places because of a shit manager to discount this. My wife had a team at Oracle that was highly effective under one manager, and experienced 200% turnover under the next. People will absolutely flee a shitty, scummy, abusive manager, especially when times are good like they are now.
I have no desire to be a manager, and "to manage" is a very fuzzy concept covering everything from prison guard to space shuttle commander.
There are clear leadership qualities that cut across all fields, and are true no matter what level you are in the organizational tree.
Bad One: Gets pissed off easily when something doesn't work, focuses on himself, doesn't like when people go on leaves while he himself enjoys vacation twice a year, discriminates, uses trickery to get things done, uses his ego in product decision making in case of a technical debate, not at all honest
Good one: Rarely looses his cool, may not write code but brilliant with products and product architecture overall, defeats you in technical debates using intelligence rather than his command and ego, is honest & loyal with you and so are you, is a boss but works with you like a team
When I started out I remember once I was staying late to the office coz I had some pending work, my manager stayed with me because he had good understanding of the problem and he dropped me off(I used to travel using companies transport) even though he had to take detour. Best product manager ever!
the US sounds like a dystopia more and more everyday. sure, one could make the case that these work habits are a reason for your success, but who is really benefiting that success?
Talking about India not US!
I have also had a CTO who worked in the UK and The Valley and he said he got as much work out of the UK team as the one with only two weeks al in the states.
It's partly engrained into the culture and partly to do with the prohibitively expensive means of travel.
For example, you could probably find a flight from London to Paris (return trip) for under 50 quid (for one). In the states, there's no way you're traveling that same distance and paying less than 300 quid, I'd say.
So, it's a combination of both but I think the expense contributes, or lends itself directly, to the social stigmatisation.
But that just takes me to St.Louis, Cincinnati, Detroit. I've been to all of them before, and there's some nice parts about them, but they're not a completely different culture like Paris is to London. Hell, St. Louis is just barely in a different state.
Pretty much all the chain stores are the same in every city you go to in the US, so it really enforces the sameness of the country. There's unique landmarks and museums and parks and local restaurants, but half the city is going to look the same as every other city.
Detroit is actually the closest comparison to London/Paris, because you can go through a tunnel at the edge of Detroit to Windsor Canada, and then you do get a bit of a culture shift.
But with Paris, further travel to other very different cultures are just some quick and cheap train rides away, whereas I just have more Canada.
For me, my manager listens me, understand my problem/trouble and he acts accordingly. I am not going to lie, but there were few months in my job where I wasn't productive at all, fail to yield proper result due to my personal problems. He is always there to help me and did almost everything how i wanted to act/work in the job. Obviously, there were also lot of situations when i had to act myself according to him, but it happens after mutual discussion. He is one of the few biggest reason why I'm still in the same job since last 6 years. I always wish when i switch to some other company/start new company and the person who will going to command me (in some sense), i always wanted person like him or him.
Bad one: lots of micromanagement, fear of making mistake, fear of looking bad to upper management, lack of technical insight, lack of business insight
Good one: little to no micromanagement(except in some cases), stilk has good technical insight and tries to stay up to date and can make reasonable discussion, always challenges you in good ways, tries to increase system efficiency by creating an environment where people can try many ideas without going off the track, good business insight - surprisingly many people dont know anything about business you are in.
Simply, if you can plan an expensive 2-week vacation 6 months from now without doubt or much stress, and with a high degree of confidence, you have a good manager.
If you feel your work is making progress and contributing positively to the success of the company in a clear way that you have control of, your relationships with your co-workers are based on a basic level of trust and friction doesn't derail them into a power struggle, and you are able to approach all your work with calm deliberation, you also have a good manager.
If you think these are things that are the responsibility of the employee and not your manager, you would be missing the point, because a good manager hires staff and maintains teams like this. It's very possible a good manager might not hire you or keep you on as well.
It's worth asking why a good manager would hire you, and whether your criteria for having a good manager is simply that they like you. :)
- They actually care about your career growth. One of my managers held occasional "stay interviews" where he'd ask us questions about what's making me excited at work, what would make me want to leave the company - that sort of thing. If someone was interested in work another team was doing and wanted to switch, he'd also help them transition if possible.
- They're a good listener and follow up on issues you discuss with them.
- They try hard to hold regular 1 on 1s without frequent cancellations.
- They take the time to explain the business reason behind tasks and projects that are coming in, if they're in a position where they're feeding the team work.
- They're good at giving performance feedback. One effective way I've seen this done is to give the feedback as soon as possible after an event that demonstrates the behavior (positive or negative).
- They find ways to compensate you fairly. Sometimes salary isn't in their control, but they may be able to grant other benefits like extra days off.
The best managers try to understand different perspectives including yours. They must must must be good listeners, otherwise they can never truly understand what their reports really want.
The best managers understand what’s important for every member of their team and try to create environments conducive for their growth.
Being a good manager is a rare skill. Some are born with it; but it’s a skill that can be learned by those who listen. Most managers unfortunately have a messed up paradigm of themselves and how they relate to the world, and most will actually create more obstacles rather than clear them.
Could you elaborate on this ?
I've been managing for some times (years, small teams) but for the first time, I get a project that is 100% screwed : loss of control, some people hate me, the customer is becoming (righlty) ultra nervous... And I'm really asking myself if there are patterns in my behaviour which are clearly wrong. So relating to others might help a bit in figuring it out...
* If there are any issues at all, he is always available to listen. I am free to contact him at all hours during any time of the day, and he'll respond as soon as he can. In turn, I do the same for him. If there's ever any issue, I immediately jump on it and prioritize it, if possible. One thing to note is that I get 1.5x pay for every hour I work extra, so I don't mind spending a few extra hours to try to help out late at night if need be. It should also be noted he's only ever asked me to help work late once during the nearly five years I have been here...and I got a huge paycheck thanks to it.
* He keeps me out of unnecessary meetings and makes sure I only attend the ones that need to be attended. He attends the various program meetings and other leads meetings so that I can focus on actually programming. I have maybe one meeting a week thanks to this despite co-leading the BSP dev team here on at least four different programs.
* He listens to me when I suggest stuff and takes what I say seriously. I am free to speak my mind without consequence, even if it's questioning his decisions or direction. As such, I respect that he can override what I say and will go along with his final decision. That said, usually whenever I bring up something critical, he jumps right on it and begins talking to higher ups ASAP regarding how we can solve it.
* He gives actual feedback. If we, as a team, drop the ball, then he'll make sure to point that out. If we, as a team, do well, he'll make sure to mention that. If you perform well, he will make sure you get recognition from higher ups.
* Does your manager encourage you to have a growth mindset? Do they push you to take a moment of company time and think about where you might want to be in 1-5 years?
* Does your manager help you get useful feedback? Do they try to hold retrospectives from time to time? Do they identify and address communication gaps?
* If your manager has an engineering background, are they effective at precipitating alignment among diverse technical perspectives? Can they get people to agree on some things, even basic things?
* Does your manager counterbalance engineers’ tendency to pursue too much complexity? Does your manager help focus on the simple stuff from time to time?
* Is your manager effective at recognizing and addressing burnout?
I’ve only had 2 managers who scored more than half on that scale in 10 years of experience. Try to find one of the items that your manager is good at and exploit their strengths.
- every day you have a clear idea of what you need to do and deliver
- You are busy. Not drowning in work and not twisting your fingers with nothing to do.
- they clear roadblocks that you encounter (reaching out to senior people in org when needed, providing steering on difficult issues...)
- You can talk to them about career development, training, moving to other teams, etc, without fear that the talk will become confrontational
- They encourage you to move up or sideways (or out) when they think you are ready or it would benefit your career, or be a better fit for you
- They provide feedback on what you are doing well and less well, on a regular / continuous way, not once a year
- They are transparent in their agenda (but they do not have to share everything with you)
- Pushes you out of your comfort zone, while watching out to manage risks
- They trust you : they don't micromanage
let's me give estimates for how long tickets will take me instead of giving me deadlines
doesn't interrupt my productivity with pointless meetings
keeps the team working as a team, resolving conflicts quickly
If I feel confident in the value I create, feel good about my productivity and ability to have an impact and have my voice heard I probably have a great manager.
If I feel dread when I see a notification on slack from my manager, before I even open it, if I go into a 1-1 with my manager feeling any amount of worry, if I come out of a 1-1 feeling bad or demotivated then I probably don't have a great manager. Or I need to look at myself to see what I'm doing wrong, who knows maybe I'm the one screwing up.
- You're the CEO of the product. You drive the vision.
- You know your product from 0 to 100%. You know everything.
- If anyone wants something or know about one problem, you should be the first one to know this. Never go to team members.
- You should be able to identify problems, the source, before declaring it as "a problem to solve" for your team. AKA "false positives", "that's not a bug, that's the behavior", etc. Be the shield for this shit.
- People will use all kind of trickery to force you to do things for them. Learn how to say no. Learn how to prioritize. Remember you have your own interests to cover for your product.
- Always tell what you want to achieve, what is needed, how much time it will take and what will be the deliverable. The more defined the answers, the best for both team and you will be.
- You're the one taking the last decision. Everyone must acknowledge this.
- You should listen people, and rely on their expertise. They will tell you how to do something, but don't let them to change your high level achievement.
- Tell the people what you want to achieve.
- Call on people when they did stuff out of the planning. AKA: "I've been doing this nice animation, now the product looks nice", etc.
- Always talk individually, short meetings, instead big team meetings. Consensus always drive bad products.
- Nothing goes production without your approval.
- Enforce criteria acceptance: all features must be done according to the plan, not what the developers wanted to implement.
- Kick out toxic people from your team. The earlier, the better.
- Never let people insult you.
- If you happen to make a mistake, be the first one acknowledging this. Never try to justify incompetence. Always try to solve that to avoid new cases in the future.
- Try to help team members who aren't motivated. Talk to them. They're confused with their role in the project, usually.
> - Nothing goes production without your approval.
> - Enforce criteria acceptance: all features must be done according to the plan, not what the developers wanted to implement.
I wouldn't be able to work for you. Sounds you want to decide everything. But sometimes, the manager's plan doesn't work out as it was supposed to be. I've found that relying on the technical expertise of developers yields better results than forcing them to code line after line what the manager thinks is best.
Then again, some people probably like your style. To each his own.
Sadly again, this kind of free will leads to poor products.
The production thinng is imporant: you must be aware what you launch, do the internal communication, external, making sure things goes well. If you push to production features without approval you're basically creating a problem.
I think you want to be in a place where you can rule, meaning, being the CEO of the product and the one who make it. Maybe I'm wrong asserting this, but the product manager has to be accountable.
What I am trying to say is, it is better first to talk the manager if you think there's a problem or you want a feature than going to the team and bothering them with things. The manager has to be able to analyze your requests, check if there's a real problem, not a false positive, then mediate with the entire stakeholder things to allocate time to do your requests. The opposite would be you changing the scope of every person's agenda because you have the free will to move on to anyone.
Great managers give clear expectations. Even if you operate autonomously, they still provide you guidance on "this is what I expect, and this is how and when you should communicate <X> to me". Great managers also make time to clear up any doubt or uncertainty about a task. You should never feel embarrassed or afraid to ask a great manager for clarification or direction, their job is to give you those "good vibes" that make those conversations easy for you to start.
Great managers never onboard you by saying "you'll figure it out", or "welcome aboard, you'll find everything in the wiki". Great managers show you the docs, answer any questions you have about using them, and initially shepherd you towards where they need you to end up. This plays into the "clear expectations" quality I mentioned above.
Great managers (sometimes subtly) pair you with great teammates. They initiate cross-training themselves, and not by telling you to shoulder your way into someone else's domain. Sometimes they do this by making the other member(say, a DBA) responsible for a task they cannot do without your(the programmer) help. They might make the DBA responsible for documenting your help, or vise versa. This is subtle cross-training, where neither role feels like they are being pushed out or prepared-for-replacement by the other. Instead, you should end the assignment feeling like teammates that both managed to learn something new, from an experienced professional(the other person).
That's my two cents. For what it's worth, I didn't realize I had been a bad manager, until I went to work for one. As I found myself thinking of "geez life would be better if he/she did <XYZ>", I realized those were things I didn't do myself in the past. That made me really appreciate what life in the shoes of my reports must have been like. I didn't set clear expectations, it probably felt like a bit of a mystery gamble to the people who worked for me. I hate that for them, and no one could have convinced me I was doing it wrong - until I had gone through this experience myself.
In many places, managers are subtly discouraged/disincentivized from doing this by not being given enough power to properly reward their people.
Being granted poor rewards or being denied a raise or promotion by organizational powers-that-be for reasons like budget or priorities is a morale killer when your manager has given you nothing but positive feedback and affirmation that you are clearly meeting/exceeding clear expectations. Being able to say "well, you were given a lot of freedom, and you chose to pursue things that didn't have the right kinds of impact" is an easy get-out-of-jail-free card for a manager, and is only really effective if you've been stringing someone along with arbitrary mixed feedback and unclear or constantly shifting goals.
What I learn is that Without looking to much on how your manager work or does for you and your team,you have to see how are you improving in your skills and trade because of him. The best managers I work for made me a better professional and mindful about my own skills.
There are so many styles and ways to lead people, at the end the thing to look is how a manager made you a better professional and a better team member, and finally what you improve because of them
Lou Holtz  has a great quote about leaders:
"You ask every leader three questions:
1. Can I trust you?
2. Do you care about me?
3. Are you committed to excellence?
Think about someone you've always thought of as great leader and I bet the answer to all three is 'yes'. Now, think of someone you are having problems with and I bet the answer to all three is probably 'no'".
I think about that quote all of the time when interacting with managers.
One way to categorize management is into two different types:
The "widget maker". Here the manager is the smartest person in the group and they know more than any other of their underlings. Each employee is considered replaceable because the manager is the one that knows everything so it doesn't matter if a junior person leaves.
The "film director". Every member of the team is better than the manager at their particular speciality. e.g. the Special Effects head knows way more than the director ever could about SFX. That means that it becomes the manager's job to be the co-ordinator and get this disparate group of folks to work together towards a shared vision. In fact, part of the director's job is to make that vision and then communicate it in such as way that everyone wants to participate.
This goes both ways in that the "director" needs to trust the team members to do their best work and they, in turn, need to trust the director to "steer the ship" in the right direction.
Personally, I MUCH prefer the "film director" mode although there are times where it's nice to have a manager that knows more about a key part of the work than you do so that you can learn from them.
I work in an office, and prefer doing so as I like being around my colleagues. I find it easier to collaborate and, despite being an introvert, like being around other humans. I've had times when my manager has been on another continent and it's been the most frustrating thing for me as they're not just there, on the other side of the desk, when I need them.
* It's a person that I can trust, everytime
* He is always on my side, even with upper managers
* No micromanagement (he is in another office, far away from me)
* Very clear and deep communication (sometimes is a bit verbose, but it's okay)
* He can take reponsabilities and fight for them
* He always drive me to growing
* Care about people and feelings
* No responsabilities at all
* Care about end year bonus, not about people
* Using people to fight each other
* No communication at all
* Trying to exploiting people with tricks and hidden moves
* Arrogants and conceiteds
Give one example why you need to go against upper management. UM wants you to achieve their design, they don't want you to be free will and do what you think it's best for the company.
It's perfectly normal for line-level management to push back in cases like this. Failing to do so means that line-level management will be setting themselves and their team up for failure.
It's true there are companies where the CEO jumps on the role he wants and start changing things micromanaging.
A Great Manager is the firewall/proxy between you and the Upper Asshole. He translates the orders into something reasonable that works for you and that you can work with. He sees what you need, if you're in trouble, and keeps you from getting into big trouble by keeping watch. He jumps in if necessary to help out if he can.
The Upper Asshole I'm talking about took over in the end, because the Great Manager left and nobody else wanted to take over that role.
It was all about him. He lacked vision, except the vision on his bank account. He didn't like criticism, reacted offended, and scoffed you when you made suggestions. The result is that you start to care about the interaction, about avoiding interaction and limiting it to the absolute minimum. You stop criticizing, and keep your mouth shut. The result is Upper Asshole Tunnel Vision because nobody says "no" anymore. So all his ideas are great, and he knows how to do things, and if he would put his mind to it he could solve any problem and learn any tool or language in half an hour. That's either dillusional (about his abilities) or condescending towards his employees. It probably is both.
Now think about this for a moment: Upper Asshole Tunnel Vision. Visualize it. Does it bring good things? In the end UA spend a lot of money on lawsuits and lost lots of money.
- Lack of trust which leads to micromanagement and double-guessing
- Lack of professional and/or personal respect
- No interest in your career growth
- Plays favourites
- No enthusiasm for *his/her* own career (this translates into poor growth opportunities for you)
* If they listen. A manager that listens to your concerns, and actively works to help resolve them.
* If they give you agency. You should have the power to do your job and make decisions.
* If they help you grow. We all need help, and managers should identify when you need help, and work with you to help you improve.
* If they facilitate teamwork. Managers should be able to diffuse friction in a team, lead by example, and help promote more efficient work. A team can often self-organize, but a manager should know when to step in and provide direction when needed.
* Keeping an eye on the bigger picture. It's easy for team members to sometimes be lost in minutiae, and a manager should be able to redirect efforts toward making progress sooner.
* If they keep a cool head under pressure, don't bad-mouth others, don't intimidate or harass, and generally behave in a professional manner. (I don't know why I have to state this, but sometimes it's lacking)
* Helps run interference, mostly for inter-team or managerial issues. Employees should want to defer to their manager to help resolve conflicts. If instead people don't want to involve their manager, something is very wrong.
Success = fulfilling your mission within the rules of engagement.
Rules of engagement include integrity, morals, ethics. But perhaps also certain no-go-areas, resource constraints, other divisions' goals, etc.
Most CEOs focus on traits. Or on skills. They are doing 360 reviews. They get mentors. These are all good things to do. But they are a complex answer.
Bill Campbell famously called this "the right kind of ambition". Right ambition sees personal success as a byproduct that arises from success of the team and the overall mission rather as a worthy goal in its own right.
Part of ensuring the team's success as a manager is however being able to empathize with the team but not always doing what they (think they) want - this sometimes means having the courage to make horrible decisions that you know to be correct rather than make you popular and then communicate them in a non-weasely way. It doesn't help you sleep at night but it does help you to understand next time you read "Of Mice and Men".
The final point is help your manager by being as resourceful and positive as you can be, and making sure they know when there are things that are blocking you that you need their help on because you can't fix them by yourself.
- They knew their stuff (tech, system, user domain).
- They figured out the right thing to do.
- They communicated often and flawlessly.
- They did whatever it took to get the right thing done.
- They smiled almost all the time.
- They made each other person feel special.
- They made work fun.
- They were always teaching something.
- They called bullshit instantly.
- They protected their team.
- They inspired us by showing how good things could be.
I do not have any formal training as a manager, only as a computer engineer. But I focus on four things for my team.
1) I try to see myself as Archimedes lever. Instead of trying to be a bottle neck and program, I do what ever I can to remove roadblocks for my team.
2) I treat everyone as a person, and I try to keep them happy.
3) I give anyone in the team one on one time if they need it to discuss anything on their mind.
4) I establish how we organize and document the knowledge of our department, and I encourage everyone add to our documentation if they learn something new or if they see a way to improve something. This helps everyone in the team find information they need quickly and it helps with training new hires.
1) When they call me on my bullshit, do I listen and take it to heart?
2) Do they back me up, private & publicly, to other people?
3) Do they trust me to make decisions, and ask for help when I need it?
4) Are they looking out for my career?
5) When they have feedback, is it specific?
Essentially, great managers do these things:
- Create clarity
- Provide support and equipment
- Celebrate wins
- Build an atmosphere of learning and development
- Help cultivate personal connections
- Give developers the space to work in their strongest areas
- Listen to the opinions of the members on the team and make sure they matter
- Instill purpose
- Practice empathy
- Commit to quality
- No communication outside of routine things (assigning work, asking about deadlines, etc.)
- No vision or goals for the team or individual team members aside from "show up on time and get your work done"
- No attempts to encourage or reward employee development
- Doesn't effectively manage workload and deadlines (it's impossible to learn new things when you're always behind)
- Not receptive to suggestions, even less receptive to feedback/criticism
- Never fights for team members when it comes time for raises and promotions
"Great Managers" signal in a few simple ways....
1. Develop Rapport - they put in the effort, over multiple discussions, to build trust
2. Prioritize People - they put their people's desire to grow, ahead of other priorities
3. Establish a Process - they define (and practice) a clear protocol for communication, development, and growth
4. Stretch and Coach - they design growth opportunities and provide coaching
5. Deliver Results - they make an impact, hit goals, and produce value
Not even every company has the same expectations of an engineering manager. Some is more coordinating and facilitating, some is more team leadership, some is more talent development. None of those are wrong, either. It depends on circumstances.
This is a bit meta, but a great manager knows what the company expects of them, knows what their team is capable of and has the judgement and capability to make decisions when those don't match up.
Good managers offer praise in public. They offer critical feedback in private.
Critical feedback isn't necessarily the sign of a bad/mean/uncaring manager. (It's taken me a long time to learn this—and I still forget at times!) Important work often involves hard decisions, competing priorities, and so on. A good manager does not shield their team from this reality; they filter it appropriately and turn it into useful conversations, at the right time, with the right audience.
1) Sincerity - Sincere about their job, putting in the work reqd. and taking care of the "team".
2) Honesty - No unnecessary political games and being honest about one's limitations and strengths i.e. what they can and cannot do.
3) Trustworthy - A man of his word and understanding vis-a-vis deadlines, features and requirements. Somebody who can be depended upon to always be there when things get sticky.
Good managers focus on you.
One concrete example: I asked what are the requirements for me becoming a senior developer. Next time we spoke, he did not come back with the answer, but my promotion on the way.
Bad manager -
- Constant micromanaging - needs an update every day. Sometimes several times a day.
- Has little/no technical knowledge
- Takes most/all of the credit. Makes sure that he's the guy mailing the folks in other teams, not me
- Ends up asking me to fix the bugs of other teams, because he doesn't have the ability to confront others
- Behaves as if he grows because of my output, but not vice versa.
- Schedules tons of useless meetings.
- Probably not his fault, but work was pathetic. Just rote repetitive tasks and fixing bugs on a dead end project. I complained about it, but nothing happened.
- Has strong technical knowledge. In fact, he's probably the best code reviewer in the complete engineering team. He spots several errors/flaws that none of us would've spotted.
- He takes up all the grunt work, making sure we're spending our time productively. For instance, there was a recent mandate that everyone should update the jira page about their work. He mailed us saying - "Here's the mandate. However, you guys can just carry on with your work. I know what all of you do, so I'll update it periodically"
- Generally doesn't say no to ideas. A few times it so happened that I disagreed on a particular idea. Our team is not constrained by deadlines, so he asked me to go ahead with my idea. A couple of days into the implementation, I realized why my way is bad, and how his is better. This is my first gig out of college, so this is not something a veteran might face
- No stupid meetings of any kind and No micromanaging.
- Makes sure I get good, interesting work. I once complained that I don't feel challenged enough. He calls me into the office a couple of days later, asks me to abandon the things I was doing and gives me a really interesting high impact project.
One sad part is that the compensation is low and he says there's nothing he can do about it. However, he tries to offset it by other perks like giving more vacation (we have a flexible vacation policy), sponsoring conferences that I want to attend, etc.
I think when a person is knowledgeble, and not insecure about his position, he becomes a better manager than the person who knows nothing and feels constantly insecure as a result.
- An umbrella: Makes sure you and your colleagues are dry whatever goes on above them.
- A funnel: Makes sure everything bad from above hits you in the head.
When you talk to your manager, are you consciously aware of their title? Do they speak to you with that clout? Do you filter what you say based on that?
Your manager removes roadblocks from accomplishing tasks.
Your manager finds resources from other teams.
Your manager complements and shares your accomplishments.
Your manager does not allow other teams or managers to pull you down.
You can communicate honestly and openly with your manager.
Your manager does not lie.
Also, this is kind of a tautology, but people are not leaving your team (excepting larger industry or company trends)
I've had both in my past several years working, and the biggest difference to me is that you can tell that the good managers want you to succeed and go out of their way to help you succeed.
The poor managers expect you to succeed and diminish you if/when you don't.
- to make money now
- to learn new skills to make more money later at my current job or a future job.
As long as I have a manager that helps me with those two things as well as they give me a certain amount of freedom. I’m good.
The only appreciation I need shows up in my paycheck.
I don’t care how great of a person my manager is, if they can’t get me market rates, I am looking for a company that can.
The lesson - there's no loyalty for doing well as a manager. It all comes down to money. Even if the environment and work are great, if there's more money elsewhere, you are on shaky ground.
Salary compression and inversion are real. A company is more than willling to pay market rates to get a new employee but barely give existing employees a cost of living raise. I judge my manager on how well he can push for compensation for me.
They place a high degree of trust in their workers, and (and this part is crucial) they have a good system to obtain workers who merit a high degree of trust and reject those who don’t.
FWIW, i have never done this. I've always had good managers, who i would happily work with again. I've left jobs anyway, because something about the work itself was intrinsically unfulfilling.
Would appreciate any comments on this topic.
Input from customers at the right time.
Keeps the team together and customers happy.
Knows when the team must work uninterrupted.
Does her best to give you the best available workspace and tools.
The best managers are servant of both the customer and team..
- Takes your concerns seriously.
- Recognized your strengths and successes.
- Gives constructive criticism tactfully.
- Trusts the right people on decisions that affect the team.
Nobody wants a manager.
You could be such a swell person, but nobody wants to work under somebody unless it's an apprenticeship.
Therefore, the best manager is one you barely know exists.
i'm sure this varies with the level of manager, for example, a vp's requirements versus a first line manager might vary alightly, but these are the generic ones.
- Do you need anything from me?
- When can you have this completed by?
- What are your thoughts?
I.e. a good manager facilitates, helps you to become better, asks questions and is your most important ally.
- They help connect what you are doing to larger corporate goals.
- They facilitate communication.
- They help you get what you want out of the job.
Even the best manager can only do so much if the company is awful.
There’s no universal rule to “what makes a good manager” because that’s going to vary by team, company size, and culture. A flexible manager (but one need not be flexible to be great) can adapt to multiple situations where they need to be hands on with junior developers on one team, while simultaneously being the macro-manager for a senior team that requires blocking and tackling, not direct guidance. In other words, being a good fit for your team is an important place to start.
Another “universal” truth is feedback. That means demonstrating appreciative feedback very often, delivering coaching feedback as needed, and giving effective evaluative feedback on a regular (quarterly, semi-annually?) basis. This is the most common issue most managers talk to me about in my program, as they don’t feel equipped to understand how to do each of those steps effectively. (Check out the book Thanks For The Feedback for more info on this)
Another universal truth is trust. You and your manager need to build a trusting relationship (typically this starts in 1:1s, and is why they are so critical 99% or the time), and it needs to be bidirectional. The worst advice you’ll read on the internet re: 1:1s as a manager is that you should tell your team member “this meeting is for you, not me”. In fact, “this meeting is for us” is the correct statement. Think about any healthy relationship you’ve had in your life. They are always bi-directional relationships, where each party is putting in as much as they are taking out.
One of the key things I also harp on is around being “energizing” as a manager. Jack Welch has his “4Es and a P” framework for what makes a great manager. One of which is “energizing”. Whether it’s by running a team meeting that helps you see your purpose, running a one on one that leaves you feel buzzing, giving you that spot on appreciative feedback that lets you know what you did matters... Each of these things helps to keep you engaged and energized as a team member. When everyone feels that way, and is in sync, great things can happen. Sometimes at a rocket ship company the progression of the business is enough to do this and mask bad managers. If you ever find yourself at a company that’s struggling to grow, but your manager still keeps you engaged despite this, that’s a great sign.
If you’re a manager reading all of these posts and looking for help on how to build out these skills, my company runs a multi-week (2 hours every other week) remote cohort program to help you understand how to be an effective leader for your people. It’s a great way to network, learn from experts, and engage that desire to be a better manager. Hope you check it out: https://connect.eagerlabs.com
1. Knew the business logic. The role of a PM in my job is to get the BUSINESS requirements, and put them into a story. She took the time to get VERY CLEAR business requirements. (Yes, we are SCRUM, yes, we could tell her "that's not the best solution", yes we could change the plan). The problem is that most managers take "self managing teams" to mean "lol I don't have to do shit."
2. BECAUSE she understood the business logic and roughly what we meant when we said SQL/K8S/RabbitMQ/backend/frontend, she DID NOT PRESS FOR DEADLINES. As opposed to a super senior manager I got placed under next who constantly asked me to give the exact number of hours when the pointed story would be finished.
3. She did not throw all the blame on the team. She took personal responsibility for all the failures and said we did not plan it well. With that said, the team was endlessly loyal and went out of their way to keep her updated and do their work.
4. Trusted us and FORCED us not to overdo it. Whatever magical world HN lives in, a lot of places have "stealth overtime" - she avoided it like the plague. This also worked because she knew what everyone was working on and she knew we were using work time effectively. As a result, she didn't have theories about someone trying to slack off.
5. Planned things she is responsible for planning: Deploys (after getting out feedack), talking to other teams, scheduling meetings with third parties, etc.
6. Remembered "special occasions" - never made a big deal out of it, never made anyone else go do something - you would just get a nice thing YOU like on your desk for your birthday. I know this is petty and trite, but because it was just there, and you KNEW she got 6 hours of sleep and still drove across the city to get your co-worker his favorite cake, it had meaning.
6. When shit hit the fan, she worked OT with the rest of us - that way we knew she had a vested interest in avoiding issues. Most managers really do call you and go back to enjoying their day.
7. This weird and usually a mistake, but I could drop my professional facade around her, and she never abused it to get info or figure out if "I am quitting soon, etc." But she never broke hers, ever, which, I guess, only worked because we somehow knew she was human under there.
Anyway, this post ended up being a rant.
Edit regarding BAD MANAGERS: I think I am figuring some heuristics of bad managers as this spins around my head:
1. Hypocritical behavior - specifically treating us as incompetent when there is blame to be placed, and as rockstars when there is work to be done. Can't have it both ways.
2. Passive aggressiveness / failure to communicate. "Mr/Mrs. Manager is there anything I could do to help make your job easier." "No everything is great." Then it turns out that over 6 months, this particular manager hasn't said one good thing about anyone on the team and kept a calendar of the SDET's bathroom breaks, but never once did she tell him there was a problem.
3. Emotions at work - specifically, a common trait I notice is management being emotional / expecting you to sympathize and then immediately calling you unprofessional if YOU share something.
I guess it all falls under hypocrisy.
Great Managers are almost unconditionally great leaders. At the core that usually just means they are well liked by everyone and well respected by everyone that works with them. The litmus test on this is to ask yourself who you "go to" if you have a problem, who you think knows the most about the stuff you are all working on and/or who could help navigate though things the easiest even if they don't know about them.
Typically, they trust you to contribute without observation or correction. This doesn't mean that they don't believe in improving the people they work with, in fact they believe the opposite. If they are looking to improve their people or their team they will do it in a structured, safe, methodical way that will help get the best results possible.
Great Managers are crafters of a great environment. They use their people to make a place that is: inspiring, motivating, resourceful, thoughtful, caring, safe... etc- in other words, they let build an environment to help people do the best work that they possibly can.
Great Managers also know a manager's tool box, but they are also selective of when to use the tools. This can be things like one-to-one meetings, "team building", or Awards/rewards, etc. (on the positive side) ...or on the dark side hard CCs, "performance plans", the full gambit of power moves, creating environments where it sucks to be a bad employee, etc.
Another secret about a "great manager" ... they almost always have another great manager next to them too (even if it isn't in title). This is actually part of the reason that Y/C prefers co-founders. Having one person with ultimate authority over a group of people is a bad ida. Great Managers know this and keep someone around them with equal stature so that you have the opportunity to go to different people with different problems, AND so you can disagree constructively.
They are also humble. The are accountable to the customer, to the company mission, to their boss (who might be the customer), and to their people. When things start going bad they accept blame first, and when things are going well they give the credit to who it rightfully belongs to.
Additionally, They work harder than their people. Why? Because it is a privilege to serve the people that work WITH them. They respect the opportunity that they have in front of them.
Lastly, and this is a big one for me... they are willing to get their hands dirty. The work that needs to get done is owned by them as well. Many times, these managers were really good at the work they were doing and leveled up because someone above noticed that they might be good at teaching people to do that thing. In other words... a lot of times they wish they could be doing the work that their people are doing, not glad that they don't have to do that work anymore. This exists because they take pride in their work, and thats why they have no problem getting their hands dirty or learning things that might help YOU do your job better. For a GREAT manager, there is no crystal palace, there is shit to get done, and they don't care if its them or you that gets it done.
In that sense, great managers work for you, not the other way around. Yes, they might have to fire you one day because of budget cuts or some such nonsense, but you never doubt that they spend their time working to learn from their reports and remove obstacles for them -- most times without folks having any idea what they're doing.
ADD: If you're interested in learning more, a good book on teaming and how managers/leaders fit in is "The Culture Code"