How Software Companies Die (1995)
diary.carolyn.org
diary.carolyn.org
"The 437th Time You've Read About Programmer's Tribal Aversion to 'Marketers', Except This Time Written By Orson Scott Card"
P.S. Let me take a whack at the bee's nest: good software that can't be marketed, isn't.
I like the article for the beehive analogy.
"The environment that nurtures creative programmers kills management and marketing types--and vice versa"
Are you saying this is not true? I've been trying to think of a company that is an exception to this, but i can't. [EDIT maybe Apple?]
I know that Google managers complain that engineers are taken more seriously in Google then themselves. As for engineers aversion to marketers you are completely on the money about that.
That repeated stereotype among techies reflects the closed-mindedness of cliques rather than some supposed 'liberated' viewpoint of hackers.
Creative people keep banging against the limits corporate rules impose on them. Those who don't bang are not creative.
The true genius of Jobs is his ability to understand, lead, motivate and inspire hacker-types (while not really being one himself). Woz, of course, being the first example.
Last time I knew, Apple's turnover on engineers was fairly high, higher than I expected for a company of that stature.
Like soldiers or artists, you don't care about the opinions of civilians. You're building something intricate and fine.
I think the use of the words "marketers" and "managers" in the article is misleading and only causes hostile knee-jerk responses. Rather, what's important in the article is the description of what happens when drones take over a software company, i.e. a stifling environment, which hackers cannot stand, and for good reason. Better people than I have written about this. For example, PG.
Those in authority tend to be annoyed by hackers' general attitude of disobedience. But that disobedience is a byproduct of the qualities that make them good programmers. They may laugh at the CEO when he talks in generic corporate newspeech, but they also laugh at someone who tells them a certain problem can't be solved. Suppress one, and you suppress the other.
Come to think of it, PG probably makes the same point in a more neutral (and productive) manner --> http://www.paulgraham.com/gba.html
Stereotypes are fun!
I disagree with this. True, it kills control freaks, but most management doesn't start out out like this. The problem is that when people who expect to be in charge see that they don't have even a minimal level of control, they start to crack down. And that oppressiveness results in the employees (programmers in this case) fighting back, often with passive-aggressive behavior.
Programmers have to accept that they are a part of the problem to start with. The almost instinctive animosity I see towards management is a sign of this.
Look, you're being managed by someone who doesn't really understand what you do. Failing to communicate properly (and yes, the greater onus is on the highly specialized talent to make an effort to communicate with the unspecialized than vice versa!) means that the person attempting to manage you doesn't know what you're doing, when it will be done and what he can do to alleviate problems. Most halfway decent managers just need enough information to manage. If your response to "when will it be done?" is "dunno" or "it's done when we're ready" or "between 5 days to three weeks" then you're not communicating very well and that person is going to think you're deliberately being vague, even if you're just being honest.
Second: "creative?" C'mon gimme a break. Most programmers work on business applications, how "creative" do they need to be in their day to day work? It's plumbing, not much more. Yes, occasionally you do have serious problems that need out of box thinking, but in the normal day-to-day work of business programming if extended creativity is required, something else is wrong. Programming games or entertainment software or something where you have wide latitude to make changes, absolutely. Insurance and HR applications? not so much.
The hordes of engineers working on the latest incarnation of BigRetailBankOnline.com do not produce a product, the banks services are its product.
So "real" programmers can't dress properly and reject any form of structure? Can we push these trivial stereotypes aside and instead realize that great programmers have a range of personalities? Smart people of all backgrounds, programmers included, rebel against rules that do not make sense. But rejecting rules does not make you a great programmer.
"Put them on a time clock, dress them in suits, and they become sullen and start sabotaging the product."
So "real" programmers can't dress properly ..."
Just curious but how did you equate "dress in suits" to "dress properly"? I've never been able to see the relevance of programmers wearing suits.
'Can't' is a strong word, but pretty much.
It's not just a programmer thing. People who are good at anything reject arbitrary structure. If your power is your talent, an organization which assigns power based on anything else is an obstacle for you. Nevertheless, such people can be happy with structure, if it elevates people they consider to be smarter or more capable than they are.
I don't think it's unique to programmers. The only reason why this phenomenon is so pronounced in our world is that we have greater than 10:1 productivity ratios among programmers.
By the way, not following the herd doesn't mean you're just undisciplined. One of the better programmers I've known wore only t-shirts and rarely even wore shoes in the office, and was considered half-impossible to deal with. But, he was actually more aware than the rest of us about how the whole organization ran, politically, and when he did make concessions, his managers felt like they had succeeded. Of course, you have to be insanely productive to get away with this, so it's not for everyone.
But while I know shoeless programmers I don't look up to them for their inability to cope with shoes.
A suit is one thing, looking like a hobo another.
People who are familiar with software development processes are focusing on code readability and simplicity which means quality, instead of a skills of coders.
Wow.