top | item 3837086

Coding is priority number five

152 points| tghw | 14 years ago |bitquabit.com | reply

32 comments

order
[+] jbert|14 years ago|reply
> "Shit Umbrella"

I have in the past categorised managers as "umbrellas" or "funnels" (and I guess there's an inbetween 'pipe').

The idea is that there is work the team should ideally not be doing (the 'shit'). That either needs to be rebuffed by the manager or handled another way (e.g. by stalling on it, doing it themselves, or making it someone else's problem).

Good managers keep the shit away from the team somehow. They're umbrellas.

Poor managers act as simple proxies. If anyone requests anything from them, they pass it on to someone on their team, without considering if they should or could block it (or handle it themselves). They're pipes.

Really bad managers act as intensifiers of the shit. e.g. by getting multiple people on the team duplicating effort on it. Or by being the sort of corporate busybody who goes and attracts more of it. Or by having slow, talky meetings about it which add time and friction. They're funnels.

[+] duwease|14 years ago|reply
One thing I found from my experience as a team lead (and which is somewhat touched on in this article), is that sometimes, because team members never get a whiff of all of the deflected things that never reached them, the more critical will sometimes get the opinion that you're doing nothing at all other than acting as a pipe.

I vividly recall one incident where I passed along an urgent UAT issue to a self-styled "hot shot" developer, who responded (with cc's) that he was entirely too busy, and that "if I had two hands I could do it myself".. since I was "obviously not busy as I hadn't had many commits lately". Meanwhile, I was two hours into a client call negotiating turning functionality requests into deadline shifts, was simultaneously trying to triage a production issue to see if it was our problem or the client's problem, and had 50+ emails from developers and clients just from that day still un-responded to.. yeah, silent evidence is a bitch.

I do have to agree, however, that moving back to development released a lot of stress for me. It's far less stressful thinking about whether or not I can get something done as opposed to wondering whether 15 other people are going to be able to get something done..

[+] shrub|14 years ago|reply
What's the analogy for really, really bad managers who pass everything through, but not before completely misunderstanding the request and garbling it beyond recognition such that the developers deliver something completely different than what the customer actually wanted? These managers are also adept at completely misunderstanding their developers and telling clients outrageous things because they're just pretending to understand.
[+] cek|14 years ago|reply
"Your job, should you accept it, is to become what I’ve lovingly dubbed Shit Umbrella"

So, so true. And this is an excellent article.

There's another aspect of becoming a manager that the Benjamin doesn't discuss here, but is closely related:

The best managers/leads are excellent at saying "No". They say "No" to outside (especially upward) voices as well as to the people they lead. The most important aspect of being excellent at saying "No" (as a leader) is to be able to say "No" to yourself.

I don't know Benjamin myself, but he sounds smart and probably has tons of great ideas. The team is executing against a plan and Benjamin might have a really great idea for a new feature, process, etc... To be a really great Shit Umbrella a lead like Benjamin needs to be disciplined about when to say "No" to his own ideas.

[+] j_baker|14 years ago|reply
I suspect you and I agree on this, but I'd like to reframe your argument a bit. I would argue that a good manager should strive to never explicitly say "no". There are plenty of ways to limit misguided ideas without explicitly saying no. For instance, you can say "Yes but...", "Perhaps, but only if...", or (my personal favorite) "Good idea, but I personally like your other idea much better". The advantage this approach has is that it makes sure that you're not shutting down a good idea that has some major (albeit fixable) flaws.

Of course, sometimes you have to just set your foot down and just say "No". But I've noticed that as managers get more experienced, they tend to rely on their ability to do so less and less.

[+] Dove|14 years ago|reply
I came here to say the same thing. "Shit Umbrella" is a fantastic description.
[+] poundy|14 years ago|reply
I used to be a developer. I now work as a team lead / client liaison. Coding is not in the top 5. My job is to anticipate what my team will need and make sure that there are no obstacles. I also help with DB design and platform choices. Strong knowledge and experience with what developers need help me a lot.

I was wondering if a person without a development background could take my role as team leader to manage 3/4 developers on a daily basis.

[+] rollypolly|14 years ago|reply
I think it's fairly common to see people in managerial positions without technical backgrounds. I've rarely seen it work tho.
[+] mdwrigh2|14 years ago|reply
That sounds like a pretty awesome way to handle it, so props to Fog Creek.

Having said that, what happened after he stepped down? Did they hire outside of the company? Promote another senior developer?

[+] gecko|14 years ago|reply
We promoted an awesome developer who really wanted to be the Kiln Team Lead into the position.
[+] levifig|14 years ago|reply
Holy crap, I couldn't agree more. Thank you Benjamin!

I just wrote a comment/follow-up from the flip-side perspective: someone wired to be a "Shit Umbrella" who is stuck in a world where you have to be a "rockstar coder" first – http://levifig.com/articles/a-tale-of-priorities/

[+] rwallace|14 years ago|reply
I remember reading about Microsoft having a Program Manager job title, which sounded exactly like what you're looking for. Might be worth approaching them, or looking to see whether other companies have something similar?
[+] mosjeff|14 years ago|reply
Wow, this article couldn't have come at a better time for me. Recently, I jumped from being a lead developer to being an architect and manager. Benjamin articulates exactly what I'm going through. Unfortunately, I don't think going backwards is an option for me.
[+] gecko|14 years ago|reply
I actually did enjoy being a team lead for awhile (once I got the hang of it). If you're a people person, it can be tremendously rewarding to see your team thrive at delivering piles of awesome. I just reached a point where I wasn't learning anything anymore (Fog Creek's just not that big; you do pretty much run out of novel managey things after awhile) and wanted to do more coding again. So I guess I'd tell you to grasp on really tightly to the idea of hanging your success on your team's success, and knowing that if they're doing their job well, you're probably doing the right thing.
[+] benohear|14 years ago|reply
So what were priorities #1-4?
[+] gecko|14 years ago|reply
(Not in order) PR, ensuring infrastructure was in place, working with sales/support on priorities, product direction.