Hacker News new | comments | show | ask | jobs | submit login
The Management Team - Guest Post From Joel Spolsky (avc.com)
305 points by pors 1755 days ago | hide | past | web | 60 comments | favorite



I've never been very successful communicating to my customers and bosses the difference between a "super programmer" and a "mortal programmer". It's a critical distinction that eventually must be understood by organizations that build software. So instead of trying to explain, I just email them this link:

http://www.joelonsoftware.com/articles/HighNotes.html

Then they finally get it.

Now I have another link to help them understand why their management style isn't working they way they think it should. Thank you, Joel.

A few more Joel links like these two in my back pocket and I won't have to spend so much time explaining much of anything anymore. I can just go back to building stuff.


Great post. Much more eloquent than Mark Suster's[1]:

Yes, I know it’s my job as the CEO to be the coach for people and that’s fine. But if everybody is looking for me to make their decisions we’ll never get anything done.

And makes a nice complement to Swombat's Making all the decisions yourself[2], and to Ben Horowitz CEOs Should Tell It Like It Is[3].

Also the same point of Delegate or Die[4]

[1] http://www.bothsidesofthetable.com/2009/11/19/what-makes-an-...

[2] http://swombat.com/2011/7/13/taylor-drucker

[3] http://bhorowitz.com/2010/07/02/why-ceos-should-tell-it-like...

[4] http://sivers.org/delegate


Now I have another link to help them understand why their management style isn't working they way they think it should.

I have a feeling it will require much, much more than a Spolsky link to get that through their head. But perhaps I'm just cynical.


I agree with this post, but it is very light on details. "Don't be a douche. Let your employees think." thanks for the tip...

So, to that end, my management tips:

1. Make sure people are working on the right things. This is most important and where Joel's academia argument breaks down. The problem is that everybody in the company doesn't have a transparent view of everything in the company (past ~10 people).

To do this, you ask questions and provide information. "Why is this the most important thing?" "What about <some thing they may not know>?" Etc. ideally, you are proactively providing that information, but if your employees are always waiting for you to provide information, you are the bottleneck.

2. Cultivate communication. Make sure the rit people are talking to each other. Make sure the environment is sipuch that people not only want to, but are incentivized to talk to each other.

3. Be open about when you learn something new. Few people don't enjoy teaching the boss something new. Give people that opportunity.

4. (EDIT: Forgot one of the most important) Conflict resolution. At some point, two very smart people are going to disagree. Your job isn't to pick a winner (usually), but to make sure resolution happens.

I'm sure there are others (feel free to tell me!). FWIW, I don't think I'm being original here. For details on how to do many of these things, Joel's blog is not a bad place to start (though I really don't like the lunch thing at Fog Creek ;).


For more detail, try Spolsky's three-part series on management methodology. It starts with Command & Control then goes to another, Econ 101, which he discredits similarly, followed by Identity, which he says actually works. Start here: http://www.joelonsoftware.com/items/2006/08/07.html


I’ll bet more entrepreneurs model their behavior on Captain Picard from Star Trek than any nonfiction human. [..] Turns out, it’s positively de-motivating to work for a company where your job is just to shut up and take orders.

I like the post, but.. at the risk of sounding like I've thought about this for too long, Picard's management style wasn't of the tough "command and control" style described here.

Picard's crew had a significant amount of autonomy and a reasonable scope to question their direct superiors (although going too far up the chain usually seemed to backfire). The buck always stopped with the Captain and he set the crew's overall mission, aims and goals (with significant input and advice from his crew) but in terms of the day to day running of the ship (and even many of the crisis situations) he was not at the center of most decisions and relied heavily on his crew to do the right thing.

All this makes me realize that as much as being a sci-fi show, TNG was particularly good at demonstrating management styles and crew relationships (with many episodes dedicated entirely to these matters or contrasting them with those of other crews and civilizations).


"Command and Control probably worked great in the toothpaste factory where Charlie Bucket’s father screwed the little caps on tubes."

I thought that it is totally obvious that the more intellectual and complex the task is, the less the hierarchical 'command and control' approach works. I think this is told in the first one hour in any course about management.

I once stated it here but state it again: the older I grow the less useful I find the posts of the great bloggers (Joel, pg, etc...). Their posts are usually good feel-good posts for us developers, but in their posts they overabstract and oversimplify everything (overabstraction can be also called 'architecture astronautism'), when what really matters are pretty much in the details (or at least cannot be communicated in such simple blog posts), and depend on hundreds of parameters, and I am sure they bacame successful because they have been taking care of the details in their everyday actions.


It's not obvious at all. The great mass of people believe earnestly that money or a big leader will fix all problems.

Case in point: The current trend to use standardized test scores to give teachers an incentive to make students get better grades.

Case in point: AIG gives out tens or hundreds of millions of dollars to people writing derivatives to counter mortgage bond risk, because these derivatives make the company money.


Most developers aren't lucky enough to work at software oriented companies. Their management is unlikely to consider development to be creative work and instead focus only on costs, schedules and the classic death march management style. Many freelance job boards suffer from a race to the bottom. This is an enormously serious problem in our industry.


The Tina Fey autobiography / jokebook had an interesting comment - one of her mentors explained that the role of a (TV) Producer was to reign in / prevent creativity. The idea was you had hired amazingly creative people, and if you did not provide necessary constraints the whole would be way less than the parts. (the example was asking the props dept for a teacup. No not on a silver platter the reflection will kill the camera, no not with sugar tongs these are simple countryfolk etc etc)

Steve Jobs is just an extreme example of this role - provide a common vision, explain the constraints and edit edit edit the great ideas coming at you. (nb editing is not the same as directing, something I tend to forget I my code reviews - an editor should accept a brilliant idea and change the other work to fit it in, a director, directs...)


The question that can never be answered is: Could Jobs have accomplished more if he hadn't been such a jerk? Can you accomplish the same level of editing without demeaning people?

I think the answer is "Yes", but I'm not positive. Regardless, I'm not Jobs. My management style will never be an attempt to resurrect him. I do strive for his level of perfection, though.


Is it possible to be uncompromising without being a jerk?

Apple's products are great because Jobs simply kept saying "not good enough" until he thought it was good enough. Even though there are nicer ways to convey the same message than "this is shit", the underlying message is the same, and smart people get the idea, and I'm not sure that attempts to soften the delivery matter much in the end.


It matters. Smart people get that feedback is necessary when you're making great stuff, and that feedback is useless if it's never negative. But smart people also get what a speaker's tone means. Communicating arbitrary message X politely shows you respect the person with whom you're talking. Communicating the same message X rudely shows the opposite.

If you have to tell me something I don't want to hear, I'll feel much better afterwords if you say it nicely. That's because I'll know you respect me enough to put in the tiny bit of effort required to say it with a smile. I won't think you're a manipulative, cynical jerk who underestimates my intellect and assumes I can be won over with cheap psychological tricks. I'll think you're a decent person with good social graces. Which is something from which people in the tech world are not exempt.

BTW, I speak from experience. Every boss I've ever had has understood the importance of how you say it when managing. Conversely, I've known others who have had bosses that didn't get it. Guess who was happier at work?


I'm not saying he was right or wrong but the fact that the market cap of Apple is the largest ever is probably a good indication that he likely could have not have achieved more (at least not much more).

I don't buy Apple products, but what he has done is truly incredible.


I use the following model:

    CEO is defining desirable outcomes, defines WHAT TO ACHIEVE
    Team members are defining HOW TO ACHIEVE 
CEO is a resource to the team, providing knowledge, connections and keeping project documentation up to date


Can't disagree with that. The CEO defines strategy. Anything below that level is tactical. Many have difficulty in getting those two levels to bat for the same team - which Steven Sinofsky discusses in One Strategy.


Someone send this to Page.

I've said it before and I'll say it again, leaders need to make a culture and create a managament style THEIR way. Whatever works for them and their company, not attempt a copy/paste of another CEO.

Engineers can't adopt a designers management style overnight because they don't have the background to attain the respect their decisions will require.

Just like coders hate an MBA telling them to build the next facebook in 3 hours because it's "just a few pages and they all look the same anyway, how hard can it be?".


What I'd like to understand is why is management professional training so oriented towards 'leadership' if you believe that facilitators and administrators are required.

Working for a large multinational tech firm, I recently saw them launch online training across all the various disciplines. Much of the management material is about leadership, whereas non-managers are considered 'individual contributors'. Doesn't this seem to run entirely counter to the philosophy espoused here?


Yes it does. That philosophy is hard on managers' egos (who wants to be an administrator rather than a leader?) and the selection for management positions in large multinational companies is often biased towards those with strong egos.

And it is the management paying for the training.


Leadership is not necessary exclusive of administration and facilitation. Contrary to the intuitive belief, it is not synonymous with 'command and control' and therein lies the issue Joel was trying to expose. Also, being an administrator does not mean you are a secretary.

You can be a leader, a facilitator and an administrator at the same time.


Excellent post on the outline of his management style, but far too short on details. How does this management style deal with inevitable conflicts between engineers? How does this style deal with pivots? Who makes hiring decisions for managers in this layout?

I imagine that this could work, but this would seem to scale even worse than the traditional model; four thousand engineers, all of them "bosses", does not a productive company make.


When it comes to decision making, the managers should be more like customers, or representing customer's demands. The customer's demands are usually less technical, like they want something 'fast' or 'not to break' or 'cheap' or 'easy to use' or 'soon'. The customer can be internal or external. The specialists need to supported as best as possible to enable them to satisfy these demands by choosing and implementing the best solutions for it.


Try telling that to Larry Page. Google believes greatly in the "hire smart people, then get out of their way" method. You might be surprised how well it works


I worked at a startup that nearly collapsed because so many incredibly smart engineers were brought together with no leadership (which is different than management). The belief that engineers will always just do the right thing is, in my experience, not true. The product came close to collapsing under its architectural weight as so many engineers tried to build an amazing cathedral. Better leadership would have ensured the engineers understood we needed to start with a strip mall.

EDIT: I want to retract my leadership isn't management. In a knowledge worker company, it absolutely should be, and if it isn't, you're doing it wrong.


Of course any good idea can be taken to an extreme, and Spolsky probably is doing that with this one. But my experience is that the majority of startups will be fine. The problem is much more rarely "The engineers are getting away with murder!" and more commonly "I told those engineers everything they were supposed to be doing with no deviations. Why aren't they listening to me?!" Most startup founders (but by no means all) end up being such control freaks that Joel's advice probably won't be dangerous.


Engineers want to do "the best thing for the product". The trick is giving them enough information to equate "what is best for the product" with "what is best for the customer". That is when a good CEO/Product Manager earns his/her money.


But hasn't Larry Page's tenure at CEO been precisely one of reining in engineers who working on projects that may have been awesome, but not necessarily contributing to the core mission of the company.

It seems like his principle effort has been to provide focus for Google.


The style of management he recommends works well for companies in the size scale of 30-100 people. I believe it breaks down after that, and, ironically, as you grow to a few hundred and into the thousands, you actually have to shift back to more of a command/control structure or you risk evolving into a bureaucratic entitlement kind of organization. You still need to know how to trust and delegate, but you (and by extension your now necessary mid-level managers) also need to be able to shut down the endless bike-shedding (which has now morphed into full-on ego flame wars) and make executive decisions to prune the tree of possibility and keep things moving along productively.

I think Google is a good example of a company that is (later than most) realizing the academic model only scales up to a certain point. They now seem to be moving towards a much more traditional Cpt Picard/Steve Jobs-run type of organization, from what I've gleaned.


Great post. I'm going to show this to management because this is exactly the idea that they advocate yet they keep hearing they should be more like Steve Jobs. Not many people would want to work for a pseudo-Jobs. Problem is, there seems to be a plethora of them out in the wilds of big corporate America.


Steve Jobs was a multi-faceted person. He definitely had a difficult personality, but I've heard he was less of an asshole than he's made out to be; the problem is, when a person lives in the spotlight, all of his worst moments get air.

He also had a different management style at Pixar than at Apple. During his first stint at Apple, he was extremely young and inexperienced. Pixar was like a research department, and he was generally nice to the people working for him. When he returned to Apple, he came into a fairly nasty culture that had been created by people other than him. If you've ever seen a company with a young wolves problem, you know that sometimes the boss has to be an asshole.

Also, my understanding is that he was generally very nice to the line engineers but hard on people VP-level and above-- and that at Apple, VP is a seriously high rank involving high-6 figure compensation (at least) rather than a 50th-birthday present (or in investment banking, a 30th-birthday present) as it is in most companies. I think that if you're making that kind of money, you can take serious scrutiny.


I agree. I don't think he would have managed to retain friendships and partnerships with engineers so successfully if he was that horrible to them.


"very nice to the line engineers but hard on people VP-level and above"

That makes me wonder about a "sandwich" model of management - a leader at the top who has a lot in common with engineers at the bottom, together putting the squeeze on management (who still wield most day-to-day authority) in the middle. Looked at another way, authority does mostly flow downward as in the traditional model, but then you "close the loop" by joining those at the bottom back up to the person at the top so that nobody's left without recourse when they think things are going awry.

I'm not really sure where to go with that idea, but it seems to bear thinking about. I'll bet somebody smarter than me already wrote a book about it.


I think the university analogy is distracting from the real point. He's advocating a form of servant leadership, which is where the CEO/President/etc is perceived more like a steward than an autocrat.

If you've ever worked for someone who had a broad array of responsibility, was universally respected, displays humility, and available to help resolve problems, that's what Joel is talking about. A great professor tends to adopt this role -- which is probably where the university analogy came from.

The "catch" to this style is that you actually need to be respected, empathetic and humble. (Know-it-alls need not apply.) That usually comes with lots of experience.


I think this one of the cleverest things Spolsky has ever written, actually.

All the great managers I have had acted this way. None of the bad ones did.

In a healthy organization, you can get respect by avoiding the Dunning-Kreuger problem, giving people credit in public, and discussing problems in private. I don't know if you can learn empathy, but you can learn to pause before making decisions and thinking about what everyone wants out of a given situation.

Humility probably isn't necessary, but hubris has been a killer since before Golden Age Greece.


It was a great post, but I noticed that many folks here weren't getting it. It sounds cliche, but I knew alot about everything when I was an obnoxious 21 year old. Now as a grizzled 33 year old, I have a much better appreciation of what I don't know -- which I find empowering.

Perhaps humility (or the perception of it) is a "symptom" of being more secure in other areas.


A "grizzled 33 year old". That's so cute ;)

Knowing what you don't know is empowering, for a while. And then you realize that you're mortal after all, and will never even know enough about all the things you're deeply interested in, let alone those many things that sounded interesting, but that you never explored.

It teaches you a lot of humility, but it doesn't feel that empowering. At least to me.


In my views, it's mostly about balance rather than picking between divergent choices. Who says one can't be a firm leader also capable of soliciting and respecting the opinions of others?

The NY Giants won the SuperBowl as you note, with a famously dictatorial top-down coach [Tom Coughlin]; the NY Jets didn't even make the playoffs with a very horizontal come-as-you-are coach [Rex Ryan].

Interestingly, Coughlin didn't win any SuperBowls - he now has two - until he learned to loosen up. And by all appearances, the NY Jets won't win one until Ryan learn to tighten up.

Apologies for all the football references:) But I suspect Mr. Spolsky would understand very well.


