The central thesis of the article seems to be stated in the first sentence
"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.
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.
My read on Apple is that they're not a software company - they're a hardware design company that feels passionately about the software not sucking and detracting from the design of the hardware.
Last time I knew, Apple's turnover on engineers was fairly high, higher than I expected for a company of that stature.
That depends entirely on your definition of "good software", something which the article has already addressed.
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.
"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 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.
So "real" programmers can't dress properly and reject any form of structure?
'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.
The environment that nurtures creative programmers kills management and marketing types--and vice versa
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.
Yes, but the programmers working on business applications are already wearing suits or at least business casual. They are service programmers not product programmers which, I think, the piece more accurately targets.
The hordes of engineers working on the latest incarnation of BigRetailBankOnline.com do not produce a product, the banks services are its product.
This is probably due to a longer trend going on since the 70s, where the rise of the M.B.A., accountant and lawyer started. They don't care about the product. In general, why would you want a beancounter running a non-commodity producing company??? I hope this changes soon and these M.B.A. factories stop churning out people.
This is probably due to a longer trend going on since the 70s, where the rise of the programmer, hacker and software enginner started. They don't care about the business.
You know, when the MBA degree started, it was intended to teach business skills to experienced engineers as they were promoted into management roles. The idea of a "pure manager" MBA who hasn't ever actually done the "real work" his organization does to make money is a relatively recent one. And that is the problem with MBAs. Similarly, in many companies, it is possible to be a project manager having never done any of the projects you are managing. This usually ends in tears because practitioners never bother to mention "obvious" things so the PMs lose track of cross-functional dependencies.
I think this is a view that some subset of developers has, but there's definitely another camp of developers who thrive in an entrepreneurial environment with a lot of focus on business success. I'm one. The company I work at was like that, and has now shifted more towards the "beehive" described here. I call it "developer day care" and it doesn't motivate me in the slightest.
That is the common case for a small company which was founded by managers of financial people who do not understand programming at all.
People who are familiar with software development processes are focusing on code readability and simplicity which means quality, instead of a skills of coders.
24 comments
[ 2.6 ms ] story [ 73.9 ms ] thread"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
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.
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.
Wow.
Stereotypes are fun!
People who are familiar with software development processes are focusing on code readability and simplicity which means quality, instead of a skills of coders.