Margaret had all the hallmarks of an incredibly great manager. She hired for potential (not past achievement) and gave employees every opportunity to grow and pursue our passion as developers. This allowed me to pivot and grow into web development, which was not in my job description or past experience. She never micromanaged, even when a deadline was approaching. She never demoed a project or took credit for something she didn't build herself. Like my teammates, I had to demo every product I built -- which was challenging but forced me to grow in public speaking skills (and she coached me the first few times). This also allowed me and other team members to gain recognition throughout the department.
She very effectively protected us from HR and whoever else wasn't on the team so we could focus on our work. A few times someone tried to ask us for help with someone else's project without asking her first--she was furious. She also fought (very effectively) with HR and management to get us raises that better reflected our increasing market value.
I owe my career and present livelihood largely to Margaret and the opportunities she provided me. I'd be remiss not to acknowledge God's obvious provision to me in her. Thanks so much Margaret, and thank you Lord.
I don't know the companies culture and the people who asked for help, so maybe it was a good reaction at the time, but in general, I would advise being cooperative towards other departments.
I think my current workplace suffers from too much team defensiveness + not having a CTO or equivalent to integrate across teams.
Were someone to come to me with a request that looked to have the potential to be a big time sink--or if I was getting overloaded with too many one-offs--I would definitely have a discussion with my manager at that point.
It was just outright bizarre that someone would not even write one line back to say "dude, hold on. I can't do anything without my manager's sign off". Like anyone not in their immediate team was an outsider they wouldn't talk to.
Having multiple people that can give you contradictory orders about how to spend your time makes for a miserable job experience. You either work overtime to meet both sets of demands, or you get negative feedback from one of your "bosses" for not completing their tasks. It's the manager's job to prevent this, and it's important that they do so.
That is different than a 'No, I don't have time for that.', as it teaches how to do it right in the future, and your boss doesn't have to get furious because everything that happened was that the team informed the org about the regular process.
I have worked enough time in the midst of a QA team to know that planning is essential to their job. Nevertheless, a team lead which is going to be furious because you didn't use the correct process isn't someone you want to ask for help. So, in the long run, it might cause more problems than it solves.
In other casss, being too standoffish causes local optimization (“look how efficient my team is!”) at the expense of the broader org.
Bingo. That combined with the odd guy from a completely different department coming over and singling me out for help (at the time, we were the team pushing the envelope with what was possible on the web).
That being said, (a) Margaret always offered our team's help to other teams, and we frequently spent large blocks of time assisting with outside projects. But there was so much demand for us that she had to insist they go through her first; and (b) of course we could answer people's questions and assist them for a few minutes here and there. I'm talking about requests like "hey could you do this work for me", where it ends up taking several hours or more.
My point, though, was that she protected us from outside demands so we could stay really productive.
This depends entirely on intent, no? If they simply got it wrong, that's one thing. If they were intentionally subverting the 'chain of command', that's quite another.
I'm sure this is similar to a software workflow with QA, where every developer is vying for limited QA time, so I don't think "getting furious" is too far a step.
That sounds strange. Didn't you ever work on a product with other developers? Who demos in that case?
And what would be wrong with a manager demoing a product that was built by a team he/she manages? It seems to imply that the manager should have no sense of ownership, but a good manager is absolutely crucial to the success of a project. Taken to the extreme, it would imply a CEO of a company could never demo a company product he didn't "build himself".
I don't think it's a fair to compare an internal demo of a team's work to colleagues with an external demo of a company's products to journalists and the public. To take your reasoning: marketing and sales should also be done by engineers, which is not the case.
Not every demo was done by the developer, but they had to learn how to present their work too. (“Had to demo every product” doesn’t mean “did every demo myself”.)
it's obviously better for the engineer to demo their own product. not only does it feel like you have control over your own product but it also gives a face to the project.
Again.. rarely does an engineer create a product in a vacuum. Usually a few disciplines contribute to the project, and a manager can be absolutely instrumental.
And of the various creators of a product should be candidates to demo a thing. The right person certainly depends on the nature of the product, the team dynamics, the audience of the demo, etc.
I for one wouldn't want to work somewhere with some kind of rigid "engineer X owns product Y, manager Z is just a manager" kind of culture.
That may be rare, but that’s what people on our team did... multiple times. For my own part, for each of several products, I wrote the project charter, interviewed potential users and stakeholders, created UI comps, built the app (database, server side, front-end), managed the server VMs and infrastructure, negotiated and built 3rd party integrations (when necessary), wrote the documentation, gave the demos, supported users, and released updates for years afterwards based on feedback.
It wasn’t a culture thing as much as a necessity. We were a team of 10 with 3-5 projects in development at all times, and nearly 30 in maintenance/support after several years. And that on top of normal QA activities.
In retrospect, I think Margaret intentionally had us handling such breadth individually in order to set us up for success as much as possible (several of us she had hired straight out of college). I didn’t realize it at the time, but the QA team didn’t have to do all that stuff to begin with. The demand for it only began to really increase after we had released several projects that had a significant positive impact on the department.
- push you to your limits (public speaking)
- shield you from management/bigcorp bullshit
- hire better people than themselves
- don’t take credit from you
I've heard that memorably described as managers either being "shit umbrellas" or "shit funnels".
I haven't met any manager in years that hires for potential.
on contrary, bad managers use this excuse that they are protecting you from politics to hold on to important pieces of information from the team so only he has the complete picture of what is going on. I am highly suspicious of managers who keep saying this.
I didn't say that though, I said "important pieces of information" . You made least charitable interpretation of what I said and called it 'ridiculous'.
I am not saying all but i've seen managers use this excuse to justify withholding information to justify their usefulness to the project.
When the company's executives forced her to fire 95% of her staff, I can only imagine the turmoil she went through. She fought like hell to keep it from happening and then they overruled her and made her do the dirty work. She was also tasked with making sure we trained our replacements - IBM consultants in India. In doing so she gave us everything we needed (ie time to go on job interviews or take online courses) and was very clear that she was on our side, likely in defiance of company brass.
As a result, before the layoffs, we were good - easily the most advanced, innovative, and best performing group in the company. We really pushed the envelope despite strong forces outside our group pushing the other way. We were strapped for resources but we always made things work. She refused to take credit for it - "It's because of you guys; I'm really lucky to have an amazing team" but we knew better. We were really lucky to have an amazing boss.
I was always appreciative of her but after that experience of being laid off which was in early 2016 I feel such a strong sense of loyalty to her that if she got a job running a trash dump I would not hesitate to quit my current job (which is great) and go work for her picking through shit for minimum wage, just to be on her team again.
That seems to be the theme with me as well, all of my best managers and supervisors shared this trait even if I disagreed with them in other ways.
Corporations are by design inhumane but humans can change this, often resulting in better performance.
So, being inhumane is lazy and bad roi :)
Best manager I ever had.
That sounds pretty horrendous to me, I would wish her all the best and leave.
Winston Churchill is the most famous example of this. He was a great leader during wartime but terrible during peacetime.
If the team had failed in the end, all of the qualities that are presently being lauded would be held at fault. True morals may not be relative and situational, but the average person's mental implementation of morals sure can be.
William Tecumseh Sherman, of "Sherman's march to the sea"
We don´t know if he would have been a good or bad leader during peacetime (by the time the conservatives got back into office he was no longer in his prime shall we say), but what he would most certainly have been is a leader with a lot of experience in dealing with Stalin, and a British Imperialist. Which would have been entertaining at least.
Most of that is "blank slate, let's start again" with expectations made clear. Obviously that was lacking in this place.
When you've got people successfully blaming others for their own failures, this manager, with experience on the front lines, did the most effective thing to remedy that. I'm sure nobody got fired for someone else's failings after that.
The aftermath was that a few people left the company for better jobs after we shipped (unavoidable, some had set their minds even before she joined and actually stayed longer because of her). For the rest, it was promotions. The engineers on a PIP exited the PIP by being promoted(!), were allowed to move to their favorite projects. Even the scheming engineers who turned us into a toxic team got promoted for the work they did under her management (though personally I think they should have been shown the door for their attitude). Manager moved to a more prestigious peacetime team, where I am sure she runs things differently.
There arguably are less blunt ways to do it - but for that team, it seems like it was the right approach. Also, OP is presumably overstating the need to be typing all the time since that's not how programming works.
This kind of thing generally works where there is underlying sense of duty, or impetus to win.
The WW2 film 'Twelve O'Clock High' where an Air Force General comes in an sorts out a demoralized and broken unit is used as training in various militaries to depict this kind of leadership on a higher level.
But 'reprimands' etc. tend only to work when there's a higher calling. Like winning a war.
For salaried teams - even if the team is being a little dysfunctional ... just might lead to mutiny, exodus.
From what you described I'm very surprised that the team didn't fall apart, or that the product was shipped.
A few things:
1) If the team was that utterly toxic, and people were openly backstabbing others ... this is not going to be fixed really. Those people are toxic they need to go.
2) Changing culture 'in place' is really hard with regular people. You can't just come in and play hardball with carrots and sticks. An alternative would be basically re-org the whole thing. Even having a different physical presence, maybe different team structure ... even if it's kind of a facade - a new work dynamic might set up people towards thinking of a 'clean start'. So instead of 'penalizing' people for coming in late etc. you have a new team dynamic in a new operating environment where 'everyone agrees' to more specific hours for the betterment of the team. A good idea would be to 'listen' to some of the problems, even if there's no action on it, just the act of listening will help.
I think you're lucky ... your 'no nonsense' manager is very lucky and this approach I think can only really work when there is a specific kind of dysfunction. I think if you have younger developers, all of whom lack self discipline but are otherwise good team members, maybe who need just a little bit of a kick in the pants. But I'm glad you had a good experience.
The best manager is the one whose only focus is for each of the team members and the team collectively to be successful. In some companies or teams that may be removing distractions or introducing accountability or getting rid of a bad apple or .... The problem is that we as humans generalize and the first success a new manager has is seen as the best way forever no matter what because it works. That way lays madness.
Hopefully she transitioned to a more compassionate and positive management style after whipping the team into shape, instilling discipline and earning their respect as an effective leader.
When a manager tells someone what to do, that person is personally assuming the responsibility of deciding how the work must be done and, of course, being accountable for failing to deliver.
Prefering to have the manager be held accountable for managerial decisions is not masochism. In fact the opposite, having to decide what and how work should be done and having to answer for your decisions, suits that definition a whole lot better.
Being honest, I've had one job I wasn't a good fit for myself. But the dot-com bubble burst took care of that one relatively quickly.
Very sorry to hear that.
Yes, but what happened to the product?
Well, the CFO that month had asked for some changes to the sales feed. And it was my first month on the job. I think I must've tried to put in the change requested- but came month end- I screwed up. At 5pm that day I raised my hand- literally for help. I had screwed up bad. That month's sales feed was un-usable. It had literally been rejected by the mainframe downstream.
My manager came over- and instead of placing blame- took over the situation. She made the calls to the downstream people- and asked that they take the same feed format from the previous month. Then I restored the previous month's program and resent the feed for that month again. She covered my ass to the CFO- and saved my hide.
She earned my respect that day- and my everlasting gratitude. From linked-in, I see today she is the CIO of one of the federal reserve banks in the US.
This was a new team with an early standup which never happened on time because we would always roll in late. The scrum master had the 'great idea' to start a dollar jar. Whoever was late to standup had to put a dollar into the jar. None of us objected because other than the scrum master, tech lead, and manager we were all new to the company and didn't want to rock the boat.
This turned out to a huge problem for one of the engineers. She had to drop her kids off at a daycare that didn't open early enough, so she was late ever day. We mostly fell into line but she didn't have a choice. It wasn't the money, but the public shaming of having to go up and put the dollar in the jar. After a few weeks she was really stressing out about it because she was new no the job and wanted to make a good impression.
Well the tech lead saw this and sauntered into the office at 11 the next day. He flourished a twenty dollar bill and then announced so that the whole office could hear that he was pre-paying for the next month. He could do this because he was one of the most talented and senior engineers in the whole company. And unlike many talented people who toil in obscurity, upper management knew he was talented. The project wouldn't happen without him, or at least thats how management saw it. He was untouchable.
The dollar jar disappeared the next day. The woman who was afraid of losing her new job over a stupid tip jar would up staying and becoming one of the better and most reliable engineers at that company. Even if it took them a few more years to realize it.
1. Removed obstacles for me doing a good job - that could be handling politics, ensuring requirements are readily available, logistics of equipment, working space, whatever it may be. Turns out, a good manager handles a trillion seemingly trivial things that add up to being crucial to smooth team operation, but may never be visible to actual team members; kind of like nobody pays attention to Infra until it breaks :S
2. Made themselves available: I now understand the value, and difficulty, in answering "Yes" to every "Hey, got 2 minutes?".
3. Mentorship: it may be advice particular to current skillset, but typically it's more thoughts and frameworks on things I'm not familiar with or above my paygrade: how to work with clients or management, how to approach one's career, etc.
Somewhere between Time & Mentorship, a personal example: in 2011, we had a major document deliverable; every evening, for weeks running, my lead would spend an hour or more going over the documents I produced, making horribly annoying corrections over and over and over again. It took me a long time to realize a) the kind of time commitment this presented on their part - it would be so much easier for them to fix the document themselves than to patiently guide me, but would not have advanced me; and b) how much it made me pay attention to detail, readability, assumptions and scope ever since.
In some companies or teams that may be removing distractions or introducing accountability or getting rid of a bad apple or providing vision, etc. If the team is not successful (over time), it is your fault. The sad part is that most managers are more worried over self preservation and being "important" than worrying about success. Ironically, being focused on team success would make them even more indispensable.
When it was cold he often drove around and met us on the route and gave us another cup of coffee and cigarettes. If there was a complaint from a customer he took it serious and often went himself to investigate what could have caused the issue or went together with us. We were the best team in town by far, proud and had few complaints. He had faith in his team, always nice and always thought we did our best, values he showed us by his own actions.
Sadly he got promoted and after a while we were the worst team in town as the new boss had a complete different style and threatened people in the team when we got complaints.
The best managers aren't my friend. The three qualifications are, in order: 1: They shield me from the whims of upper management and the crisis of the day. 2: They give me autonomy to do my job as I understand the details better than they do. 3: (In their current role) They take pride in people management instead of technical achievement. 4: They are technically competent, and their past technical experience can be relied on from time to time.
Regarding "They take pride in people management instead of technical achievement". That's specific to their current role at their current time as a manager. (IE, a good manager shouldn't take pride in driving refactoring or implementing something like stylecop. Refactoring and things like stylecop need to be driven by the team members, and the manager just needs to guide such tasks as they fit into the schedule.)
He was a shield for those of us who worked for him.
- managed down, not up. Constantly looked out for us and got us what we needed, even though it was an uphill battle with corporate and the client. He complained about this frequently, but never made it seem like we owed him anything.
- handled a lot of the shit work, administrative, spreadsheet updating kind of stuff himself
- always hustled, but never held it against us if we didn't seem to hustle as hard as he did (in fact, he worked way harder than I did and I felt a little guilty)
- perhaps most importantly, put up with me. I was much less mature and had a lot of sharp edges at the time. He constantly coached me and also tried to cover for me. I am hoping he saw something in me at the time and that he'd be proud of me if he saw what I was doing now (though I'm sure he'd still have some coaching advice as well)
He is by far the best boss I've ever had and I will never forget him. Thanks, Jeff.
We are a team and we trust each other. I feel he knows I am good at what I do and he let's me do it, and I feel he is good at what he does and together we can accomplish great things.
We are friends, and we like each other. We disagree sometimes, but we work it out by making compromises.
Then I would write "she" instead of "he". But Fabio is a man.
I’ve worked for many companies and no CEO comes close.
Over the past 2 decades, there have been ups and downs, but his belief in his company, his employees, and his product was always there.
Every three months after quarterly results, he stands up for 2 hours+ to explain his vision, long term goals, short term goals, where to improve, celebrate successes.
His vision that GPU computing would lead to something big at some point, investing in in starting in 2004 and never giving up.
The internal culture of the company to not waste time, to be intellectually honest about your work and that of others.
The efficiency of making decisions. Multiple times, I’ve seen him cancel chips that were weeks from
taping out: the market had shifted, let’s reasses and do something better.
E.g. one mobile chip was cancelled on January 10, 2007. The day after the iPhone was introduced.
At other companies, we’d waste months knowing that our project was essential dead before the hammer finally came down.
His technological knowledge, which is still top notch.
The way he deals with low level engineers. I suspect that he learns their names before entering a meeting to put them at ease. (The higher up, the more demanding he becomes, or so I’ve heard.)
The benefits that were introduced over the years. Very long maternity and paternity leaves. Better than minimum wages for custodial and kitchen employees. I love how the internal employee survey results are really used to make things better.
A culture of not assigning blame. This is a huge one. He has said multiple times on the (internal) stage that he doesn’t want accountability. Accountability results in conservative decisions. Risks must be taken to survive in this industry.
I could go on forever.
He’s not a perfect human by any stretch of the imagination, but he’s a fantastic CEO.
Does he see it as a risk, distraction or something?
Not just conservative decision-making, but politicisation: it may cause employees to base their decisions on perceptions ('optics', if you prefer) rather than real merit.
1. "I only worry about 2 things: getting our work done and keeping our people."
2. "Every senior dev I hire must have done one of two things: either ran their own business or was a one-person shop. That's how I know that they know how to do whatever it takes to get software built and deployed."
3. "Our customers can buy this stuff anywhere. They buy it from us because of the value we add. That value includes the ones and zeros that we developers add to every product. The sooner everyone understands that, the sooner they will see I.T. as an indispensable component of our product and not an overhead department."
Were you getting a lot of new senior hires? That sounds hard to achieve. I agree those people would probably be great, but also really really hard to find.
-Intellectually curious / stimulating - This gave the team the time and awareness that science mattered in our jobs, pursue intellectual journeys that actually made our work better and more rewarding. I got to learn R in the aughts, work with academia and create products the company didn't have a real use for at the time, but are their bread and butter nowadays.
-Being totally lean (in the Toyota sense) - There's so much support you can get from a manager that is aware of the hidden cost to rework and not first-time right. He would actually go out on a limb talking to other departments and managers who would make our work less productive. This guy actually bought and brought a pie to another team after they failed us multiple times to try and help them to remember there were others dependant on their work.
-Being appreciative of outsiders trying to suggest changes to the status-quo. This is a big one. You could call this humility. Teams, roles and the surroundings change constantly. Better to change from the inside out, than only when faced with external threats. But it's a hard one since the status-quo and office politics on a day to day basis seem so important.
Whether or not these skills help the manager up the corporate chain depends. For the first one to succeed you need a surrounding that's appreciative for research and new things to come out of the team. The second is a awesome middle manager skill that will be mostly in demand in change roles, but not so much in regular management roles. I am sad about this, but most environments the one who rocks the boat is the one the outside. The third is a more common subset of the second and a true leadership skill, but again managing change in a stagnant environment is hard. People expect your team to do the same thing every day.
What trumps all these great traits is: communication. Each manager should have the skill to communicating what he is doing with his team to his higher ups and surroundings. Only then can what he brings to the team flourish in the corporate environment.
I knew right away I was going to love it there. That's the way to my heart.
And no I’m not a manager.
1. If you - the manager - set the deadline yourself, the estimate will often be off (unless you're very experienced and could do it yourself; see 3).
2. If you let your engineer set their own deadline, the estimate will often be off (unless they're very experienced; see 3).
3. If you have a very experienced specialist set the deadline, the estimate will often be about right.
4. If you give no deadlines at all ("wake me up when you're done"), directs will pour their soul into it more often than not, and beat the estimate you'd get from 3.
The main argument against 1 and 2 is that having too tight a deadline is very demotivating. What's the point in working against a benchmark you can't possibly meet? (Having too loose a deadline runs into Parkinson's law, but the problem is usually that the estimate is too optimistic.)
Having tried 4 with various teams over the years, I'd suggest it can work wonderfully - but only sometimes. It requires that your team consists a) entirely of professionally minded engineers who b) can see first hand that what they're doing is useful. You're better off sticking with 3 when not.
The thing is, good code rarely looks stellar. It looks like code which you understand without much trouble, and usually there's more than one way to make it that way. If you get caught up into the trap of thinking you have deliver something amazing but don't understand what amazing really looks like, you're in for a lot of wasted resources.
After the aforementioned company I worked for a startup, and man was it a joy to actually ship code that affected lives. Sure, the code wasn't always the most polished, but being trusted to find the right balance between technical debt for speed of execution felt great.
Sometimes saying 'things should be done right no matter how long it takes' just means the management is unable to balance technical debt with other objectives.
1. Everybody who disagrees with my manager's statement are working in software (I was not).
2. In software, nobody can seem to agree on what exactly "quality" means.
Software is still such a young field that nobody can seem to agree on anything at all. It reminds me of other fields 100 years ago, where you could just try anything and if it seemed to work that was fine.
> Sometimes saying 'things should be done right no matter how long it takes' just means the management is unable to balance technical debt with other objectives.
In this case, I would say they'd done such a good job with managing technical debt that they knew they could say "as long as it takes" on a micro-level, and be confident that nothing would blow up on a macro-level.
This was a physical system that has annual (or semi-annual) inspections by a third party. Can you say the same about your software system?
I’m often bemoaning the “Silicon Valley Bubble” that people are caught in on HN. I guess I fell into the related “Software Developers Bubble”.....
There has to be a balance. The company can’t exist without both customers (either internal or external) and employees.
I still feel a bit ashamed when I think about how much time they invested (~160%), but I wasn't forcing them in any way. They knew the total budget from the beginning, and with that in mind, we were setting the scope together. It was their will to deliver the best possible quality which made them work the extra hours.
In the end, everybody was happy as the project was pretty successful.
Nevertheless, my feedback towards their team lead was very positive, and that might have helped them too since they both collected a bunch of negative feedback while working with some of my colleagues.
We finished the week's work more than a day faster than planned.
So if the job requires a very high level of Quality you might start by telling people you want them to do it right and time doesn't matter (it's not precisely correct but pretty clear). If nothing gets ever done at all, you might need to talk again ;-)
A manager asked a programmer how long it would take him to finish the program on which he was working. “It will be finished tomorrow,” the programmer promptly replied.
“I think you are being unrealistic,” said the manager, “Truthfully, how long will it take?”
The programmer thought for a moment. “I have some features that I wish to add. This will take at least two weeks,” he finally said.
“Even that is too much to expect,” insisted the manager, “I will be satisfied if you simply tell me when the program is complete.”
The programmer agreed to this.
Several years later, the manager retired. On the way to his retirement luncheon, he discovered the programmer asleep at his terminal. He had been programming all night.
There are very, very few managers who are realistically in a position to be able to say something like that.
There's a good chance you might be working for a nice guy / purist / engineer's manager ... but who might actually not be a very good manager at all.
If 'getting it right no matter the cost' were a good company building philosophy, we'd all be doing it!
'Getting it good enough for the market to accept given a limited budget and timeframe' is basically how 99% of the world must operate. It's just reality. That's why being a manager or starting/owning/running a business is hard. Usually really hard.
IMO, good judgement about the things that need to be right enhances the ability to make money. Too often I see manager-type people disregard the technical grievances of a team as ambiguous/unimportant things, while at the same time wondering why nobody can deliver and get things done. There is very often a direct connection!
A good manager knows this and will give you room to find that balance yourself, unless you have demonstrated you need help with that.
 Or at least I've never heard anyone else use it who didn't get it from me.
He understood that the success of his team was his success, and didn't need the praise.
When, in the end, office politics lead to him taking the fall for a large manufacturing incident, he accepted a lateral demotion gracefully. I worked for people with much more formal education both before and after, but he was both smarter and a better leader than any of them.
Ended up writing my own software to interact with the Amazon Marketplace sellers API and all our distributors nightly inventory data and just drop ship stuff in mass, and send a couple product I had the best pricing on to Amazon for FBA.
I got it down to maybe an hour of real work a week and was crushing my numbers. After a year or so of that I got bored and jumped shipped though because I didnt see any additional personal growth to be had at the company.
The skills I taught myself in doing that largely lead to the position I've got now.
"That's Ryan Zezeski, he's awesome and if he says that, you should listen to him". My immediate reaction was: "wow, I want to work for this guy" (funny sidenote: because this was in DC, I thought everyone wore suits, so I showed up with a jacket. I felt like an MBA and never so out of place as an engineer in my entire life).
I have another one where I was working in a startup that was doing telco stuff. This is about 10 years ago, so I was a bit younger. I'm sitting there next to the founder, listening to my music with my huge Sennheiser headphone and the founder taps me on the shoulder. He says: "Reza, we need to talk". I look at him and say: "What do you want, you don't have a clue about this stuff anyway." He just says: "That's right, I don't, that's why I hired you". So I just shut up and listen. It's also not entirely true, he follows a lot tech, he just lacks the knowledge when it comes to the implementation.
Over the years the handful of really good leaders I saw all had the same quality. They all knew when to get out of the way and making a decision when it counts. It's what I strive to do these days. Seems to me that the best way to build trust is to let a person that's a specialist in his field take the spotlight when needed.
I know you specified this was 10 years ago, but I can't think of a single situation where this would not be a douchebag move.
I mean, you could have just asked. But insulting random people you know nothing about is much less of a douchebag way to deal with it I guess.
What qualities make a good CEO/Manager/Supervisor?
1) Passions/genuine caring. If the person in charge doesn't love what they do, or genuinely care about you and the company then you're going to have a bad time.
2) Competency/Consistency - Being able to do you job, and do it well. A person in such a role is the Guidance (tm). Anyone can do a good job if they put in the time, they also must be consistently good (That's what makes them valuable).
3) Critical when it counts. You have to crack the whip every so often and tell people when something can be done better. Criticism is important to deal out when it is needed, but the right amount that is used for making sure that the other developer/designer/delegatee is growing in their skills/experiences.
That's my three C's for what makes a great overlord. My previous supervisor ticked all boxes.
Never blames you for something that isn't your fault.
Edit: by "placing you with people that... challenge you personally", I mean recognizing that your interpersonal skills need to grow. I'm rough around the edges and very direct, and I'm placed with an overly sensitive team member and expected to have a highly functional team, for example. What I definitely don't mean is "come rock climbing bro".
Ironically, one of my best managers was someone who invited people to go climbing with them. We had some very experienced climbers and some extremely novice ones and yet they were some of the most positive and friendly evenings of my life.
A mix of self effacing attitude ("well of course I found it easy, I've been doing this 20 years more than you and I'm also nearly a foot taller!") tied in with making sure people were only competitive against themselves ("well you've done that in half the time it took last week...") and honest useful advice made it a great experience.
I think there's also something to be said for working with someone who you literally trust your life to once a week... Never used the word "bro" though - that might be where we were going wrong ;)
I had one manager, when one of his engineers fumbled up a project for month, singlehandedly rewrote the code and had it running in 2 days. A file that had 1000 lines of code was reduced to 20 lines that was clear and worked correctly on first attempt.
Another was the VP of engineering who had years of technical experience plus was gifted in working with customers. When a major customer was yelling at us due to some performance issues with our code, he went over to meet then and soothed things over. They agreed to give use a few months to rework the code and they were willing to pay a NRE for this. And they were happy in the end also.
But, let me focus on the two most of important purely selfish things for me. I want a manager who provides an environment for me to grow technically and fights for me to make more money. Everything else is secondary.
I’ve had good technical managers that I learned a lot from but had no political abilities to get thier team raises so I had to take the skills I learned and get another job and I’ve had overly political managers that would throw you under the bus to get ahead but if you made them look good, you could enjoy the ride until they stabbed you in the back.
They cleaned up the technical and political messes that me and my colleagues would often made and they helped to sell the virtues of our team and our work around the company.
Knowing they had my back if the shit hit the fan.
I've only experienced this once unfortunately.
A good manager must:
1) be Competent
She doesn't have to be the best coder, or even able to code, but she needs to be competent in her area of expertise. Nobody can stand working for an incompetent for too long
2) be Consistent
If he is not there next week the team should reasonably be able to continue and predict his decisions. Nothing is worse than having someone constantly flip flop on their decisions, or worse just blowing in the wind to please his superiors.
3) Care about you - genuinely.
You have to believe they care about you, genuinely. This person has your best interest, and your career advancement in mind.
After many years I am still using things I have learned from him and those are saved my ass countless times.
One thing I am really grateful for is that he expected me to be able to find and point out the policies and procedures for anything I needed him to do. This meant that I could keep him honest, and he could learn from me instead of having to search himself whenever I came up with an unusual problem (like being a graduate and getting called for an incident while not on call). I still do all my own reading before I go to my manager now with things I need them to do, and it helps me to help them help me (for the most part).
He was also always there for me if I was getting beaten around inside or outside work (even after he stopped being my manager). He is the best manager I have had by far, and I would work with him again in an instant.
I am still amazed how he managed to do so well after being thrown into the job managing a large group of people working across the department, while other managers I've had who have only needed to look after a small team (10 people) seem to never have time for us.
He helped evangelize my work and got people excited about it, and had as much a part in the success as anything because of the barriers he removed, the air cover he gave me to allow the time to fix the biggest issues of it, all while helping me triage bugs and provide end-user support.
He was highly technical, and understood my code. He didn’t step on my toes or try to force any technical direction in any way, he knew well enough to delegate, and trusted my decisions. But provided amazing advice when I needed it.
Eventually he had too many people on his team and needed help managing, and I ended up getting promoted to a manager (still under him) mostly out of a favor to help him out.
That was the beginning of the end though, because eventually a reorg moved my new team to a different side of the larger org. And everything kinda went to shit after that and I left the company.
Lesson learned: Don’t become a manager as a favor to someone if you’re not ready for it.
What a great way to say “I’m running the show,” without stirring things up or causing debate. I was immediately impressed by the degree of awareness this person displayed.
Let me choose my own hours
Blocks meetings I don't need to be in
The rest of my WIP list is here
Specifically he showed me the importance of autotesting and set me up to take on the responsibility for maintaining and improving our autotesting framework and implementing our team-wide autotest policy. Since he was the TD on the project he was also able to give me the backing with the rest of the team to enforce some pretty strict policies, and that continued for the rest of the project even after he was gone. This became my area of special interest and expertise on the project even though it didn't fall into my original job description and helped me grow into the direction I wanted at the company.
I think because this was so long ago and I only had him as a manager for maybe a year there may be things I'm viewing through rose-tinted glasses, but I still remember him as the best manager I've had.
We enjoy a level of autonomy that I've hardly ever seen anywhere else. Being a 100% remote company, this is super important as it means you have to trust that your employees are doing the right thing and the most important way to make sure they do is to actually empower them to make decisions and being responsible for them while reassuring them them you have their backs.
Besides this specific thing. There are other things that make them stand out like the fact that they reinvest most of the profit of the company back into it while splitting some of that margin amongst all of us in the form of dividends. They also invest a lot in the happiness of the team, organizing gatherings several times per year both for working together (like a "workation" month in Cape Town) but also for pure fun (like skiing in the Alps).
Hope these insights help and light up the debate!
He approached problems from different angles than most. He understood what our business is and didnt get lost in details that didnt matter. Thanks to his decisions, efficiency on things he was involved improved significantly.
More importantly, he managed chaos. And he embraced it. From technical pov, he saw experiments as an opportunity, and set a goal to team to run as many as they can fit into cookie mods. This allowed team to learn what works and what doesnt, and gave them immediate feedback. Almost everyone else sees it only as a way to be conservative (slow roll out that is safe), this guy saw it as an opportunity.
I guess tl;dr; sees the bigger picture and doesnt get lost in details, embraces enthropy and sees it as an opportunity.
What amazed me was the founders spent most of their time teaching designing to all interns/designers in the company. Considering interns are temporary, and yet investing time in teaching interns was what made my experience so great.
As a team player, he was out on the floor during the busiest retail times. The best floor associates in retail work well with each other as team players and pass tasks around, but you have to know which other members are competent and reliable. This guy was 100% both and let you know he was another team member and available for anything; if you were running to get a forklift, you could send him to an aisle where you saw a customer looking lost, have him haul goods to checkout, grab him to help load a car.
He trusted his employees and identified and rewarded excellence. I was a customer service queen at my store, and he saw that and told me, then gave me an award for it, and a raise based on it. One time when we had an unusual customer mess-up and a cashier called me to fix it (because she knew I would do everything to make it work), I pulled a team together and got it done, but he gave just me, not my team, an award for it, when I really thought it was team work. Later I realized he was right, that the task had first required a team builder (and, yeah, I got my teammates awards, also). The few times I called him as a manager to resolve a customer issue, he just stepped in and took over, never requiring me to explain my side (which didn't matter, the customer wanted something I couldn't provide, so I got them a manager), because he not only let you do your job, he understood what his was. He paid attention. He knew who was contributing and how much.
Mostly though, if you were good at your job, he knew it, he acknowledged it through opportunities, awards, and raises in addition to telling you, and he let you do it, while he did his job.
Oh, eventually some startup snagged him.
The man was sharp as hell - he always seemed a step ahead of everyone around him. He'd sit us down and explain his strategies in relatively good detail so we knew what was going on and why we were doing things in a certain way. He welcomed criticism and was generous with the compliments. He ensured everyone got to leave when the day was done, and wasn't afraid to say "No, that's stupid. I'll take the heat until this is fixed." Zero micromanagement, tons of trust, and he was nice, too.
If managers on average were half as loyal to their workers as he is, the world would be a much better place.
Empowerment means a lot of things: not getting in your way (removing roadblocks), making sure you're content (tools and otherwise) and the most important - trust. If you don't feel like your manager trusts you, it will never work. But that road is (or should be obviously) bidirectional.
Defense is when you know your leader is on your team. Not making excuses for you but making sure you're not getting steamrolled. Good managers do this with foresight and take them on the chin when and where appropriate for team failures or misses (Extreme Ownership is a great book outlining this).
Finally support is a culmination of the other two. Knowing you can get help without undue recourse or that your leader will take over a problem distracting you from your main task and complete it with totality and not hold it over your head after the fact. Good leaders are unsung heroes and the two best I've had have also been highly charismatic on top of those other things. I don't hand out the charisma badge easily because I think people self-proclaim being charismatic far too often. But if your leader isn't a people person they can turn people away, shame them inappropriately or even worse.
A friend, who's an engineer asked me for advice the other day as he was considering moving up into a management role beyond his individual contributor slot he had been fulfilling for years. I went through these things and also said that his new role was not to be super-engineer now, but to help them get their jobs done more efficiently and take on battles he has little experience with. I think that surprised him slightly so I offered up another great book: Zapp. It's trivial, short and old. But the context is 100% relevant today and a big miss by many "managers" who think their role is something other than supporting and fostering their team.
edit: mobile removed my formatting, fixed
I would always work with or for her again.
Made "constant pressure": kicked asses to move things forward but it was not "exponential". If failed to reach a milestone in time, it was ok, shit happens, no big scolding etc. but it was made clear that the milestone would have to be reached one day, so better keep walking.
They were very smart in detecting early signs of burnout and stress. "Go gome and fuck the deadline, tomorrow is another day." In another instance: "It doesn't make sense for you to quit, take some days off and see a psychiatrist" [Diagnosed with depression, took medicine, improved.]
Fought for their commanded, shielded them from politics.
Personal integrity that transcended the job relation.
That's the most important thing for me personally. If they can also be friendly and we have a friendly working relationship (can joke around and grab a beer once in a while) that is also great. However that's absolutely secondary to the first point. In theory I'd be fine with having a boss who I don't really click with personally at all but am still able to learn from.
What I really admired about him was his ability to keep his cool and "Don't Panic", even when everyone else was worked up about an emergency. He always just took the bad news in stride and suggested some possible courses of action.
It also helped that although he had some of the stereotypical engineering awkwardness, he liked to make off-hand comments that were often hilarious and Star Wars-related.
I never thought of our standups as the Jedi council.
Of course, you are probably saying...that's just the right thing to do...it's also the law to some extent...you must not work in America. I've seen people treated very poorly in a variety of situations. So had this guy and he was going to make sure that it didn't happen to my co-worker.
After that I got to be pickier than most about where to go next, so my results might be rosier than others. In total I've had 7 "supervisors" in my technical career. 2 of them were amazing and I would take a (small) pay cut right now to work with either. 2 were good, mostly hands off, and easy to work with. The other 3 were nice people with good intentions, but significant managerial shortcomings. None of them were bad or insufferable.
In one case, an extraordinary mentor almost entirely made up for shortcomings of the manager. Working with great people alongside you often makes the incompetency of the people above a little less relevant, or at least more tolerable.
We work in a university hospital and he has both medical training as well as software engineering. So we can talk to him with software specific terminology and doctors etc can do the same with medical terminology.
That, combined with having passion about what we are doing and actually caring about the team goes a long way. (Our team occasionally does things outside of work together, like going to the movies or something).
The team (and leadership of said team) are one of the best things about my job.
He does a great job of communicating top level decision making to us and keeping us in the loop, he's also great at shielding us from upper management.
As a sidenote, I've had stubborn managers since who can't see the big picture and/or can't think critically, which made me appreciate the good ones even more.
- He removed obstacles.
- He never let shit that was raining on him just fall down on us. He was basically an umbrella.
* Pushed responsibility on me
* Trusted me to be capable of doing things
Didn’t realize for a long time that I was volunteered for things. Advanced my career super fast.
On the one hand, being good friends with a manager may prompt one to go the extra mile because you're helping your dear friend (and perhaps vice versa). On the other hand, a deep friendship may cause you to ignore or downplay flaws or problems (that may seriously impact the customer, etc).
"How many hours do you save by using this?"
"Right now? I'd say about 3-4. Plus the same again if we need to do X again (maybe next year)."
"No-brainer. Send me a link."
Edit: Just as an example. Let's say he was very pragmatic. :)
All in all, just being a good person, first and foremost.
1) Inform me of the strategy.
2) Set expectations on deliverables and timing.
3) Go away.
At the same time, they were there if I needed them, either professionally or personally.
- Treated me like an equal.
- Offered me a ton of new opportunities which resulted in lots of salary bumps.
Had my corner.
Didn't get in the way.
I worked as a computer operator and most of the time was "down time" waiting for jobs to finish. We had little bits of busy work that none of the operators did, so I did cleaned out the backlog and kept us up-to-date. Documentation hadn't been touched since it was originally written years before I started. I rewrote it, updating it and fixing errors.
Then I tackled rewriting the Microsoft Access application we used to schedule jobs. This was only something we used internally so we knew what jobs needed to run on what nights. It wasn't up-to-date, so we had to manually change the schedule every night, and it wasn't user-friendly, so our FNGs always made errors that required programmers or DBAs being called at 3:00 am to clean up mangled data. I rewrote it to model our current processes and even added some color coding and included recommendations to help FNGs.
My boss "caught" me doing this and told me I had better things to do with my time. I was young, so I asked him, un-politically, "Like what?" He told me to rewrite the documentation. I told him I had done that months ago. He opened it up, looked at one random piece of it, and found a flaw that wasn't really a flaw. I probably rolled my eyes, wrote a macro to make the change to all the pieces of documentation, and then started working on the Access application again.
He "caught" me again, and startled me by basically sneaking up behind me while I was working on it. He said, "I thought I told you not to work on that." I was like, "No, you told me to rewrite the documentation, which I did." Then he told me he didn't want me working on that at all because it was a 'security issue'. Two things about that. The first is that I was told when I was hired that this was a great place to move up the ranks, that other operators had moved into programming after showing what they could do.
The second is that I had access to the entire network, compilers, home directories, everyone's email, all company sales data, payroll, server room, you name it. I ran the backups. I was often alone in the building for periods of over 12 hours. There was all kinds of equipment and merchandise I could have easily stolen, etc.
Now that I'm closer to his age and have more experience, I just see that he was grossly incompetent, in way over his depth, and just trying to coast until his retirement and any changes I made felt threatening to him, despite all the actual improvements I made.
I'll list a few of the things he did that really kept me (and everyone else in his team(s)) driven. I was about to say 'motivated' but it doesn't seem to express the intensity as well as 'driven' does.
Here are some of them:
- Was involved in hiring for his team and trusted whom he hired
- He set up 'connections' in such a way that the new folks were always being mentored by people of varying levels of tenure and seniority. This wasn't a direct "so and so will mentor you". It was more that he set up the dependencies and interactions in ways that there was a gradient on which you could keep going to gain further and further expertise from people.
- Was politically adept. His teams never encountered any rubbish that was irrelevant or would slow them down. He would say "if that doesn't work, I know which buttons to press" and he'd make things happen.
- Where I work now, I have to justify before _and_ after going to a tech conference. When I was working with him, he was like "there is this conference. XYZ is visiting there and I need your_teammate and you to help him with some logistics - just take the hardware from your team. I realised after a long time that this was his way of connecting us to XYZ (who's a veteran and highly respected person in the industry) and it was a golden opportunity. He strongly believed in having people who work in different countries and offices getting to meet now and then and would find excuses to make them happen.
- If we messed up, we'd go to him and say "We messed up! This is what happened..." and he'd just say that it wasn't something to worry about and would instead ask about things that were more 'big picture' and 'long term'. This only made us even more resolved never to sully his teams' reputation.
- I once asked for access to the codebase of a project I was interested in to see if I could port it to another OS. Instead of doing that, he instead connected me to the team who worked on that project and asked them to see if I could help them. Again, he was connecting people and giving me much more than I had asked for.
- He was a visionary and would always speak about his vision in a very matter of fact manner instead of making it a grand thing. So, it made it easier to believe in it and think about it.
- He always maintained that he didn't believe in managers who "just manage" - i.e someone without a sound technical understanding of what we were working on, could never be a manager in one of his teams.
There are many more things and for the moment I'll end the list there.
I realise now that no amount of 'process' can generate this kind of drive in people. I hope that some day I can grow up to be 1% as good as he is.
People follow leaders who free them from chains - they don't thrive in systems which artificially-constrain them.
He had all the usual requisite skills, but his passion for technology and willingness to be proven wrong were instrumental to the success of the company. We were able to iterate quickly and find workable solutions to big problems because the CTO created a culture of facts over status and an environment where everyone could safely express their ideas, no matter how stupid, so that the best idea may win.
In fact the example of moving back in with one's parents is rather instructive in that middle class young people essentially already have a half-assed privatized version of this reality: their social safety net is their parents and other relatives. Decommodifying healthcare, housing, and food would have essentially extend the same kind of safety net to people who aren't lucky enough to have well-off relatives who can help them in such times.
At the very least, we should decommodify healthcare. One can make theoretical arguments that doing so for housing and food would have huge, negative knock-on effects because the last major experiment with this model were the Soviet-modeled socialist states, which obviously were a disaster. That isn't the case with healthcare. Plenty of other countries have decommodified healthcare, and nothing bad happened: nobody is meaningfully disinclined to work, health outcomes are generally better, and overall healthcare costs are generally lower.
- shield you from management
- Inspire and always give you opportunity to grow
- Execute stuff with speed
PS: I just launched a productized content-as-a-service http://contentiskey.co which enables businesses to get unlimited content for only $250/mo.
DISCLAIMER: I don't work for Elon Musk or his associates.