I wonder why the CTO sits above the VP Engineering in Joel's picture? Is this generic, or specific to Jeff as the SE CTO, perhaps because he wanted to code, rather than manage?


Did not like this post. Like many others over here, I also have read all the great posts by him over the years, on joelonsoftware. But, honestly, this one just does not cut it for me.

He is over simplifying everything. And his extreme view ends demoting the "top" of an Organization's chart. Heck I won't want to start a company to just move furniture around.

And you can not have a binary classification for a CEO - Steve Jobs or not. In reality there will be lot of people who are perhaps very skillful, experienced and work very hard at the top. So their skill level might be closer to Steve Jobs than your average Joe. So you have to treat it like a spectra.

He makes a very fair comparison of developers and similar in a software company with that of a toothpaste company. But his fairness goes for a toss, when he compares the people at the "top". IMO just administrators should have no place being in a software product company in the first place.

He makes a good point, that its best for the organization that if all the brains are used rather than just one brain. But he goes to the other extreme to make this one point.

Experience does have a role after all. A fresh bright programmer might want to code everything up in the latest shiniest thing, if you _know_ that its a wrong decision. Then is it not your duty to explain him and convince him.

In such a situation, who has the luxury of acting like a university Chair, and setup a committee to take the right decision? :-)

So the comparison with university is wrong. I see another comment in this thread referring to 'architecture astronaut' in the context of this post. IMO, this is more of 'architecture polish' ... just skims the surface :-)


What's needed isn't more or better management and communication.

But to design a system whose secret lies in what’s unstated or not communicated to one another (in an explicit sense)—in order to exploit lower‐level initiative yet realize higher‐level intent, thereby diminish friction.

If this is the state of the art in tech companies, I'm very blessed to have a real durable competitive advantage.


It's always going to be a pyramid. But you have to value and trust those whose daily decisions have the biggest impact on the customer's experience. Whether that's in product design, tech support, customer service or sales. It's de-motivating when you're working for managers who don't understand what that means. Joel is right but he's a bit harsh on Steve Jobs. I'm sure Steve Jobs was a pain in the *ss to work for but Steve did value designers more than any other company and he did value the people at the Genius bar more than any other retail company ever did. And I think that's exactly what Joel's article is about.


Executive summary:

A manager's job is to make the coffee so their secretary can prioritize their inbox.


Didn't everybody already know this? I'm not particularly in Silicon Valley, but I really thought most startups work the way Joel describes, instead of with the fake Steve Jobses. Was my idea of the world too good to be true?


I don't agree with the hole post, but the "administration layer" paradigm Joel has been proposing is kind of interesiting. In a way, it's the extreme opposite of the norm, and that's good, it challenges the way people normally think about "managment". It's humanistic by design. The problem is that, as not everybody is Jobs, not everybody is Spolsky.

