|
|
Log in / Subscribe / Register

The programming talent myth

The programming talent myth

Posted Apr 29, 2015 12:01 UTC (Wed) by dskoll (subscriber, #1630)
Parent article: The programming talent myth

I have to disagree about the programming talent "myth". I'm not sure it's U-shaped, but I've hired quite a few developers in my time and the difference in productivity and code quality among them was astounding, even though on paper they all had roughly similar qualifications.

As someone else mentioned, software development is grounded in science and engineering, but at the higher level there's a huge component of art. It's at this higher level that a very few programmers distinguish themselves. Think of Fabrice Bellard, for example, or John Ousterhout who have produced amazing works of great beauty and inventiveness.

In addition to having the engineering concepts down cold and having a good creative vision, a really good programmer has to be incredibly disciplined. This is extremely hard for new programmers who've never worked on anything larger than a term project before.

Of course, that doesn't mean to say so-called "average" programmer can't produce excellent work. The PostgreSQL project, for example, is amazingly high quality and all the programmers seem excellent... it doesn't appear to be driven by one rock-star programmer. (As far as I know... maybe I'm wrong...)

In this case, someone must have provided excellent guidance and mentoring.


to post comments

The programming talent myth

Posted Apr 29, 2015 13:09 UTC (Wed) by alan (subscriber, #4018) [Link] (7 responses)

The PostgreSQL has multiple rock-star quality developers. They just don't have rock-star sized ego.

The programming talent myth

Posted Apr 29, 2015 13:42 UTC (Wed) by dskoll (subscriber, #1630) [Link] (6 responses)

The PostgreSQL has multiple rock-star quality developers. They just don't have rock-star sized ego.

Hmm, ok, cool. I guess that strengthens my assertion that there are programmers who are much better than average.

The programming talent myth

Posted Apr 29, 2015 20:40 UTC (Wed) by ssmith32 (subscriber, #72404) [Link] (5 responses)

But the fact that you thought the postgres developers weren't whatever you feel is a rock-star developer, when they have developed a far more useful, stable, and long-lived product than Qemu and Tcl (and definitely better code than some of the early version of qemu - which I had to modify and work with at time. Not bad, but not beautiful ;) )..... doesn't help the credibility of your evaluations. You seem to be evaluating based on personality and some nebulous "vision" of what the code should be, not a useful finished product. I could be wrong, but the evidence currently points the other direction.

(yeah, Qemu is neat (and useful at times), and had some clever tricks for targeting, and an interesting and challenging project, but it's not nearly as polished as postgres).

The programming talent myth

Posted Apr 30, 2015 1:30 UTC (Thu) by dskoll (subscriber, #1630) [Link] (3 responses)

You seem to be evaluating based on personality and some nebulous "vision" of what the code should be, not a useful finished product.

Not at all. Tcl is an amazingly beautiful and well-written piece of software. Try comparing it's C internals with (bleh) Perl's or (yuuuckkk) PHP's.

As for Bellard, I wasn't specifically thinking only of QEMU, but some of his other amazing hacks like TCC, the JavaScript PC emulator and his record-setting (for the time) computation of Pi.

PostgreSQL does happen to be a more useful or at least more widely-used project than the others, but I think their quality is just as high.

The programming talent myth

Posted Apr 30, 2015 10:16 UTC (Thu) by mathstuf (subscriber, #69389) [Link] (2 responses)

> his record-setting (for the time) computation of Pi.

…which was also an IOCCC submission.

The programming talent myth

Posted Apr 30, 2015 11:47 UTC (Thu) by dskoll (subscriber, #1630) [Link] (1 responses)

Yes, so what? You really have to be an excellent programmer to enter the IOCCC because you have to thoroughly understand the nuances of good software development so that you can outrageously do the exact opposite. Just like you have to be a really good writer to write a successful parody.

I think you'll find that the list of IOCCC winners contains a lot of excellent programmers.

The programming talent myth

Posted Apr 30, 2015 12:19 UTC (Thu) by mathstuf (subscriber, #69389) [Link]

It wasn't meant to be detrimental to the achievement; it's even more impressive that it was a world record setter *as well as* being IOCCC-quality (heh, now there's a metric I'd like to see for codebases).

The programming talent myth

Posted Apr 30, 2015 6:44 UTC (Thu) by eru (subscriber, #2753) [Link]

...far more useful, stable, and long-lived product than Qemu ...

Isn't qemu now effectively immortalized as part of the standard virtualization solution for Linux?

The programming talent myth

Posted Apr 29, 2015 18:42 UTC (Wed) by dlang (guest, #313) [Link] (4 responses)

you also don't need every programmer to be a 'rock star'.

A real 'rock star' programmer/designer/architect multiplies the effectiveness of the people around them. They design good stuff (the part that is the art), that can then be implemented (and tests written, and maintained, etc) by others who are not as good at the art.

a programmer who is extremely productive when writing their own code, who can't communicate with others to spread the work and knowledge is a short-term asset to the company/project, but a long-term liability because they won't be there forever.

The programming talent myth

Posted Apr 30, 2015 1:32 UTC (Thu) by dskoll (subscriber, #1630) [Link] (3 responses)

In my book, a programmer who cannot communicate effectively with others is by definition not a "rock star" programmer.

Communicating your intent to a computer is the easy part. Communicating your software design to other people is far more demanding.

The programming talent myth

Posted Apr 30, 2015 9:29 UTC (Thu) by ms (subscriber, #41272) [Link] (2 responses)

> Communicating your intent to a computer is the easy part. Communicating your software design to other people is far more demanding.

Completely agree. I have zero patience for programmers who claim tests are a sufficient form of documentation. Lots of people seem to think this. Like a test can express overall architecture design.

The programming talent myth

Posted May 5, 2015 1:36 UTC (Tue) by speedster1 (guest, #8143) [Link]

> I have zero patience for programmers who claim tests are a sufficient form of documentation. Lots of people seem to think this. Like a test can express overall architecture design.

That sounds like a good challenge for an anti-obfuscation contest: solve X non-trivial problem and write a test that clearly expresses the overall design :)

The programming talent myth

Posted May 5, 2015 21:04 UTC (Tue) by bronson (subscriber, #4806) [Link]

How about tests that are also documentation?

http://www.relishapp.com/rspec/rspec-expectations/v/2-14/...

(personally, I'm against it just because the writing style tends to be awful... but, I've got to admit, the documentation is always up to date and always correct... that's very rare.)


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds