758 karma · joined May 15, 2008
That should be your entire career. The statement also strikes me as quite self-aggrandising.
But I also think that there are some significant problems in what you've said.
You describe what looks like a siloed structure, where sales/marketing people are deciding on what to build, and then throwing it over the fence to the developers to just "get on with". Where are the fast iterations, looping frequently back to the customer, and involving the whole team in the process? Does a developer never have a good idea with regards to features? I think that if you want robots who do what exactly they're told, then you're going to end up with... a development staff of robots.
Meetings. Endless meetings. Agile, if done on a weekly cycle, gives you no fewer than seven mandatory meetings. I don't disagree that it's important to communicate, but the prevailing culture across the industry is absolutely towards superfluous meetings which involve too many people. And I think that's a big problem. Yes, developers need to understand that perhaps not all of a meeting will be relevant to them, but if they're not relevant to the meeting, then really they shouldn't be in it.
"Failing to internalize that ultimately, they work for a business." - I think that the above point on solied structures is relevant here, but I think that there is more also. It depends on the type of business, and I think that you're referring to B2B. But I have personally seen in the B2C case, with millions of users, the sales and marketing side - sometimes from different divisions - preference their own career objectives over the user's experience. "We sold this for a million dollars" "But there's spyware on the partner side sometimes" "Tough. Build the integration". So while I think that you're right when it comes to building a special-case for a particular customer who genuinely needs that special case, I think that there are also other cases here where it's not that simple.
A more minor point but when you say "as though they don't know the language of business", I think you're right, they don't know the language of business!
I find your sports team / jocks vs nerds analogy interesting, perhaps mostly to inform on your general perspective. Personally I would prefer a team of smart developers who care deeply about the product that they build, working hand-in-hand with the product team, designers, sales, and customer in short iterations where rather than deciding precisely what will be built up-front, the solution is instead found organically with valuable contributions from everyone.
But you're dead right on the 'new toys'. That practice is unforgivable.
If we have anything half that good in the wider programming community in twenty years time, I will be very surprised.
It would have saved them a lot of man-years of time.
* The dialogs are overlong and obtuse * Some specific metaphors don't click * The author attacks various things which he feels Hofstadter belittles (avant-garde music, Zen)
He may be right about the dialogs, though as others have said perhaps it's better to read the chapters backwards. Or, even, metaphorically like the Crab Canon: dialog, chapter, and then dialog again.
He's clearly projecting his own perspective without thinking about the perspective of others when it comes to the metaphors. This won a Pulitzer, not everyone has a mathematical background and can straight up understand Godel when directly explained.
But it's the third part that is most troubling. These days it's fashionable to take some earlier cultural artefact, and assassinate it on the basis that every point of view is valid, genuine, and can't be criticised. I smell that same pattern in his counter-attacks on "avant-garde social commentary masquerading as music" and Zen. Hofstadter has an opinion on these. A strong, negative opinion. Attacking Hofstadter the way he does to me more smacks of a post-hoc character assassination than intelligent engagement with the material.
As an aside: I read Hofstadter (somewhere) say that he has spent a lot of his life after GEB trying to hammer home that it was about self-reference, self-reference, and nothing but self-reference. I think he even described "I am a Strange Loop" as being GEB but much more direct (I still need to read that one).
"A Turing machine ... manipulates symbols on a strip of tape according to a table of rules"
Whichever programming language you are fond of ultimately reduces to this mode of computation. However, with DNA, RNA, and Proteins, that is not the case. The way that we compute is simplistic compared with the way that biology computes. Thus: the crude analogy in fact hinders understanding, and should be discarded.