This shouldn't be read as a sctrict methodology or recipe to copy. In programming, as Joel wrote, there are cheffs and there are McDonal's "burger flippers". That analogy also applies to managment.


> Seductively, it even works OK for a three person company.

Anyone who thinks command and control is a good idea with 2 other people has got bigger fish to fry than finer points of effective management.


Based on this, one would think that the "support/administrative/service corps" would receive much less compensation than the "talented individuals" who do all the real work. A lot of organizations preach or follow this philosophy, but I have yet to find one that puts its money where its mouth is and distributes compensation accordingly.


I thought the Latin phrase was "post hoc ergo propter hoc". Is "cum hoc..." also used?


The saddest thing about the Steve Jobs hagiography is all the young “incubator twerps” strutting around Mountain View deliberately cultivating their worst personality traits because they imagine that’s what made Steve Jobs a design genius. Cum hoc ergo propter hoc, young twerp.

I loved the swipe at the fake Steve Jobs's out there. I worked for one, although he wasn't young and it wasn't in Mountain View. He would cite Steve Jobs to defend defective practices. It was ridiculous.

It's a great essay, and I like Spolsky's management philosophy a lot, but I don't entirely agree. A business isn't academia. Businesses have to ship products and please their customers, and leaving these tasks to "the crowd" doesn't work. "The crowd", when we're talking about software engineers, produces brilliant chaos. That's great sometimes, and it can produce excellent products, but it's not good when you need focus or to meet a ship date. Sometimes a CEO or CTO needs to decide what gets worked on, how people do it, and to motivate people to make sure it happens.

Likewise, sometimes a leader needs to step in and resolve bike-shedding conflicts among two equally smart, strongly opinionated engineers who disagree on a core question, and to look for a compromise. "Management fiat" shouldn't be used lightly, but it's not without purpose.

