8 ms·
'My team will be able to program circles around everyone else' (2002)
- codethief 6y agoSeems to be offline. Here's the archived version: https://web.archive.org/web/20101217145038/https://lemonodor.com/archives/000246.html https://web.archive.org/web/20101217145038/https://lemonodor...
- rusk 6y agoYour team will be a compliance nightmare EDIT they will also burn out and leave once real operational issues drive through fixes that break your well thought out abstractions and you don’t have the safety net of a type system to catch you and progress grindS to a halt as technical debt mounts and we just want you to fix the damn bug not hear about your artists journey!
- tmpz22 6y agoI didn't know it was possible but /r/iamverysmart has a winner. --- Though it's not relevant, I would argue like this: My team will be able to program circles around everyone else. They will be able to construct rapidly a language specific to the problem we are solving rather than using a language designed by computer scientists worrying about their place in history and a herd of library writers working in cubicles a thousand miles from our business. My team will be able to use a language without training wheels. Strong typing is for weak minds, and it's exactly like they say at MIT: Our current popular languages are designed to help losers lose less. I will be able to point to various examples where Lisp programmers have written not only 3-5 times faster, but they wrote things other programmers thought were impossible. In this regard, I'd tell the CEO, our competitors will be spending all their time trying to figure out that it's really possible we're doing what we're doing, because they will be thinking in terms of customization at compile time or link time, not at runtime. Moreover, we will be operating where the CEO is focusing on his or her specialty and not imposing his or her knuckleheaded view on technology. Because Lisp is dead, I'll get better programmers for less money. I'll be able to guarantee 50 more IQ points for the same pay. And my guys will be able to spend their time typing in value not book keeping overhead and typing in type descriptions because their guys are too stupid to know when they type + numbers are involved. Because no one uses Lisp, I'll have my pick of thousands of great, experienced programmers looking to work for someone with a non-zero IQ, not the ones fresh out of college with 10 programs under their belts. I'll be compatible with everything because it is right now. And if someone throws me a bug, I can code around it in a few minutes. Being a niche market means we're more proprietary. People will not use Lisp to compete with us because they are lamebrains listening to the latest fashion statement from Sun or Microsoft.The open source crowd isn't even smart enough to notice C++, so they are especially nowhere in the picture. Of course, no CEO will belive this because every one of them is stupid. - Posted October 2002
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- AnimalMuppet 6y agoThus speaks someone who doesn't know anything about the difference between computer programming and software engineering. They may be able to program circles around everyone else, but they can't software engineer their way out of a wet paper bag, and they're going to produce a disaster. But they'll be on their way to the next place before it becomes clear how much of a disaster they created at this place, so they'll go cheerfully on their way, basking in their own smartness as they create destruction.
- rusk 6y agoIndeed, I’ve seen the type a couple of times before. They usually show up when an aloof management admits to themselves they have run out of ideas and want to introduce “transformational” thinking into an established team. They’ll typically fanny around for a few weeks, make a few noises that sound like no true Scotsman, annoy everybody, break a few things and then move on to the next thing when they burn out. How do I know this? I have been that guy.
- opnitro 6y agoHey at least you've gained the introspection to realize it. That takes effort. I've also been that guy, and hope I am not still.
- monoideism 6y agoProbably not. In my experience, they usually have zero self-awareness, so your own introspection bodes well.
- to11mtm 6y agoAs I mentioned in another post, sometimes it becomes a rite of passage, especially if you are put in a situation where you weren't properly mentored/checked. I've only left one real 'mess', it was a smaller one and mostly because I left the org before we were able to get to the final state. However I gave plenty of notes to make sure they could finish it up. On the other hand I've managed to build a good career out of being the guy who shows up after a mess is made, and cleans it up. (BTW, this is not a bad spot to be in if you like learning either, you will get good at actually -reading- code, other people's code. And, all the crazy stuff you see, eventually you start to realize there is a -right- way to use some of it. :) One thing about the software -development- process (be it software engineering or something else) is that there should still be some form check/balance to avoid insanity. As an example, at the moment I'm working on some performance stuff for an open source library. But there's a certain point where I said "I'm stopping here, any work onward is going in a new branch, since it's going to be impure to the rest of the project and IDK if that's what people really want, even if it's a decent gain". Common sense.
- scotty79 6y agoSo, how did it go for the last 18 years for this guy? Or was it just a satire?
- smoyer 6y agoFrom one of his self-biographies: > However, after a series of the inevitable, endemic startup setbacks that the Internet boom all too often left in its wake, Gabriel grew weary of the cold, cloistered, celibate tedium of engineering culture, and fell willing prey to the lure of the exotic social and intellectual stimulation and blandishments that only the Liberal Arts could offer.
- Akinato 6y agoGod this man sounds insufferable.
- Freestyler_3 6y agoYeah a really long sentence to say either "I failed to capatilize on my claims" (if that was even possible)
- aaron695 6y agoBecause he is opinionated and doesn't write in a boring way? He specifically tries to write in a poetic style. See his website - https://dreamsongs.com/ https://dreamsongs.com/ In 2002 he was 53 years old.
- sciurus 6y agoHere's the wikipedia entry for the author of the quoted text: https://en.wikipedia.org/wiki/Richard_P._Gabriel https://en.wikipedia.org/wiki/Richard_P._Gabriel
- MR4D 6y agoA "(2002)" should be added to this.
- sxp 6y agoI prefer Stephenson's description of the team in Cryptonomicon: Epiphyte Corp.’s business plan is about an inch thick, neither fat nor skinny as these things go. The interior pages are slickly and groovily desktop-published out of Avi’s laptop. The covers are rugged hand-laid paper of rice chaff, bamboo tailings, free-range hemp, and crystalline glacial meltwater made by wizened artisans operating out of a mist-shrouded temple hewn from living volcanic rock on some island known only to aerobically gifted, Spandex-sheathed Left Coast travel bores. An impressionistic map of the South China Sea has been dashed across these covers by molecularly reconstructed Ming Dynasty calligraphers using brushes of combed unicorn mane dipped into ink made of grinding down charcoal slabs fashioned by blind stylite monks from hand-charred fragments of the True Cross. The actual content of the business plan hews to a logical structure straight out of the Principia Mathematica. Lesser entrepreneurs purchase business-plan-writing software: packages of boilerplate text and spread sheets, craftily linked together so that you need only go through and fill in a few blanks. Avi and Beryl have written enough business plans between the two of them that they can smash them out from brute memory. Avi’s business plans tend to go something like this: MISSION: At [name of company] it is our conviction that [to do the stuff we want to do] and to increase shareholder value are not merely complementary activities—they are inextricably linked. PURPOSE: To increase shareholder value by [doing stuff] EXTREMELY SERIOUS WARNING (printed on a separate page, in red letters on a yellow background): Unless you are as smart as Johann Karl Friedrich Gauss, savvy as a half-blind Calcutta bootblack, tough as General William Tecumseh Sherman, rich as the Queen of England, emotionally resilient as a Red Sox fan, and as generally able to take care of yourself as the average nuclear missile submarine commander, you should never have been allowed near this document. Please dispose of it as you would any piece of high-level radioactive waste and then arrange with a qualified surgeon to amputate your arms at the elbows and gouge your eyes from their sockets. This warning is necessary because once, a hundred years ago, a little old lady in Kentucky put a hundred dollars into a dry goods company which went belly-up and only returned her ninety-nine dollars. Ever since then the government has been on our asses. If you ignore this warning, read on at your peril—you are dead certain to lose everything you’ve got and live out your final decades beating back waves of termites in a Mississippi Delta leper colony. Still reading? Great. Now that we’ve scared off the lightweights, let’s get down to business. EXECUTIVE SUMMARY: We will raise [some money], then [do some stuff] and increase shareholder value. Want details? Read on. INTRODUCTION: [This trend], which everyone knows about, and [that trend], which is so incredibly arcane that you probably didn’t know about it until just now, and [this other trend over here] which might seem, at first blush, to be completely unrelated, when all taken together, lead us to the (proprietary, secret, heavily patented, trademarked, and NDAed) insight that we could increase shareholder value by [doing stuff]. We will need $ [a large number] and after [not too long] we will be able to realize an increase in value to $ [an even larger number], unless [hell freezes over in midsummer]. DETAILS: Phase 1: After taking vows of celibacy and abstinence and forgoing all of our material possessions for homespun robes, we (viz, appended resumes) will move into a modest complex of scavenged refrigerator boxes in the central Gobi Desert, where real estate is so cheap that we are actually being paid to occupy it, thereby enhancing shareholder value even before we have actually done anything. On a daily ration consisting of a handful of uncooked rice and a ladleful of water, we will [begin to do stuff]. Phase 2, 3, 4, . . . , n-1: We will [do more stuff, steadily enhancing shareholder value in the process] unless [the earth is struck by an asteroid a thousand miles in diameter, in which case certain assumptions will have to be readjusted; refer to Spreadsheets 397-413]. Phase n: before the ink on our Nobel Prize certificates is dry, we will confiscate the property of our competitors, including anyone foolish enough to have invested in their pathetic companies. We will sell all of these people into slavery. All proceeds will be redistributed among our shareholders, who will hardly notice, since Spreadsheet 265 demonstrates that, by this time, the company will be larger than the British Empire at its zenith. SPREADSHEETS: [Pages and pages of numbers in tiny print, conveniently summarized by graphs that all seem to be exponential curves screaming heavenward, albeit with enough pseudo-random noise in them to lend plausibility]. RESUMES: Just recall the opening reel of The Magnificent Seven and you won’t have to bother with this part; you should crawl to us on hands and knees and beg us for the privilege of paying our salaries.
- jerf 6y agoBe sure to view this through the lens of 2002, where Python is still a niche language and Perl is only used by certain UNIX crazies, at least in the eyes of most of the business competition of the time. Most statically-typed languages are fairly awful at this point and you could get big wins by switching to something else. A language I consider fatally flawed in 2020 could be a huge differential advantage in 2002, because the competition is that much worse. In 2020, I think we have many more viable languages that have squeezed out the sort of general crappiness we had in 2002 in programming languages, and the ability of a startup to choose $LANGUAGE and attain a systematic multiplicative advantage over incumbents is small. You have a modest opportunity to win over incumbents by choosing better operational mechanisms (I call it "marginal" because the incumbents are switching to k8s or whatever at a decent speed too), but mostly your big technical advantage is the ability to greenfield something, even as it is also a nearly-crippling disadvantage in some ways too.
- paganel 6y ago> Be sure to view this through the lens of 2002 Those were definitely interesting times. I'd say that Perl was a little bit more generalist, though, it was not exactly down at the PHP level but was what "serious" websites were using (I say that as a guy who started to learn Python in 2003 because I was too afraid to start and learn Perl). Back to the post, I wonder if reddit would have still been picked by YC if it hadn't been originally written in Lisp (this I think was late 2004, early 2005?). I'm sure the whole story is written somewhere in a blog-post/dedicated reddit thread but I'm too lazy to check right now.
- JohnL4 6y ago"Python was a niche language"? What niche were you in in 2002? Java was going great guns and Pascal/Delphi were definitely a thing. Or are you just saying "a pox on all statically-typed houses"?
- coldtea 6y ago>"Python was a niche language"? What niche were you in in 2002? Don't know about the parent, but I did use Python from 2000 to mid-2000s doing web programming - mostly Zope. So there's that...
- ivraatiems 6y agoSo if I understand this right, you (the author) are the only one who knows whether anything is good, your people are the only ones who can fix anything, and anyone who doesn't believe you is an idiot? Please explain to me how this mode of thinking is distinguishable from being in a cult. I would not work with this man. Anyone who cares enough about how "smart" they are by some arbitrary metric to write screeds about it would be intolerable to work with. Imagine what happens when they are, at long last, wrong about anything. If this guy represents self-professed "winners", I'll take the losers any day.
- Supermancho 6y agoHiring aspiring magicians for cheap will not keep them very long in a magician hungry market, regardless of the imagined wage slave trap presented.
- paulsutter 6y agoOh really, what was it that he was building in 2002, and how did that work out?
- defen 6y agoHe seems to have made the typical armchair general mistake of assuming strategy can defeat logistics.
- dpc_pw 6y agoHe was building circles around other languages. It worked great. All circles were nice, neat, perfectly round like Lisp parenthesis and inside those circles other developers using unenlightened languages were getting actual work someone cared about done.
- hinkley 6y agoTo my chagrin, or even dismay, I've discovered that most of the time people who 'code circles around someone' have found a way to handicap everyone else. When you construct code to exactly fit your own mental model of the universe, you filter out a lot of other potential collaborators. You create a system where you have to do certain work because nobody else can. It's easy to interpret this as being about your qualities instead of your failings. And eventually this bites everybody on the ass. These people will often become a bottleneck, because while it may look like they won't delegate to others, the truth is that they cannot. They don't know how, and they're standing at the bottom of a hole before it becomes apparent.
- deleted 6y ago[deleted]
- jdmichal 6y agoYou are 100% spot on. Lisp is not a single language. It's whatever language has been constructed around the given problem. This is the Lisp Curse: http://winestockwebdesign.com/Essays/Lisp_Curse.html http://winestockwebdesign.com/Essays/Lisp_Curse.html
- Grimm1 6y agoEven the idea of "coding circles around someone" is kind of odious -- team sport everybody. Yes you will have better and worse developers but if it's actively your aim to code circles around someone on your team you're not doing your team a service.
- hinkley 6y agoI tried my hand at basketball as a youth and the specter of the ball hog loomed big in the head of the coach. Fast forward six years and I'm a club cyclist, where I learned a lot about teamwork that I think most programmers never really learn. When you understand something but have no shared context, there can be a lot of resistance to change. Peculiar to cycling, hiking, rowing, and only a handful of other team activities is how concretely they demonstrate both failing or succeeding together, and how our strengths and weaknesses complement each other. A person having a good day can bolster the person having a bad one, via literal load shedding, and that feedback is immediate and obvious to all. With basketball, football, or many other sports, this can be pretty subtle, and may be lost entirely on spectators.
- jnwatson 6y agoI have one experience with Lisp, an undergraduate AI class in the late 90's. It was an interesting experience, since I didn't actually have convenient access to a Lisp runtime. I would write my Lisp assignments with pencil and paper, and (procrastinating) a few hours before the assignment was due make it to the computer lab and enter my program, just as I imagined my predecessors worked in the 60s and 70s. The odd thing about Lisp was that my programs almost invariably worked (modulo a mismatched paren) the first time. I've rarely had that happen in other environments. There was the one time where the set of library functions I thought were present weren't available in the Lisp variant available. I simply implemented the functions I needed in a few minutes. I only wish I'd have had an opportunity to explore the Lisp world more. It seemed like it was from the past and the future at the same time.
- Avalaxy 6y ago> The odd thing about Lisp was that my programs almost invariably worked (modulo a mismatched paren) the first time. I've rarely had that happen in other environments. Is that not simply because you thought it all out beforehand and made sure to check the code an extra time before submitting it because you wrote it on paper and had to go through a lot of effort to get it executed on a machine?
- jnwatson 6y agoCertainly that helps, but I certainly used paper before and it didn’t necessarily produce working code.
- scns 6y agoMaybe look for a job writing Clojure?
- advisedwang 6y agoThis is parody, right?
- jdauriemma 6y agoPoe's law was alive and well in 2002, it seems
- kd0amg 6y agoRPG is substantially more chill than this in person, so I'm inclined to file it alongside the scsh acknowledgments.
- TigeriusKirk 6y agoThe context here seems to a Yahoo Group dedicated to rethinking computing from the ground up, called The Feyerabend Project https://www.dreamsongs.com/Feyerabend/Feyerabend.html https://www.dreamsongs.com/Feyerabend/Feyerabend.html Given the intentionally radical thought experiment nature of the group, the hyperbolic language takes on a somewhat different flavor.
- bryanrasmussen 6y agowas that belive at the end intentional?
- buescher 6y agoGiven Richard Gabriel is the author of the long essay "Worse is Better" and the wonderful book Patterns of Software (which you should all read), and given it's out of context, I have to read this as both tongue-in-cheek and heartfelt. Play "Jeopardy" - what is the question he's answering, and why is he answering it that way?
- djmips 6y ago"Worse is better" is a thinly veiled essay of the contempt he feels for Lisp not flourishing. He really is in an ivory tower.
- sumtechguy 6y agoevery step of the way my brain is going 'oh no no no oh geeze no'... The only thing they sort of got right was experience does mater, then messes it up but they want to pay peanuts for them.
- phtrivier 6y agoObvious flamebait is obvious, but still: "I will be able to point to various examples where Lisp programmers have written not only 3-5 times faster, but they wrote things other programmers thought were impossible" -> in all fairness, and sincere curiosity, "citation needed ™" (though it's hard to point to any successful software, as pretty much all of it is crap, whatever I wrote included) "Strong typing is for weak minds" -> hey, here is a function that takes an argument called "participants". Quick, what are the functions that you can call on it ? Assuming it's a collection, what kind ? What are the elements made of ? Is it heterogenous ? Is the field "name" specified for each of them ? Is it always there ? Are there cases where it's a string and others where it's a tuple ? Does it depends on user input ? Has it been sanitized ? Has it been produced by code you have not written ? Or by code you wrote a year ago ? What do you mean, "you don't know ?" Oh, you must be one of those "weak minds" MIT guys like to make fun, of. Welcome to the club ! No big deal, we're still nice. We sometimes get things done, and we get to repeat the same weak/strong arguments every so often whitout anyone ever saying anything that might change each other minds. Kinda like social science and militant politics, but with waaaaay higher pay. Cheers !
- praptak 6y agoI would not like to work with a 10x coders team unless they are also 10x maintainers and 10x troubleshooters.
- umvi 6y ago> Strong typing is for weak minds Preach brother. Safety rails on mountain roads are for weak drivers. My team could drive down a mountain pass in a semi truck drifting around corners such that the trailer hangs out over the edge of the cliff during the drift and never lose a single dollar of inventory.
- coldtea 6y agoWell, some drivers can. Safety rails on mountain roads are put there for the average driver...
- chubot 6y agoThis was obviously written in a purposely inflammatory style. I'd like to see the context, which is unfortunately missing here, and on the blog. For those unfamiliar with him, I suggest reading some of Richard Gabriel's other writing. He is known for "Worse is better" but that's the tip of the iceberg. This isn't the piece of writing you should take away from him, especially out of context. You can probably find a lot of silly things other people have written on Usenet 20+ years ago.
- jrm4 6y agoWhile I can't disagree that this is quite flamebaity, I think it's worth considering why this still resonates strongly among significant number of people (myself included) And i'd go with something along the lines of "A lot of publicly used software is crap, and getting software out there by people who work this way would probably give us better software." I know, I know, usability and design and modern capitalism etc. etc. But a guy who uses e.g. Linux and the command-line extensively and yet doesn't program for a living can dream...
- jcheng 6y agoFor some historical context, the late 90's/early 2000's was a time when Java/J2EE and the n-tier architecture were absolutely dominant in the startup world, and the ideas of functional programming were considered academic or outdated. Saying the word "closure" to most programmers back then would give you the same suspicious look you'd get for saying "monad" today. At least that was my experience as a junior programmer bouncing between web startups in those days. In retrospect, the J2EE hype was wildly overblown, optimized for problems nobody needed solving, and introduced unnecessary complexity and boilerplate at every level of the stack. I can only imagine how frustrating it was to have a full understanding of how bad the status quo was, yet have your alternatives dismissed out of hand because "not Java". I remember thinking people like Paul Graham[0] and Phil Greenspun[1] were pretty brave for going against the J2EE dogma--to suggest that these "little languages" not only had interesting properties, but should actually be used in production. I found their arguments convincing, but didn't have the guts to push for them at work. [0]: http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html [1]: https://www.amazon.com/Philip-Alexs-Guide-Web-Publishing/dp/1558605347 https://www.amazon.com/Philip-Alexs-Guide-Web-Publishing/dp/...
- loopz 6y agoYea, I remember quitting dev, and never regretting that. JEE wasn't as bad as what lead up to it though.
- d3ntb3ev1l 6y agoHumor for the strongly typed
- jayd16 6y agoThis post is a nightmare but lets examine it anyway. How realistic is the idea that there are talented people trapped in some obscure language that could be underpaid? Unless you're looking for passionate zealots I can't help but think talented engineers could easily change languages if they so chose.
- stray 6y agoI once took a job that paid far less than I was accustomed to — simply so I could work professionally in Common Lisp. It wasn’t a mistake.
- microtherion 6y agoYes, but many languages have adherents who strongly resist the choice to switch languages. And for some languages, being a diehard adherent has some signaling function. E.g. a Haskell programmer, regardless of the suitability of the language itself, is probably serious about programming, and has advanced skills in certain areas of mathematics — you don't hear of too many "Haskell script kiddies". Whether such programmers would accept being systematically underpaid, I don't know. It seems an unethical idea in any case, and if the language is truly N times as productive, programmers versed in it should be well worth more than a standard industry salary.
- swatson741 6y agoThis is the programming language equivalent of saying "My dad could beat up your dad."
- microtherion 6y agoAs a rule of thumb, if a technology truly conveyed a massive productivity advantage, one would expect its proponents to keep this a closely guarded secret (while reaping vast riches) and let the competition figure it out in good time, rather than shout it from the rooftops.