Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are the signs that you have a great manager?
585 points by rahulskn86 on June 20, 2019 | hide | past | favorite | 214 comments
Overheard that people don't leave jobs, they leave managers. I am relatively new to software engineering professional field (about 2.5 years).

15 years of experience here, an I noticed there is 1 main rule:

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.

This is so crucial. I've had managers who were ex-developers and I've had managers who are managers first and not subject matter experts. The unifying quality among the good ones was that they aren't really leaders, they're facilitators.

- 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.

> They shield you from product owners and stakeholders by meeting with them and giving you only the information you need

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.

It depends on how toxic the rest of the organization is.

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.

> I've worked at a lot of places like this, and I'm continually surprised people enjoy it.

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.

Wall of text incoming; I was trying to explore why I agreed with you and the parent post wholeheartedly while still finding some value in the "shield from the bullshit" concept, if perhaps not how it's commonly applied.

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.

Lack of transparency is just bad communication. I see "shield you from the bullshit" not as bad communication.

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.

And when something bad happens because of this rushed code, they'll tell you, "you have to do more testing", make sure quality is not compromised. "We can do automated tests, we can do them as long as it doesn't eat up developer time".

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?

Is it possible you read this as thy give you only the information you need without context?

I always give the why along with the request, but spare the noise.

As a person managing projects and also contributing as an IC, having a manager stand between me and my team’s PM was absolutely counterproductive. I know where they were coming from - it would have been great had I not been managing individual projects and needing feedback from the PM in a cyclic way on my technical designs before they were split into work items for my team. It’s incredibly hard to do something requiring good communication if you’re playing telephone.


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.

>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."

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.

In general the people being lead do realize they have a good leader/manager after some time, even if they tend to underestimate the effort needed to provide that level of leadership.

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. :)

Ultimately, your good manager needs a good manager in order to be effective. I run a department and have amazing support from the company president. Because of that, I don't have to play games trying to raise the visibility of the problems my department solves.

It works if the leader is a birthright aristocrat leader who has no need to justify his position, but still wants to be good.

The ancient wisdom didn't account for the politicking of corporations.

To be completely fair, there can also be situations where you have a very good manager, but still have to extinguish fires, overwork because of deadlines, etc. And the kicker is that the manager can't tell you that it's because of upper management because that would destroy morale even more, precipitating an earlier collapse than if they'd just kept their mouth shut (not to mention getting them fired).

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.

And the kicker is that the manager can't tell you that it's because of upper management because that would destroy morale even more,

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?

I agree with this one. The managers job isn't to hide it. The managers job is to push back, and then communicate to their team in a way that is honest without stirring up resentment.

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.

As a person who was a manager in the situation you describe, I disagree. My obligations are as follows: (1) to my co-workers/reports as fellow human beings; (2) to my work as a professional; (3) to the company that pays me for my professional services.

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.

To be clear: those numbered points are supposed to be in decreasing priority order, right? Colleagues > community > company.


> to my co-workers/reports as fellow human beings

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.

Of course. My only point is that it's not the job of anybody to cover for the incompetence of their superiors.

I was once on a team where our manager at the time was in another country, three time zones away from us. He was a great manager, but we were basically on our own. Our meetings ran long, got nothing done, and were frequent. Our sprint velocity was bad and always declining.

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.

12 years experience here. I dislike the idea of the manager as "the mayordomo" of the team. I like the idea of being a facilitator, but having in mind the last word is on them. Accountability must be enforced to avoid design by consensus.

The superior always has the last word, but in a high functioning team, I've observed the reports can often anticipate the choices of their leader, which is another step in leadership becoming both more effective & more invisible.

Absolutely this. I love playing this game: When someone asks me about doing something, I like responding with, "What do I want to know?" or "What am I going to ask you?" It trains them to start anticipating your thoughts and needs, and eventually to your thought processes and decision making.

One of my own techniques as a manager: if I'm not satisfied with an answer to my question, I'll just keep asking more questions.

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 do ask many many questions. Often I realized people fell onto "gut feeling" cases or other kinds of biases where empirical evidence never was presented. That's why it's important to ask.

