Atwood: I saw you wrote another, well we don't call it a blog because you get angry when you call your writing a blog.
Spolsky: <laughs>, it's not a blog !
Atwood: <laughs>, it's not a blog !
Spolsky: It was an extended tweet.
Atwood: Yes, it was a very very long twitter message about what a program manager does. Correct?
Spolsky: Yeah. 'Cos you know the terms are confusing. Different people use different title for different jobs. People are like.. you know.. "thats just a business analyst plus user interaction designer. Mine is the project manager with a little bit of ... program analyzer in there." and i figure, you know what, I got my own terminology and I am going to use it. And if I can just promulgate this terminology through my blog, then I dont have to accomodate everybody else's words for what they use for that job. I can just impose my own ideas on the whole world.
Atwood: Well, I enjoyed it because its one of those jobs where it is really hard to describe what it is, what it does and how it works and its one of those titles thats a little bit generic enough that nobody can really ever figure it out.
Spolsky: You know what, they just, they really, you know, all of those things get done. But the question is: who does them and what jobs can be combined with other jobs and what jobs should be separated and stuff like that. I think actually is quite relevant. I think that if people learn nothing else, it's that having somebody who's job is just to be the user advocate and argue with the developers and sort of own the design but not really own the implementation, creates a requirement to those people reach consensus and you just get better designs that way because the trouble of people have understanding each other. Instead of just doing the first thing you'd naturally do, you do get a better design. That's my point.
Atwood: And you have to wear Banana Republic chinos.
Spolsky: That's just a coincidence! <laughs> And in fact, that was one of the scary things that used to happen at Microsoft..
Atwood: While you try to find it I want to make one point while you're doing that, which is you wrote up the point of hierarchy, where programmers love hierarchy, to a degree that they don't even understand how different they are than the public in this regard. Like they love putting everything in this little bucket, that goes in this little bucket, which is this sub-bucket of this and this, and normal people hate that. And threading is totally a manifestation of that and it drives me crazy that a lot of programmers can't see that they're like immediately like: "Oh, threading is good. I love threading. What are you talking about?" You know? They can't see it at all.
Spolsky: Right, right.
Atwood: It's like myopia.
Spolsky: Yeh. I mean it's really a function of the size of the group, and one thing I've learned through years and years of usability testing is that anything that smacks of a hierarchy or a tree is not going to be understandable to the average, non-technical user.
Spolsky: You just have to learn that: if it's a tree, or a hierarchy, like eighty per cent of the regular people are going to get confused and not quite get it.