I agree that attitude trumps pure intelligence in general for programming projects. Indeed, pure intelligence tests (e.g., "why are manhole covers round?") fell out of favour as interview techniques at Microsoft. As far as I know (my own and friends' personal interview experience) Google never used such for programming interviews: ability to apply intelligence to the task at hand (programming, software engineering/ar…
Just to clarify: "why are manhole covers round?" is not a test of intelligence in the narrower sense. "Add the next number in the following sequence 1,4,9,16" is.
Programming: Attitude Trumps Intelligence
51–60 of 67 posts
Re: Programming: Attitude Trumps Intelligence
#52Reflecting upon my previous post, I am wondering why LISP triumphalists like Paul Graham annoy me so much? Perhaps it is because I used to be one myself, in spirit if not in syntax. And also because I now see them as a major symptom of what ails programming. Responding just to the Lisp part of this post, all programming languages suck (but not equally!). Lisp isn't designed to let you show how clever you are, it's ju…
Lisp is the perfect language for its ex-users and wannabes to wax poetic about. For the rest of us that do it for a living, it just has the least annoyance. I would happily jump ship the moment I get a dynamic, interactive language with CLOS, s-exp notation and some industrial, enterprise-y tools. I hope to see the day when franz and lispworks partner with IBM and Oracle and push Lisp certifications at the masses. Al…
(Actually, I find reading AMOP a bit humbling, which is why I keep it lying around my desk at home).
Re: Programming: Attitude Trumps Intelligence
#53Earlier quoted context omitted.
Yes, in which he claims that all languages are equally good. In which case I assume he writes everything in assembler.
... or Visual Basic... or COBOL... or any other language everyone has pretty much determined is awful.
Re: Programming: Attitude Trumps Intelligence
#54Earlier quoted context omitted.
Agreed—I've known too many of the former, who undo years of quality work in a single, well-meaning but unintelligent rewrite. I think the author is confusing the Real Thing with the hubris-laden, self-proclaimed intelligent programmer. Programming is one of the tiny handful of fields where real intelligence ( plus hard work) puts you at a significant advantage over the eager-but-average-intelligence hard-workers. Pro…
And if you work in heterogeneous teams you are just proving the author's point. If the gifted code is unintelligible to the less skilled how can a team work? Immediately you have the problem of the less skilled not being able to follow the code pratices of the gifted coder, it will be harder to reuse. And the when somebody else has to extend it will cost a lot more time, or to correct something. Surely some parts of…
Being around a better programmer will rub off on you even if you aren't as intelligent. Intelligence isn't a hard metric you can rely upon in my experience. Otherwise intelligent people have made amazingly stupid mistakes on more than one occassion. Intelligence is only useful if you have the intuition to realize just how little you know.
Re: Programming: Attitude Trumps Intelligence
#55Earlier quoted context omitted.
And if you work in heterogeneous teams you are just proving the author's point. If the gifted code is unintelligible to the less skilled how can a team work? Immediately you have the problem of the less skilled not being able to follow the code pratices of the gifted coder, it will be harder to reuse. And the when somebody else has to extend it will cost a lot more time, or to correct something. Surely some parts of…
Are humans not capable of enlightenment or are we too far gone in the "me too" era to think for ourselves and learn from others? Being around a better programmer will rub off on you even if you aren't as intelligent. Intelligence isn't a hard metric you can rely upon in my experience. Otherwise intelligent people have made amazingly stupid mistakes on more than one occassion. Intelligence is only useful if you have t…
If the convention says that the code should be as clever as it could be you will have problems. If your tech lead acknowledges some limitations on the team he will have to compromise cleverness for simplicity. And everybody will still learn.
I can't see why my first comment was downmodded, and it's happening for my last comments, confusing or bad grammar? :\
Re: Programming: Attitude Trumps Intelligence
#56Well, for better or for worse, no lisper I know would ever try to fuse a database system in at the kernel level. That's one of the ugliest system designs I've ever heard of. The whole point of lisp is that the language is extensible, so that once you solve one problem, you NEVER have to think about it again. In other languages, you might have to put some conditionals in, or free some dynamic memory somewhere every ti…
I disagree. It's not only elegant but is the way it should be.
Re: Programming: Attitude Trumps Intelligence
#57Earlier quoted context omitted.
Agreed—I've known too many of the former, who undo years of quality work in a single, well-meaning but unintelligent rewrite. I think the author is confusing the Real Thing with the hubris-laden, self-proclaimed intelligent programmer. Programming is one of the tiny handful of fields where real intelligence ( plus hard work) puts you at a significant advantage over the eager-but-average-intelligence hard-workers. Pro…
And if you work in heterogeneous teams you are just proving the author's point. If the gifted code is unintelligible to the less skilled how can a team work? Immediately you have the problem of the less skilled not being able to follow the code pratices of the gifted coder, it will be harder to reuse. And the when somebody else has to extend it will cost a lot more time, or to correct something. Surely some parts of…
I've been in a variety of shops over the past 20 years or so where new kids come in, thinking they're all that and a bag of chips, and systematically replace smart, well-engineered, and working modules with their new ones that will now take years to become as robust, and never be half as elegant.
They do this because they won't take an afternoon to spend the time to read and understand the original code.
Intelligence isn't wholly a matter of genetics—some of these earnest kids do eventually learn better in spite of their natures. They spend enough time with the real good guys to figure out they're not one of them, and then they start trying to figure out why. The fakes go on for years and years writing the worst stuff imaginable and even after shown direct evidence of their incompetency will refuse to reclassify themselves. They start getting defensive, paranoid, thinking they're the poor misunderstood artist. Whatever.
Coders who aren't willing to get into someone else's code to see the "whys" beyond the "hows" are the people I specifically exclude from my projects.
Re: Programming: Attitude Trumps Intelligence
#58The author's work on fundamentally improving programming looks interesting: http://subtextual.org/
if (b & c) {
x = 3;
elif (a) {
...
which according to his methodology is an "overlap", and thus bad - but seems a lot clearer to me than his program's simplification: if (a & (!b | !c)) {
x = 1;
} else if (!a & ((b & !c)|(!b & c))) {
x = 2;
} etc...
Ditto for the fibonacci stuff and his later examples. And they're pretty straightforward. For larger functions I can see it spiraling out of control.Re: Programming: Attitude Trumps Intelligence
#59Reflecting upon my previous post, I am wondering why LISP triumphalists like Paul Graham annoy me so much? Perhaps it is because I used to be one myself, in spirit if not in syntax. And also because I now see them as a major symptom of what ails programming. Responding just to the Lisp part of this post, all programming languages suck (but not equally!). Lisp isn't designed to let you show how clever you are, it's ju…
Lisp is the perfect language for its ex-users and wannabes to wax poetic about. For the rest of us that do it for a living, it just has the least annoyance. I would happily jump ship the moment I get a dynamic, interactive language with CLOS, s-exp notation and some industrial, enterprise-y tools. I hope to see the day when franz and lispworks partner with IBM and Oracle and push Lisp certifications at the masses. Al…
You know where we are :)
Re: Programming: Attitude Trumps Intelligence
#60Earlier quoted context omitted.
Glorifying "hard work" as more important than intelligence is a common mistake made by intelligent people when they finally realize that sitting around being intelligent is not, in fact, sufficient to make things happen (this is often surprisingly contrary to expectations formed during schooling).
I think intelligence and attitude are both multipliers. The difference is, if you glorify attitude (to yourself) it can help you improve your attitude. Glorifying intelligence won't improve your intelligence so easily.