Yes, thank you! I am seeing so many answers focused on bullet-point lists and completely miss this fundamental principle.

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.

The other part to this is that you have regular 1:1 meetings with your leadership (like, every two weeks or so), and you’re not terrified out of your gourd when it comes time again for your next 1:1.

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.

Oh man. I was a junior and had a (non-technical) manager that started as a pushover (yes, do anything you want) then compared me to a factory worker making doors faster. We outright fought in 1-1's for 9 months. Which left me emotionally drained most of the week.

I feel yah. My last 1:1 went for about 5 minutes before my manager started talking to me. He asked me if I had any problems, I said no, not because I'm problem free, but because he never does anything about them. That man sits 10 feet away from me this was the first time he said a word to me in 2 weeks.

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.

Honestly almost every project in my career (admittedly not as long as yours) has involved shit hitting the fan, etc. Often wonder if it's my fault or just the nature of the business.

At my current job shit has never hit the fan in my time working there. I have also never really been pressured by deadlines and hardly ever get distracted from what I'm working on.

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"

I think you should keep that in mind, this should be a two way street. If you notice a great manager, recommend him for positions at new companies. I might be wrong but I get the impression that job mobility for managers is lower than that for developers.

I totally see myself in this, finally after 8yr in the industry i had the chance to work with a very good Tech lead (manager) and it's a game changer.

This is a very good way to put it. When I switched to a bad manager, everything was an emergency, every day.

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.

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.

I don't know why, but in practice, I'm that manager. I constantly fight to provide planning which I don't have time to prepare, fight for things breaking here and there, fight for people onboarding team, fight with some of my own people who have become hungry of the project before I got in (and think I'm doing a super bad job), etc.

That's exhausting, super tough and even if I can say I have improved things a little bit, that's not funny at all.

Another way this could be said: You don't work FOR them, you work WITH them.

meh...this is like the bare minimum i would expect from a 'decent' manager, quite frankly.

edit: that this is the top comment indicates that there are an astonishing number of sub par managers out there.

With a great manager you get lots of work done and feel good about yourself and your accomplishments. You get the right amount of recognition for your work (not more or less than you want). You understand what's expected from you and you feel free to express yourself.

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.

This is really good advice. Not many devs think about themselves when discussing their managers.

>> 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.

> you feel free to express yourself

This. In my personal experience, connecting the dots looking back, this has been what made things good with a manager.

Yes, the hard truth: it might be you.

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.

In my case: when you move to a new role in the same company and you realize 3 months later that your manager is terrible, you start making comparisons with your previous manager and you find a long list of differences, the plus parts on your previous managers are all signs. The signs for me are: - I feel free to do anything I believe it is good for my company and my manager fully supports me after I prove I did the right thing over and over - my manager cares about me (this can be in different forms; my manager traveled half of the world just to have a couple of days of face 2 face talks; he is not the kind of guy to travel a lot) - my manager has a plan, a vision, that he articulates, we all know it and we all have input in it, so we all feel we own it - my manager takes (calculated) risks more often that others - my manager is trustworthy - my manager talks straight - I can call my manager at any time and tell him I don't agree with any of his decisions, he will listen and he can easily be convinced if he was really wrong (it happened usually when he did take decisions based on incomplete information) - I can call my manager any time and he will find the time to talk to me; he knows that if I tell him "we need to talk now" then it is something important enough to talk right now

> I can call my manager at any time and tell him I don't agree with any of his decisions, he will listen and he can easily be convinced if he was really wrong

This is the most important one.

> when you move to a new role in the same company and you realize 3 months later that your manager is terrible

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.

Where can I get one of these?

I feel it is the norm in Scandinavia.

The word leadership is “lederskap” in Norway/Scandinavia.

Leder => Leader

Skap => Closet (where the leader should be when everything is OK)

Leaderless teams / self organising teams

It's a huge topic in the study of management

One German guy that moved 15 years ago to Boston. One Englishman that is currently in China. One German-Brazilian guy that is a Jew and a UK citizen, working in Hong Kong. One Romanian. Quite rare in my experience, but they exist.

Germany, not France.

Disagree - some of the best managers I have ever had were in France. Some of them were even French!

As a manager myself, I'm going to post this evergreen I keep continuously revisiting every half a year. It's extremely concise while complete on every aspect I would have loved in a manager while being an employee. That's why it's my gold standard and the one thing I'm handing out to every new manager at our company.


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.

The concept of "mission" purely exists so you can disagree constructively with management. That's why it's so powerful...

> https://www.defmacro.org/2014/10/03/engman.html

Great article, I can see why you revisit this frequently :)

> Don’t > 7. Personally fix bugs and ship features. You have to write code to remain an effective tiebreaker...

Should "write" be "read" here? I'm not sure I understand this point.

I read that bullet point as "Yes, you should still write code now and then, so that you're at least loosely familiar with the code base and challenges, but don't put yourself anywhere near the critical path for your product."

> 32. Have difficult conversations as soon as possible. Waiting will only make a bad situation worse.

Gosh, that is so true and so hard at the same time.

Genuinely thank you for that link.

That's true, people leave managers not jobs.

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.
4. Never says immediate no for your ideas. Takes time & gives a thorough feedback

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'm doing all this, although after 2 years now I feel the very fact that I am not 'micro managing' is affecting our team's productivity. I notice my team is on social networking websites for a long time daily with some work (we all sit together), come late and go early, and I don't say a word to them and am always that 'cool' with them. I'm thinking may be that's a bit wrong on my part, but there is just no way to tell them these things without sounding 'uncool' and micro-managing.

Let me provide an alternative perspective.

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.

This is actually a difficult problem, because there are two kinds of slackers: (1) the kind that work less but produce roughly the same as, or sometimes even more than, everyone else (i.e., smart but lazy), and (2) the kind that don't work or produce.

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.

This is a real problem on your team and it needs to be fixed, likely from several angles.

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.

> Amazingly Bill does get work done, somehow.

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.

What I mean is that he produces an amount and quality of work that is comparable to other people at his experience and title level. In some ways better, in other ways worse, but on average, he is producing at least as much as his peers are. He's quite talented but lazy.

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.

simple, let Bill work remote. he still gets his work done, no one sees how much time his butt is in a chair and it improves morale on all sides.

This. A person that gets their work done is not a slacker. I mean when I was in university there was a lad that did nothing, doodled in his notebook, smoked a lot of weed every day. And then aced every exam. He didn't need to appear "busy" to accomplish what he needed in his mind.

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.

You misunderstood accountability with micro-managing! If they are using social media sites its their choice, you should not call them out, because that would be micro-management. But if the same thing is not allowing them to be productive call them out for poor performance. That's how you teach accountability.

Performance and, to a much lesser extent, accountability are not the easiest topics in software engineering outside of strict waterfall. Still, awareness of these is critical for teams.

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.

> 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?

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.

> 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.

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.

Yes, that's a good idea. Thanks.

They are engineers, it's normal. Is the work getting done? If yes, then who cares?

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.

Yes, the 'work' is getting done, but again I think it could be around 40% more productive. I do realize that we have to refresh ourselves time to time but when it's a long stretch of time on work looking at investment/finance websites, I think these are signs of trouble. Of course, no one wants to block anything from anyone, or have butts-in-seats time. But I think at "some level" little bit of accountability is needed, I will need to have that uneasy conversation in some or the other way :|.

"I think it could be around 40% more productive."

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.

Quite frankly, the time in the office is some of my least productive time, and I'm sure that is the case for a lot of other people as well. Most of the real work gets done in the car driving in, or in the shower, or laying in bed trying to get to sleep.

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.

This is helpful. I check linked-in just to see what exists fairly frequently and dress in random attire depending on what laundry is done (sometimes really nice, sometimes shorts).

I'd never really considered it as something that meant that I would be leaving.

There are many resources describing how to have this conversation and do it well. I particularly liked Crucial Confrontations, now titled Crucial Accountability. I use its techniques daily with my team and it’s obvious that my boss uses the techniques with me.

How productive do you expect them to be

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.