That said, I think Spolsky deserves a lot of props for pointing out that the managerial relationship is two-sided. A lot of companies and bosses don't figure this out until they face uncontrollable talent bleed, and even then there's a lot of self-deception (I've known some ineffective managers to become bitter about their best reports "abandoning" them, as if it were some ethical lapse, but never to own up to their role).


"Likewise, sometimes a leader needs to step in and resolve bike-shedding conflicts among two equally smart, strongly opinionated engineers who disagree on a core question, and to look for a compromise."

The most effective people I worked for didn't try to dictate the solution to the conflict. They were effective at moving the disagreeing engineers past their conflict. Dictating a solution was always the last resort if the engineers had just "dug in their heals" instead of discussing rationally.


> The most effective people that I worked for didn't try to dictate the solution to the conflict

About China's presumptive next leader, Xi Jinping

His subtle and pragmatic style was seen in the way he handled a landmark power project teetering on the edge of failure in 2002, when he was governor of Fujian, a coastal province. The American company Bechtel and other foreign investors had poured in nearly $700 million. But the investors became mired in a dispute with planning officials.

After ducking foreign executives’ repeated requests for a meeting, Mr. Xi agreed to chat one night in the governor’s compound with an American business consultant on the project whose father had befriended Mr. Xi’s father in the 1940s.

Mr. Xi explained that he could not interfere in a dispute involving other powerful officials. But he showed that he knew the project intimately and supported it, promising to meet the investors “after the two sides have reached an agreement.” That spurred a compromise that allowed the power plant to begin operating.

“I thought, ‘This person is a brilliant politician,’ ” said the consultant, Sidney Rittenberg Jr.

> http://www.nytimes.com/2011/01/24/world/asia/24leader.html


I think Spolsky would agree. And my style is similar to his - Management Fiat is not the way to go, but it is my job to help ask the right questions to move the disagreeing engineers to find the right solution. Sometimes all it takes is having the two folks explain their positions, a la rubber-ducky-debugging (http://en.wikipedia.org/wiki/Rubber_duck_debugging)


I've chatted with a few potential cofounders over the past several months who have exhibited these traits - the arrogance, the condescension, the overall shady attitude. It's exhausting trying to explain to people that they are not Steve Jobs (also, that The Social Network is not indicative of how things actually work out here).


They might be the next Steve Jobs. You do not know that. Our culture handicaps a lot of people by promoting mediocrity and conformity and groupthink and putting artificial walls and ceilings around what a person is expected to do, nothing more or less.


Yes, and I might win the lottery, ergo I should spend all my money on lottery tickets.


Could Steve Jobs have been even more effective if he wasn't, in Spolsky's words, "a dictatorial, autocratic asshole who ruled by fiat and fear"?

It's possible. I know quite a few very talented ex-Apple engineers that left because they felt the environment was oppressive and stifling. Was Apple a better place without them?

I don't know. Jobs was crazy successful at what he did, but there's nothing in that to suggest that it was for the most visible reasons.


I agree.

Administration is part of what management do but it's a little demeaning to suggest that it's all that they do. Done right it should be closer to enabling and informing.

But I'll take it that it's a slightly exaggerated position to make people think about things differently which is fine.


Your word choices of 'enabling' and 'informing' suggest that the manager inherently has holds concentrated power and information and must dole it out where appropriate. That implicitly makes the manager a bottleneck.

Indeed, the word 'management' itself connotes a perspective incompatible with Joel's philosophy.


By enabling I mean the act of creating an environment that enables people to do good work. I've always like the metaphor that a project is like a truck and the role of the project manager is to keep the road clear. That's what I mean by enabling.

In terms of informing, I wasn't wild about the word but couldn't find anything better quickly. Where I was coming from is that in many cases developers and technicians don't have knowledge of the market, don't have much interest in liaising directly with customers and so on. That information should be fed back into the team and customers and others outside the technical team should have a voice which is another function one of the manager should provide.

I've always seen management in an ideal world as a peer role with different responsibilities.


If it's a core question, it's not "bike shedding." If the problem is really bike shedding, a good leader will get both sides to realize they're being ridiculous and wasting everyone's time over something trivial.


Yes, I wanted to write something similar. There needs to be someone with a vision of the 'whole thing'. The guy who steps in and tells the marketing guys that no, they can't add one more feature, or the hackers that no, they don't really need to implement their own database system, or whatever other things people get 'tunnel vision' about when not thinking about the company as a whole. Sure, in a good startup, everyone does keep that vision in mind, but it's good to have someone to adjudicate conflicts in a more or less impartial way, and set the general direction.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: