It should not be surprising that most people have had more bad managers than good ones. Have you ever had a manager that you considered good? What did this manager do that you found good?
Looking back, here are some of the qualities exhibited by good managers I've had:
They were Subject Matter Experts
Showed compassion & empathy and were down to earth
Treated me like a friend
Mentored and encouraged me to push myself
Stood up for me
Provided honest feedback
Allowed me to be autonomous and did not micro-manage
Helped me when I was stuck & amplified my strengths
Treated every individual's failure as a failure of the team as a whole
Publicly praised and privately criticized
Top comments (22)
Avoided tearing down other teams even when whatever challenge they experienced were caused by that team
Great comment, I couldn't agree more.
I feel this is an under appreciated trait. It's so common/easy to hear people (or even be the one) bashing on other teams/teammates work. I am trying to work on this myself as I feel it's a key aspect of growing as a professional.
Not all of these were in one manager and I've had more bad ones than good ones.
Acted as a "spear catcher" for adminis-trivia stuff and pushed back from product owners and upper management.
Gave positive reinforcement rather than negativity
Did not micromanage
Was honest with the team and product owners and didn't try to lie or obfuscate bad news or problems.
Was accountable, meaning that they took responsibility for problems and didn't try to blame them on the team or elsewhere.
While I agree with your points, I do have a bit of an issue with your "Treated me like a friend" point. Based on my experiences, I don't think this works well. There's the risk of being accused of favoritism (or worse) in everything from work assignments to having to select who to fire when a "reduction in force" decree comes along. A manager can, and should, be friendly but they probably shouldn't be or act like an actual friend because of the issues it can cause over time.
That said, there are managers and executives who take it too far the other way, essentially acting unfriendly or aloof to employees. That was my experience at the last few companies I worked at. I never saw anyone on the executive staff outside of big "all hands" meetings. I never saw them speaking to anyone casually in the hall or breakroom. In contrast, where I work now the company president and executives frequently talk to employees and make a strong effort to great them by name, that's been a refreshing change.
Thanks for sharing your experience. I too have had (way) more bad ones than good.
I was hesitant to list "Treated me as a friend", but that is a quality I've noticed in good managers and emulated as a manager. It was a double edge sword. On one hand, it gave me the ability to build trust and get things done. On the other hand, it made firing that much more difficult.
However, IMO that isn't a good enough reason to distance yourself from your subordinates. I've had many difficult conversations without hiccups and didn't have to sugarcoat them.
At one company, part of the executive team and HR disliked the fact that I was close to everyone in my org. However, it shouldn't matter as long as one can get the job done. I'm not talking about being best buddies, but there's no need to be superficial either.
I've done this as a CTO and as a manager in other roles.
One that I found universal among very different manager styles...
1) Knowing, what one does not know, and be willing to admit it. (even if it is everything)
2) Recognising, and Trusting the advice and decision of those who do.
Especially in larger organisations, it is way more likely to have a non-technical manager, then a technical manger.
And if anything I learnt, that a manager mains worth is not in what they do directly, but what they to discuss / delegate / decide on.
My personal favourite tale, was one where I recently joined a small company where I was their only backend developer (they were originally more of a pure design / standalone app / frontend) for the financial industry. And their manager was also a owner. Whose main value is knowing the industry, rather then code itself.
By some "luck", the manager and sales team has landed (but not signed) a huge deal, on redesigning a major company internal sales platform. A deal so big, if signed, would have quite literally doubled or even tripled the company. They even had a list of resume's of (real) senior programmers they could immediately hire to help build this project.
Hence they were effectively giving me the requirements, as a final check.
Everything sounded perfect, except for one major downplayed requirement. All data transactions, need to be mirrored to the existing IBM DB2 database, which was stuck at some 199X build, and will not be updated (as it breaks the existing platform). The requirement was for both platform (old and new) was to be used at the same time during the transitional period of approximately 1 year.
When I saw that one requirement in the mountain of specs, and confirmed and clarified that it is mandatory.
I immediately sounded it out to the owner/manager, that it was a no-go!
Development licensing fees aside. There are way too many unknowns in the legacy build, with effectively little to no public documentation (note we were not an IBM vendor, hence we had no access to their materials). Of which we might not be able to find the needed developer who knows the quirks of that ancient build in our country, let alone through our recruitment agency. (Not to mention the giant furball of sharing a database with another application)
Or more bluntly, I, and the team do not have the tech to do this. While possible, my fear is it will lead to development hell, and drain the company to closure.
Naturally being the newer tech guy, with zero managerial, i was up against the sales-guy with some managerial experience, and technically my superior in the chain, saying its "no issue, its only a small part of the project requirements".
I in all honesty, thought I would be doomed to work on this project.
So it totally shocked me, that the next day the project was called off. As the owner said to the client : that the deal was off, if they require it to be full backwards compatible.
Much to the frustration to the salesteam, and the owner himself, as he has spent months of his own hard work getting this deal done. It certainly must not have been easy for him (as I would also learn personally in my own startup eventually)
Fast forward 1 year - and the "other vendor" which won the contract instead at a much higher quote, was stuck in development hell trying to get the system backwards compatible.
Fast forward another year - and the project was dead in the water.
Needless to say, with many projects down the line, I found that despite not "knowing or doing anything" but listening to others advice. (Even some against my advice, however it was in areas I admit I would not be the best to judge).
He was one of the best manager I ever had.
Sadly to many stories are of 'the other company'. Excellent job on your part picking out the minor line and knowing what it would involve. You saved your company.
In an industry such as software, I think it's imperative that managers are team players, can bring people together in a team and ensure that the team has the correct atmosphere. They need to bring the team together and encourage the team to work well and be open about things. Openness is something that's often overlooked nowadays, good managers should create an atmosphere where developers (and anyone working on the project for that fact) feel as if they can be open about things, bring up things they feel aren't working, talk about any troubles they're having and be comfortable with telling the manager how they feel about a project, whether it's good news or bad news.
Often the executive leadership sets the tone. I've been in situations where the CEO liked keeping a distance from all employees and believed in sugarcoating all communication. However, transparency has always allowed me to be genuine and helped in getting things done.
There were two truly outstanding managers I've had.
One was a genius, and he would basically go into meetings and solve all the problems for us if we couldn't. So maybe that doesn't count. Not everybody can do that, and in fact never seen anyone else who could.
We'd be in a meeting, something was holding up progress, he would ask us to describe exactly where and why we're stuck and then would casually say something like "how about you try this..." and come up with a really good solution on the spot. Sounds of jaws hitting floors... 😃
The best normal manager described his role as an "obstacle remover".
If anything would hold us back, he'd solve that, be it administrative or project schedule related
On anything we did, he'd ask for the ETA. Didn't reach the ETA, need to provide a new ETA. This made me think like a project owner, and get me out of the coder view.
He would take these ETAs to hold us accountable and to check on us, but never to blame anyone. Don't hit the ETA, it's fine, just provide a new one.
Different kinds of managers, different stregths and weaknesses. Project managers ("work managers") should always know how to run a meeting effectively, reach a consensus quickly and keep participants engaged and on topic. Also, it's great when they don't delegate communication but make it a point to talk directly to the people doing the work.
People managers don't necessarily need much expertise in the fields of the people they're managing, for performance reviews they reach out to the people you've been working with for feedback, compile that, compare and contrast with your current responsibilities and the direction you want your career to go. They need to be aware of what advancement opportunities are available in the company and what training and hands-on opportunities will get the employee where they're going. They need to keep employee idle time to a minimum.
Technology leaders need to keep up to date on technology, ensure the solutions are the best match to business problems, and keep contributions in line with the company standards (which they need to establish and communicate effectively). I'd appreciate a tech manager who leads by example.
General management traits are to set expectations appropriately, ensure good communication, establish a company narrative that is uplifting and engaging, and having a solid grasp of current and future state, and the path to get there.
Imho.
I like your article. I should say that after more than 30 years of experience, I've had many bad managers and maybe one or two people I can label as 'good'. Bad managers are only focused on their career, leverage from your work for their own exposure, and usually technically sub-standard.
Good managers are brilliant techies, give positive feedback, empower you with trust. A good manager is someone you're ready to follow.
Empathy is a big one. Clarity about tasks and expectations too. Dev wise IMO good managers provide autonomy for experimentation, meaning they’re room for failure without a “told you so” but offered additional tips to prevent similar failures.
Understood the tech debt, what it is and its effects on the future development.
I've had a manager who was so shortsighted that that person said we were workers in a factory and just needed to move the needle and not bother thinking for ourselves!
Corporate style FTW
What's the most a single one of them had?
There was quite an overlap in that list amongst good managers. At the same time, I should have mentioned that I've had way more bad managers than good ones. At MSFT, for example, I had 22 managers in 7 years and only two of them were good (and possessed almost all the qualities I listed).
OMG. A new manager every 4 months? Did you change teams so frequently or managers moved that fast?
I didn't change teams. It was a mess! There were so many reasons why this happened.
Upper management changes resulted in typical reorgs
Upper management going after shiny new objects
Sometimes projects just didn't make sense to continue
Projects/teams lost funding
Teams merged / reorgs
Competitors failed in that space, so the project got tanked
Managers moved on due to differences with their managers
After teams merged, managers moved on because they didn't like the new team
This was quite typical at MSFT, especially in Bing as they were constantly trying to play catchup with Google. Throughout all of this, employees suffered, careers got destroyed, etc. Those who could play the game came out ahead.
In a couple of cases, projects lasted only 3 weeks. There were big teams put together and employees were given all these big redundant speeches by 7 managers up the chain that it got old so fast! I didn't trust a word any skip-level @#$ said after that.