6 ms·
Theory P: The Philosophy of Managing Programmers (*not* a parody)
- dusklight 17y agolol? sounds like a non-technical manager who is unable to identify the smart coders, who uses policies that have consistently chased the smartest coders away from his department, and who has chosen to blame this on the coders rather than his poor policies.
- scottw 17y agoAgreed—it also seems to unwittingly highlight the perils of judging someone by the aggregate data of their profession, rather than the individual's merits.
- dasil003 17y agoI wish I could lol, but the thought of this guy getting paid for spouting this nonsense really chafes my hide. For every nugget of truth in this article there is a viscous slathering of insecurity projected onto what were no doubt highly abused technical teams systematically subjected to abusive middle management by a blathering idiot. My secret desire is that deep down Tim Bryce really does realize what an utterly irredeemable fool he is.
- forinti 17y ago"This must be carefully nurtured by management" Aren't these managers wonderful people?
- F_J_H 17y agoIn my experience, this is all to often the truth: "There is also the problem that programmers tend to be somewhat faddish. It is not uncommon for them to recommend a solution that is technically fashionable, not necessarily what's practical. An elegant solution to the wrong problem solves nothing. It is important for programmers to learn to justify their technical recommendations from a business perspective. Failure to do so will inevitably result in a costly decision."
- iigs 17y agoWithin reason I agree, but in large part "technology fads" are actually evolution. The mood ring was a fad. Nobody knew what it was, then it happened, then it went away again and everyone was fine. With technology that's largely not the case. What appear to be fads end up being evolutionary dead ends. [Possible HN heresy ahead] I'd put LISP business applicaiton development into this category. Prior to the AI craze, systems were developed in low level programming languages or mainframe business languages. Then LISP happened, but when the AI winter happened, did people go back to C/ASM/{the IBM languages}? No! C++, and later Java happened. For business Java will eventually superseded, but it's foolhardy to think people will regress to the languages of yesteryear -- time is marching forward. Being too stodgy or unwilling to invest in maintaining the business applications in current mainstream languages can put you in a precarious support situation in a relatively short (say a decade) time when people that are willing to do work in your system language are very expensive and no longer the best people in the industry. Obviously it's important to see through technology fads but starting from a position of skepticism may not play as well as it seems at first blush.
- omouse 17y agoIt's the fault of businesspeople that programmers are faddish. They're the ones selling crap to one another that they force their programmers to use. They use cheap gimmicks and marketing campaigns to move more units at the expense of quality software.
- mclin 17y agoCDD = Career Driven Development Choosing technologies/fads for a project based on what will look best on your resume.
- gaius 17y agoIt's exactly the opposite. Fads are forced on programmers by managers who know nothing more than they read about them in a vendor sponsored article in "CIO Monthly" magazine they read at the airport.
- F_J_H 17y ago
- rbranson 17y agoWhile the article is obviously made by a jackass, it's understandable given the following statement: "In reality there is only a handful of true programming geniuses in the field who are either independent contractors or are employed by computer hardware/software firms. There are few, if any, true programming geniuses in the average corporate shop." I might agree with that statement.
- arohner 17y agoBut that's just Sturgeon's Law: 90% of everything is crap. http://en.wikipedia.org/wiki/Sturgeons_Law http://en.wikipedia.org/wiki/Sturgeons_Law
- arohner 17y ago"In reality there is only a handful of true programming geniuses in the field who are either independent contractors or are employed by computer hardware/software firms. There are few, if any, true programming geniuses in the average corporate shop." With managers like that, I wonder why. I wonder if they're working on startups to not deal with people like that.
- sshumaker 17y agoI'm not sure I agree with this statement. There's definitely not an equal distribution of intelligence across all disciplines. In the 50's and 60's, when aerospace was the rage, all of the best and brightest wanted to work for NASA and become rocket scientists. In the last twenty or so years, the best and the brightest have been drawn to computers. One might argue this is part of the reason we've seen so much innovation in the computer industry, and so little in aerospace (60 years after flight was invented, we had a man on the moon. what have we done since?) Given that a higher proportion of intelligent people are attracted to technology fields, it's a safe assumption that programmers are ABOVE average intelligence - and there are more geniuses here than elsewhere. That said, the 'average corporate shop' probably has driven out all signs of intelligent life, especially if managed by people like the writer of this article.
- F_J_H 17y agoThe thing, everyone with an account on HN would put themselves in that category. It's like asking someone if they are a better than average driver. Of course they are. And, if you are a successful startup, sooner or later you will become an "average corporate shop". And so...you need to learn how to manage them.
- arohner 17y agoKey Observations: 1. Managers exhibit an average intelligence level, no greater than any other professional with a college degree. They exhibit an average imagination. 2. Perhaps more than any other profession, managers try to impress and intimidate others with their technical jargon. Such language usually masks inadequacies elsewhere. 3. Managers are capable of learning new skills but must demonstrate a willingness to learn. 4. Without basic organization and discipline, managers will become mentally lazy. See, it's easy to make unsubstantiated, insulting generalizations.
- gaius 17y agoBut but but he has "managed projects far larger and more complex than you can imagine, involving multiple languages, various data base structures, artificial intelligence, and universal applicability" Data base structures! Universal applicability! I find it hard to believe this is not a parody...
- arohner 17y agoOne side-effect I really hope to see from the sprouting of YC and YC-like firms is a break in this stereotypes of programmers being autistic children that need handlers. Though, I suspect it will suffer from selection bias. Any technical founders that end up making successful companies will be known for starting a company, and less known for their coding ability. You'll end up with techie founders who appear "normal" because they're successful, and the "autistic children" will continue to be employees for managers like this guy.
- omouse 17y agoYou don't need YC or YC-like firms for that. You just need computing scientists and computer programmers to act like professionals and dump the stereotypes themselves.
- arohner 17y agoSo you're saying they deserve it? Most programmers I've worked with act like professionals, yet are still treated like children. It's bad managers that have the stereotype, so programmers continuing to be professional doesn't fix the problem.
- wildjim 17y agoIt's a sad and disappointing article, and too many "observations" seem rather biased and couched in the claim of multiple years of experience; though I highly doubt it's very broad experience, because the views are too narrow. I strongly suspect this article is based on two aspects: - one is to sell his services with a type of confirmation bias, i.e. to confirm "what every manager suspected about their programmers but could never prove", which leads to: - ending up "helping" the same type of companies/clients throughout his career.
- balding_n_tired 17y agoSomehow it troubles me to see someone calling down programmers who doesn't know "charade" from "facade" "verbosity" from -- well, maybe he means verbiage and whose writing would get a charity C+ at a good high school. Key observations: "1. Perhaps more than any other profession, programmers try to impress and intimidate others with their technical jargon. Such language usually masks inadequacies elsewhere." Read some social science texts, my friend; hell, read any literary criticism dating from about the 1920s on. Jargon has its purpose, and in computing it serves well. "2. Be leery of programmers that are pseudo-intellectual. They are probably hiding something." If only one knew what "pseudo-intellectual" meant. Is a programmer pseudo-intellectual if he says "Bryce, your prose--res ipsa loquitur!" Is a blogger pseudo-intellectual if he calls his ramblings "theory P", or his observations a philosophy?
- omouse 17y agoHe should read his own article to see how well business people like to impress and intimidate others with jargon. A programmer is pseudo-intellectual if they believe they do not need any knowledge of mathematics and any knowledge of how to speak and write well in their native language.
- radu_floricica 17y agoAm I the only one here who mostly agrees with the article? Especially with the bad parts. I don't have that much experience, but it's already been over 10 years of programming, freelancing and occasional managing, and I find pretty much everything in this article familiar. From the difference between a programmer and an analyst, the average intelligence level, to the lazynes and lack of motivation which are almost a professional disease among programmers. If I were employed in a corporation I'd actually _like_ my manager to try and make my work motivating, even though it is fundamentally about "sorting files and making raports". Ignoring the problem won't make it go away. edit: I'm not one of the star programmers btw. I had to pass 30 to realize I'm actually not that bright, and if I want to make something I have to deal with my lazyness and work and learn.
- sedachv 17y agoAll the management tips in that article make perfect sense: "Be leery of programmers that are pseudo-intellectual. They are probably hiding something." If you can't explain something clearly and concisely, you either need to improve your communication skills or really are hiding something (http://www.reddit.com/r/IAmA/comments/9sfm5/i_am_a_man_in_his_30s_that_has_lied_and_bullsed/ http://www.reddit.com/r/IAmA/comments/9sfm5/i_am_a_man_in_hi...) "Improve communications within the programming staff by developing a standard glossary of terms. This will also be useful to outsiders who have to interface with programmers." This is the core idea behind Domain-Driven Design. "Carefully scrutinize technical proposals. Make the programmers justify it from a business perspective." ROI ROI ROI "Adopt standards for documenting programs (e.g., graphics and/or text detailing the organization and logic of the program)." Duh. "Develop standard development practices emphasizing quality and program re-usability. Demanding precision in development will result in superior performance." Duh x 2 "Implement a skills inventory to monitor the talents and proficiencies of the programming staff. This is used to determine the need for additional training, as well to select the most suitable individual for a programming assignment." If only more managers did this!! "Promote a program of on-going education, such as a training curriculum, the development of technical library, participation in professional associations, and technical certification programs." How can you say the author of the article looks down on programmers? Again, most coders wish their organization had a program like this. "Develop security measures to safeguard the company's intellectual property." This one is agreeable on some level, however that level is CIO and not team managers. "Recognize outstanding achievement even for the smallest of jobs." Ok. You need to recognize people's effort and achievements. "Manage from the bottom-up. Delegate responsibility and hold people accountable for their actions. Teach employees to supervise themselves." Of course, the author really does think programmers are morons! How else can he recommend something like this?
- JshWright 17y agoI trudged through the first dozen or so paragraphs, and finally gave up at this: "Consequently, there is little original source code being produced in today's software."
- msluyter 17y ago"It is well known that programmers generally abhor organization and discipline. Their desks are often littered with stacks of paper and other debris." He got that much right (referring to myself).
- bitwize 17y agoProgrammers abhor stuffed shirts and their style of organization and discipline. They tend to accrete methods of organization and discipline suited for their work. That's what hacker culture is all about.
- sketerpot 17y agoKeep in mind that this article was written by someone who believes that employees should be forbidden to listen to music other than company-approved easy-listening muzak. Which he feels should be mandatory. In short, this guy is trying very hard to rationalize his extremely controlling nature.
- jpwagner 17y agothis must be a joke (a dry one at that.) not worth the read.
- sketerpot 17y agoNo, this guy is actually every bit as much of a bozo as the article suggests. Check out his guide to hiring a programmer: http://it.toolbox.com/blogs/irm-blog/hiring-the-right-programmer-11596 http://it.toolbox.com/blogs/irm-blog/hiring-the-right-progra... In particular, his example of good C code is illuminating: int. Table [10] [10]; /* 2 dimensional array */ for (i=0; ; <10; ++i) for (j=0; ; <10; ++i) printf("%d/n",table[i][j]); Enough said, I think.
- microtherion 17y agoI also like this one about printers: http://it.toolbox.com/blogs/irm-blog/bryces-pet-peeve-computer-printers-11242009-35499 http://it.toolbox.com/blogs/irm-blog/bryces-pet-peeve-comput... where he talks about "today's consumer dot-matrix printers".
- frankus 17y agoIt's hard for me to pin down just what it is about this article that sticks in my caw, because a lot of his points are spot on, either with regard to me or with regard to people I've worked with in the past. If this guy were a programmer, talking about what sort of management structure works for him, it would probably seem thought-provoking, if flawed. We've all met pseudo-intellectual types in our business, or those that are always following the latest fad, or those who have decided that they're too old to learn anything new. In fact most of us (I know I am) are guilty of these sorts of things ourselves. But because he's an outsider we're put on the defensive, and the whole thing comes across as condescending and insulting. It's especially biting because there's an element of truth to it. We're being judged not as individuals, but as part of the biased sample of bad apples from dysfunctional organizations that this guy has dealt with. This must be what being a victim of prejudice feels like. EDIT: Now that I think about it, this is how I felt the first time I stumbled upon http://stuffwhitepeoplelike.com/ http://stuffwhitepeoplelike.com/, until I realized that a) it's a joke and b) the author is very, very white.
- rw140 17y agoI am tempted to make the blanket statement: "Don't let non-technical managers manage technical people." That would be unfair to all the good non-technical managers out there (I believe this is harder, but still possible). How about "Don't let managers who cannot establish a rapport with technical people manage technical people"?
- pmichaud 17y agoI stopped reading when I got to the bit about programmers being glorified translators.
- etherael 17y agoThis man is a buffoon. http://www.phmainstreet.com/mba/ http://www.phmainstreet.com/mba/ I know, let's name my company MBA so I can present myself as Tim Bryce (MBA).
- gaius 17y agoBroken links on that site too (e.g. to "Bryce's Laws", none of which he can claim to have originated).