Your job is not to be their friend, your job is to make them as effective a team as possible by identifying impediments to them becoming their best selves. If their work is being done, objectively you should know this, then your next task is to find ways to improve the with being done. If there's enough time to socialize then there's enough time for improvement. This is where you find time for projects that might not work, experiments that might improve quality, quantity, or just improve the overall experience for you customers and team members. There are tons of ways to be firm without micro managing.

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.

I see the long discussion about micro-managing, but allow me to suggest that addressing that employee’s problem may not micro-managing at all. Micro-managing would be saying something if you ever saw Facebook on their screen even once, and doing it every time. But seeing a clear pattern, and feeling that their behavior is being noticed by all and affecting team morale, that is a real problem that needs to be addressed, and it’s not micro-managing to try and fix it.

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.

"3. Pushes you for taking up bigger assignment even if you don't feel confident."

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.

I realize now that this is also why I left the company where I've worked the longest. Fun company, but at some point I noticed that my job was going to be to maintain all the legacy sites while a separate team was doing all the exciting cool new stuff.

Can relate. Tho, I will add that, often, I've realized how the onus actually lied with me in asking for more challenging work. In my case, I felt that I wasn't clear with what I expected.

I’d toss an asterisk onto #5

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.

Generally agree, except for: 10. Has a very good understanding of stack/technology/project you are working on

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.

This question has huge cultural variation. I think you need to specify the cultural region first.

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

* charismatic

* 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

I read a great piece a few years ago outlining the notion that everyone should have two managers: one performance, and one pastoral. Often times those two elements rarely overlap, and often contradict.

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).

A good cop, and a bad cop. A buddy and a taskmaster.

The simplest answer to this question is: You generally enjoy your job and get paid enough.

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.)

What you call 'a little drama' is actually just holding people accountable. It's not unusual to have the same expectations of others that you have for yourself.

I guess what I'm trying to say is, sometimes it's fun to push back on the slackers!

It's kind of like enjoying a spicy meal, or an extremely bitter beer!

It's also often valuable to the ones being pushed back on. Lots of people will just complain and never directly confront the problem by explicitly asking for consistency in information communicated. I much prefer co-workers who will provide direct feedback in lieu of the "inform the manager route". If the problem doesn't correct over a reasonable period of time, then involve a manager.

"Great" is probably not a good term to apply to a manager because it panders to an unhelpful "David Brent" mentality. As this thread ages, you will probably notice a lot of managers detailing the ways in which they are "great" (typically couched in terms of "aspiring to be", since nobody wants to be seen as a pompous egomaniac).

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.

> 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.

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 translated "manager" into "leader" for purposes of answering the question, trying to fall back on many years of observing other leaders.

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.

I have had a good and bad manager! Here are the traits of each one

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!

> doesn't like when people go on leaves while he himself enjoys vacation twice a year

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?

> 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!

ahh it ocurred to me that i might be wrong, but repeatedly hearing from expat friends how americans find the number of vacation days in EU shocking, i decided to poke anyways

But India has the same tech work culture like US but startups in India are worst, I was talking about the product based startup I worked at - cool tech, cool work but horrendous vacation policy! Don't even ask me about vacation scene @ Service based Indian companies!

I thought the same. I think 10 days paid leave is considered competitive in the US. I’m in the UK where 25 days is considered competitive.

28 Days is the minimum in the UK and I had well over 30 from day 1 when I started at RELEX (reed Elsevier).

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.

10 days is garbage even in the US. You take it, but you grumble about it. Partially, nobody in the US knows how to value vacation, I think. So even highly paid people kinda shrug at vacation and don't really factor it in.

>Partially, nobody in the US knows how to value vacation, I think.

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.

Just did some test trips of that distance, and for me (based in Chicago) it would be about $200 for flights of the same distance.

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.

We have a similar minimum in Australia to the UK, and our airfares are considerably more prohibitive than the US.

Its easier to get vacation in US compared to India. Managers in Indian IT companies have a target that x% of their team must be billable at any time (or at least that's what they tell us), and use that as reason to deny our leave requests.

This isn't the US, this is human nature. Or rather, "bad manager" nature. A dystopia would be where everybody was a bad manager.

It depends on person to person.

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.

I had one bad manager, and one good one.

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.

Interestingly, we don't get to judge objectively what a good manager is, but we can tell what the effects are.

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. :)

Two former employees came back to work for me. Five former employees went on to great careers, two of whom I "fired" with instructions to leave me and pursue their dream. I have many weaknesses as a manager and as a person... But developing talent is the one thing I'm most proud of.

I think a lot of the characteristics that make a great manager really depend on the team dynamic, but my favorite managers have generally had these qualities:

- 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.

On a Sunday evening, you find yourself looking forward to getting into the office on Monday morning.

The best managers I’ve had have been formerly great engineers, or Product people who understand the importance of engineers. I’m sure there are good managers who were not god engineers, but it’s certainly harder for them to grow into such a role.

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.

>>> 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...

They're the only ones who didn't want themselves to be the "managers" yet still do the job with a smile on their face.

This is thankfully the case in 99% of situations, but I'd like to add on top of all the comments: technical proficiency is super important to me. Having a manager that doesn't understand the details (or even basics) of your work is super tedious to work with.

I can only speak regarding my current manager since my interactions with my previous managers were few and far between, but here are a few things I have noticed:

* 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.

As a few other people have said, a great manager sees their job as ensuring your (and your team's) success. A poor manager sees your job as ensuring their success. Everything else flows from that.

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.

Having a great manager is inversely correlated to how many times you ask yourself "Why the fuck are we doing this?"

Key factors in my mind:

* 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.

- you find yourself actually doing your job and not theirs

- 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

A good manager:

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.

My 12 years exp. being manager:

- 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.

> - If anyone wants something or know about one problem, you should be the first one to know this. Never go to team members.

> - 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.

I said "you should rely on the team expertise". Sadly, you're reading it wrong: if the criteria acceptance says feature X must output Y, then if we see that it outputs P just because someone didn't liked the initial agreement, then it is not teamwork, it is what you want to do.

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.

> If anyone wants something or know about one problem, you should be the first one to know this. Never go to team members.

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 do a lot of things...but I'll talk about a couple of them that matter to me at the moment.

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.

> 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".

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.

I recently experience a great manager after 11years working as freelancer and employee and I have seen a broad range of great and deeply disturbing managers.

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

I've had 9 managers in the last 4 years and I'm going to make two different points about good managers:


Lou Holtz [0] 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:

Type 1

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.

Type 2

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.

[0] http://triplecrownleadership.com/the-3-questions-asked-of-ev...

On a somewhat related note, I'm curious what people think of having a remote manager? Either they're in another office/timezone, or you work remotely.

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.

I am about to leave a company made by very bad managers, even if my line manager is great (he is a former rugby player and rugby manager, then he really know how to manage a team).

Good manager:

* 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

Bad managers

* 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

* Manipulators

* Arrogants and conceiteds

> He is always on my side, even with upper managers

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.

Upper management is not omniscient. They may want you to achieve their design in an unrealistic timeframe or with unrealistic resources. Their design may not be technically possible.

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.

I never said they're omniscient. But it sounds bad middle management than C-LEVEL bad management. When things are asked to be done, there's a process to know this. Nothing starts, at least, in serious companies, without measuring the scope the project, the time requiered and the amount of resources (maybe you need to hire more or something pro on that area) to achieve something.

It's true there are companies where the CEO jumps on the role he wants and start changing things micromanaging.

I worked at several small companies. One had good management, and I always was aware of that. I didn't always agree with them, but they treated me right. Another small company had a Great Manager and an Upper Asshole.

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.

Here’s the problem... when the Great Manager leaves, the people they protected rarely survive. (And Great Managers rarely suffer UAs for long) It’s a fine line between filtering the noise, and sheltering from corporate realities.

One way I look to answer these questions is to invert them. I'm asking myself: "What are the signs that I have a bad manager?". A few off the top of my head:

  - 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)

Some of the following is "team lead" stuff, but sometimes the manager and team lead are one, so...

* 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.

Stating the obvious, but: if nobody in your team is leaving and or forced to leave, you are likely to have a good one. If a lot of people go, you have a bad one.

Not necessarily, it might be that they quickly grow and get placed into better positions

Jocko Wilink: "Instead of asking 'Am I a good leader', ask 'is my team successful'."

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.

They're positive in the face of adversity but always realistic. For example, the software you're working on fails 10% of required tests. A manager once said to me that it's the nature of engineers to focus on that 10%, but he always likes to remind them of the 90% that passed, and will accomodate the team to see the remaining 10% pass too.

They aren't just a stooge for the next layer up, brought over from their boss's previous gig. Every executive has their "enforcer" guy/gal that they bring over so they themselves don't have to do the trench work of actually managing people. Seen this movie so many times.

I once had a manager try to recruit me for this purpose... literally tried to feed me what they wanted me to say when discussing implementation approaches - so they didn't look like the one trying to push an agenda... Hinted at a promotion if I played ball. When I gave my own opinion instead - they stopped talking to me entirely... So, yknow - disobedience had its upside.

- They always told the truth (to everybody).

- 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 have been managing for the past 2 years and my team is up to 8 full time and 2 interns for the summer.

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.

The biggest signals I pay attention to are:

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?

Here is a great book on the subject: https://smile.amazon.com/First-Break-All-Rules-Differently/d...

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

Never had a great manager, but I can tell you what makes a bad one. Sometimes knowing the opposite of what you want can be just as helpful:

- 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

I've helped develop 20+ first time managers, and coached/mentored many more...

"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

I am not sure if people generally know what they want from a manager. I think it varies between company, organization, team, and individual.

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.

I currently have probably my best manager yet. She takes the time to actually understand what is going on from my perspective, and she does that for our whole team. Empathy. Moreso, she's also always coming up with new variations on meetings... Like at the end of sprints we do a new Retro exercise. She comes up with 10 or so funny cool names for each sprint and then we all vote on them. Things like that. She also advocates for us when we have a technical opinion and feel like we cant get it passed through on our own. Stuff like that.

Many good comments in this thread! Here's a practical item I'll add:

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.

People connect at a basic intuitive i.e. "gut" level and thus i consider the following character traits as the most important;

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.

Bad managers focus on them.

Good managers focus on you.

They take care of you and take your problems seriously and act on it. It feels like they are serving you instead of you serving them. They care about your career path and act in the best interest for you. They trust you. They might even do things for you which you already forgot you asked for.

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.

I worked with a bad manager and currently work with a really good manager. I absolutely hated coming to the office working for the bad manager.

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.

Good manager - 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.

Here is one facet, your boss can be either:

- 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.

They don’t touch you inappropriately and have a healthy respect of boundaries not limited to personal space. Don’t have a history of complaints of inappropriate behavior. Don’t retaliate & gaslight for complaining about hostile work environments. Don’t encourage mobbing & harassment especially among impressionable fresh grads/jrs. Don’t pursue sexual relationships with direct reports/subordinates.

In a larger organizational setting, your manager probably has a title that reflects their level and/or seniority, such as principal or general manager. Or at the very least they'll have something in their business card, like product manager of foo.

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 understands what you are doing and why.

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)

Agreed with the comments about a good manager being at the service of the team, rather than vice versa.

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.

I go to work for only two reasons:

- 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.

I up voted this, because this is my experience as a manager of small development groups. No matter how much I mentored, blocked, told people leave when they are stressed, or just plain worked to make my devs successful, in the end it was give me more (money, perks, whatever), or out the door they went.

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.

Its not about being loyal to the manager. No matter how good you are, there is no such thing as the company being loyal. The company wants to extract as much value out of the employees as possible. Their ultimate goal is to please shareholders or investors. The company wouldn’t think twice about laying off employees, or not paying market rates if they can get away with it.

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.

Formerly titled "Three Signs of a Miserable Job": https://www.tablegroup.com/books/signs Illustrates dynamics (on which managers have great influence) of a satisfying work environment.

A good manager doesn't tell you what to do, but asks you what you need. A manager should be a facilitator, not a micro-manager. Provide you with the resources you need to do your thing. Juniors need more active guidance of course, but they should be getting that from seniors rather than managers.

Project Oxygen is worth checking out. It was mentioned in "Work Rules" by Laszlo Bock https://rework.withgoogle.com/blog/the-evolution-of-project-...

