19 ms·
How Software Companies Die (1995)
- sid6376 14y agoPrevious discussion on HN https://news.ycombinator.com/item?id=552821 https://news.ycombinator.com/item?id=552821
- hakaaaaak 14y ago1435 days ago- that's almost 4 years. I wonder if one day in 2034 someone will post a "done that" link with a conversation over 10k days old?
- naanalla 14y agoThe classics remain classic. Still wonder same about "The Mythical Man-Month" So true...
- polymatter 14y agoFWIW I found that helpful as the old discussion made some interesting points that are not made invalid by the passing of a few years.
- yuhong 14y agohttp://programmers.stackexchange.com/questions/45776/why-do-business-analysts-and-project-managers-get-higher-salaries-than-programme http://programmers.stackexchange.com/questions/45776/why-do-...
- deleted 14y ago[deleted]
- pasbesoin 14y ago> closed as not constructive by Mark Trapp Sep 26 '11 at 8:16 I previously commented here on this in a slightly snarky fashion. I deleted that, but almost simultaneously, an upvote came through. (Sorry about that, whomever...) So, I'm recommenting, but hopefully without the snark. For me, this aspect of "Programming" was a serious, career-level question at times. This comment is now OT with respect to the OP, I guess, but... then again, maybe it's not. Because... isn't this a serious, career level question for many programmers? And, if so, where else would one discuss such things? In some ways, the out and out coding can be easier. It's the "career", and the politics, that can be the biggest pain in the ass with regard to the job. Depending upon circumstances. (Healthy hive, or smoked, as it were.)
- losethos 14y agoLinus was my kind of atheist -- industry, not academia. Industry picks C and not C++. I don't mind C++, though, but I like industry. I like Microsoft. Apple is not my people. I glanced at Go, the language. Didn't bother to pay attention. Not really interested. I think they got arrogant. ADA is a case study in bloated language, so I'm told. They're really fucking-up C++, aren't they. Just stop! More is not better! I've thought about my operating system and scaling. Everyone zombie-walks to the mindset of scaling worries. Scaling works both ways. Small enough and one name space. Small enough and 16-bit pointers -- hyperlinear. (I'm just saying it's neat. Mine is 64-bit pointers, however.) I think of my OS like a C64 ROM that's 139,000 lines of code instead of 20,000. I've lamented that if I had my chance it would grow and get fugly and need to be killed. There is something noble about not living forever. ---- God says... your brethren: this do, and ye shall not trespass. 19:11 And, behold, Amariah the chief priest is over you in all matters of the LORD; and Zebadiah the son of Ishmael, the ruler of the house of Judah, for all the king's matters: also the Levites shall be officers before you. Deal courageously, and the LORD shall be with the good. 20:1 It came to pass after this also, that the children of Moab, and the children of Ammon, and with them other beside the Ammonites, came against Jehoshaphat to battle. 20:2 Then there came some that told Jehoshaphat, saying, There cometh a great multitude against thee from beyond the sea on this side Syria; and, behold, they be in Hazazontamar, which is Engedi. 20:3 And Jehoshaphat feared, and set himself to seek the LORD, and proclaimed a fast throughout all Judah. ---- In a small project, you should use shorter variable names. Global variables are the right choice in an 1,000 line application program, of course! Don't be silly and snobby. ---- Pope's not my job. No birth control might mean famine. Birth rates are falling. The world is under God's plan. God says... they caught Paul and Silas, and drew them into the marketplace unto the rulers, 16:20 And brought them to the magistrates, saying, These men, being Jews, do exceedingly trouble our city, 16:21 And teach customs, which are not lawful for us to receive, neither to observe, being Romans. 16:22 And the multitude rose up together against them: and the magistrates rent off their clothes, and commanded to beat them. 16:23 And when they had laid many stripes upon them, they cast them into prison, charging the jailor to keep them safely: 16:24 Who, having received such a charge, thrust them into the inner prison, and made their feet fast in the stocks. 16:25 And at midnight Paul and Silas prayed, and sang praises unto God: and the prisoners heard them.
- gdg92989 14y agoOther previous discussion. This one is 120 days ago http://news.ycombinator.com/item?id=4776844 http://news.ycombinator.com/item?id=4776844 Personally I don't see why this resonates so much with the HN community. Its a great example of the worst attitude to take to work every day.
- cookiecaper 14y agoBecause it's kind of realistic. It is embellished a bit, of course, but it's true that programmers do not respond well to traditional management techniques, most especially when someone with no business whatsoever making technical calls presumes to do so (i.e. every business major who wants to feel important). Programmers and businessmen have a difficult time understanding each other, is basically the crux of it. As a programmer and a businessman, I have to say I still have difficulty understanding most businessmen, and do not respect MBA degrees (not necessarily their holders).
- ChuckMcM 14y agoPersonally I don't see why this resonates so much with the HN community. Really? This is like a nerd mantra, it hits so many stereotypes in so few words. Orson talked about it at BayCon once when it came up. I don't have a clear memory of exactly what he said but I took away from it that smart, introverted, people have a terrible time seeing anything outside their pool of influence, like looking at your shoes in a crowd and saying "everyone is crowding around me because I'm the coolest" when if you looked up you would see a pack of wolves circling the crowd. So all of their evaluation in their environment is about them and how people around them are responding. An artifact of that inward looking view is to construct an internally consistent explanation for why things suck now but didn't before. That always targets people who are not like them (the introvert) and for whom the introvert cannot understand their motivations or values. (and more often than not in a software company that is "suits", aka business people or managers) You combine that with a changing market place, and the thing that made the software successful before isn't valid any more, but if the programmers don't know why the software was successful in the first place they can't understand what changed or how to fix it. Imagine an artist who paints with charcoal, gets discovered, people buy their works, and then fashion moves on, and the artist goes broke. To an external viewer, fashion simply moved on, the artist was there (and fashionable for a time) and then they weren't. But internally the artist may have no concept of how briefly they were fashionable and now they weren't. Instead they construct an externalization of "discovery" where suddenly people begin to understand what it is they are doing with their art, and when they move on it is always some external force which has corrupted the minds of people seeing it or modified their vision. To accept the alternative, that their success was luck and fashion, rather than some deeper meaning, may be too harsh to think. People cling to sense of destiny and purpose rather than consider themselves the random connection of ova and zygote and circumstance. Where is the meaning in that? Orson captured this tension wonderfully in his essay, it resonates both with the bees who desperately want to be special and with the bee keepers who want productive bees without understanding that the bee's production is a byproduct of flowers and normal bee activity, it's a side effect of where the hive is and where the flowers are. Many software companies are fashion objects, successful ones are constantly producing new concepts and new ideas to stay in the limelight. Unsuccessful ones take a single success and assume they are done, nothing left to do but iterate. But fashion doesn't work like that.
- losethos 14y agoThis is the most classic conversation with an India nigger. Me, "Sorry, that's not how it works." India nigger, "Don't be sorry." ---- They are stupid, stubborn and arrogant. Not much to like. It's wrong to pick on the handycapped but I giggle laughing at explaining scaling working both ways. Global variables work in small scale. "This is not how you must do it. You do not understand programming." Knuth wanted 32-bit pointers on 64-bit systems. My boss Pete considered 16-bit on a 32-bit system back in 1993. This is simply not comprehensible by an India nigger.
- pootch 14y agoShort and to the point. I have lived this reality more than once. And its truer now than it was when it was written. One thing that seems certain, we careerist engineers will never stand up for our values. On that they can count.
- thsiao 14y agocame from a big company, escaped to start-up world but also a marketer. take offense that marketers are the problem here. coders aren't the only ones who get the life blood sucked out of them by too much management. good marketers love to work with good coders and relish in creativity and risk-taking.
- chrchr 14y agoIt's as true today as it was in his time.
- michaelochurch 14y agoThis is a good start, but ultimately doesn't have much insight into why companies die. Venkat Rao opened this discussion with his Gervais Principle series, which is very good: http://www.ribbonfarm.com/2009/10/07/the-gervais-principle-or-the-office-according-to-the-office/ http://www.ribbonfarm.com/2009/10/07/the-gervais-principle-o... I continued it with my (ongoing) series on my blog (8 parts and counting, will take a while to read): http://michaelochurch.wordpress.com/2013/02/19/gervais-principle-questioned-macleods-hierarchy-the-technocrat-and-vc-startups/ http://michaelochurch.wordpress.com/2013/02/19/gervais-princ... Companies start out as a risk transfer. Those who can tolerate financial volatility and change and social upheaval (MacLeod Sociopaths) start to trade risk with those who don't want it (MacLeod Losers). The risk-seekers become the entrepreneurs; the risk-averse become workers. This is benign for a while, but as the company becomes stable, the upper class becomes entitled, established, and complacent. They want to keep the perceived risk trade going, but the business is actually de-risked, so now they're just grabbing for unjustified or legacy superiority. They've won, and now they want to stay where they are. In order to keep the risk-transfer between them and the (expectancy-sacrificing) Losers, they have to create a middling buffer class of Clueless. This style of organization becomes resistant to change, systemically underperforming, and bland, but it's extremely stable on its own terms. People don't want the jobs above them enough to break the rules. Losers (who value comfort and stability) see the ranks above them as being harder, riskier, and are happy to stay put. Clueless are oblivious to the Effort Thermocline (the point in an organization where jobs become easier-- but also more political-- with ascending rank instead of harder) and run the organizational day-to-day while oblivious to the agendas of the Sociopaths above them. The most common end state of this is the organization with the full MacLeod hierarchy: Losers at the bottom, Clueless in the middle, Sociopaths at the top. It's a mature rank culture where position and subordinacy matter more than creative excellence and technical improvement. But why? The process is complex, but the truth is that this form of organizational corruption was, for a long time, harmless from a business perspective. When you're providing commodity products or services, the MacLeod rank culture works. It does the job. What's changing (first in software, increasingly in other areas of business) is the convexity switch. Concave work is work on which the difference between excellence and mediocrity is insignificant compared to that between mediocrity and zero. It's "get-it-done" commodity work where creativity isn't necessary or even useful. Convex work is that in which the difference between excellence and mediocrity is huge, and mediocrity is close to (or might be) zero. The difference between the (winding down) industrial and (soon to come) technological eras is the convexity of the work that the world needs. In the industrial era, most needed work was concave and the hierarchical MacLeod organization worked well. In the technological era in which the commodity work has been given to machines (who do it far more reliably and cheaply than any human) what's left is convex work. Traditional industrial management, though successful for 200 years, just falls down. The reason why is that it's all about reducing variance. For concave work, variation is mostly to the downside, and variance-reduction (the goal of most management) improves expectancy. For concave work, variance is mostly to the upside, and variance-reducing management drives expectancy to zero.