In my three decades of professional work I’ve had three excellent mangers. They all share one trait.

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.

> Overheard that people don't leave jobs, they leave managers.

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.

There was this pretty good thread worth reading through: https://ask.metafilter.com/300002/My-best-manager-did-this

Certainly when your manager knows that estimates mean estimates, not deadlines. But I guess that's the dilemma in false-agile fixed price big ball of mud consultancy business, you have to give a commitment.

Would appreciate any comments on this topic.

It's absolutely correct. When people leave a job it's usually due to a bad manager which can be confusing because sometimes upper management will say a manager is great, but everyone below him thinks he/she is awful

A great manager helps you to get the job done.

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..

- Arranges a good progression of projects that will be challenging but doable, lead to career growth.

- Takes your concerns seriously.

- Recognized your strengths and successes.

- Gives constructive criticism tactfully.

- Trusts the right people on decisions that affect the team.

Think about it: managers are only something other managers create.

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.

Knows where you want to be in the future and does everything to get you there. If you don't know, they show you the options and give you a taste of different responsibilities.

without reading any of the comments, i would say this manager actually cares very much about your personal development, this person has a good pulse on the company/product, this person has relevant experience where i can learn from, and this person exhibits fairness.

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.

The best manager is no manager. If you must have one, then the second best manager is one who connects you with the right people and improves your career.

- Who is best to lead on this?

- 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.

Great manager? Not sure, but some managers will take the best space in the office and some will take the worst. And it's not about the space.

Good managers see you as team members instead of labor force. They ask for your advice and act accordingly to help you grow in your career.

Be mindful of attribution error when working with a manager, whether in good times or bad. The situation (context) really matters.

A great manager does a few things:

- 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.

They fix bugs and leave you get on with the main job instead of delegating bugs to you

Do you mean that you do not consider bugs in your software to be your job to fix?

If you refer by bugs human resource type things then yes. In software bugs should be fixed preferably by the person who has most knowledge of the area affected, I think...

Where's your accountability? This what motivates is rushing carelessly because Manager X will fix your rush for you.

Those that help their team be a better team vs those that help their ego.

Great Manager = you don't feel like moving to other job / team.

When it feels like you're working with them instead of for them.

people also leave jobs if jobs they are going to are more money. but yes as a general rule people leave managers or company cultures.

Even the best manager can only do so much if the company is awful.

Well, if you don't know, chances are you haven't had one.

I’m self employed so my manager is me. He’s not a very good one.

a good manager is concerned with you as a person, because if you do well, you will work well. a good manager is a people manager. sounds logical, but it's rarely seen.

The idea that a company of any significant size can survive with a single manager, and that that manager might benefit from being having a small stature is laughable

Things 'Just Work' organisationally

I talk to managers every day as a part of my free mentoring program for managers (info in my profile, although I’m booked till the end July), and I’ve spoken to 60+ people from 12 countries since this past February when I launched. Many of whom are from right here on HN! A few thoughts.

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

I had the best manager of my life recently, so I will try to list some of the things she did/was, all of which seem obvious in retrospect, but I have never seen another manager actually do them holistically.

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.

Time management.

Here's some things I've picked up that might be useful. For context, I've worked roughly ~35 jobs since I started working (illegally) at 13. This includes all kinds of work including manual labor, food service, construction, sales, and dev/tech work currently.

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.

They accommodate your technical interests/desires and make sure that you have what you need to be productive. A good manager fights red tape for you and facilitates personal growth.

The same as what makes a great spouse. No one knows. It's different for everyone. Not all work out. Some will be unhappy and leave. Even the best of people.

That you never worry about them. You don't worry whether you're doing the right thing or not, or what they're reporting about you to others. You don't worry about their approval or whether they're going to accidentally create obstacles for your work. Due to circumstances outside of everybody's control, great managers may be forced to deliver negative news and have unpleasant conversations, but there's no part of that where you feel they might be hiding something or letting you down. Great managers function seamlessly with whatever you're doing as if they were just another part of your body. They're an extension and natural part of whatever you all are doing, not a separate entity that adds complexity, drama, and stress to things.

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"

Applications are open for YC Winter 2022

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact