codewhisperer
Somewhere there's a counter argument in favor of non-critical systems achieving planned obsolence through joint failure and the economic benefit of consumers purchasing replacements. I'm not about to make it myself, but it is available.
Check out http://www.processingblogs.org/. It's a blogblender of active work on processing.
This is not to say that the failure of those professions to live up to their ideal should excuse us. We equally have a responsibility to the quality of our code. The solution is nothing so easy as an unread code of ethics or a well-it's-just-money justification for sloppiness. A lot of code actually does risk lives -- fly by wire systems, automated storm dams, anything in a nuclear power plant. The risking of lives isn't sufficient to make surgeons follow well known infection prevention protocols. For them as for us there have to be cultural changes which value slow and steady repeatable processes over wunderkind acts of brilliance.
http://ocw.mit.edu/OcwWeb/web/courses/courses/index.htm#Elec... * Start with 6.001 * Make sure to hit one (or all three) of 6.042J. * I was about to claim the 6.171 (Software Engineering for Web Applications) was too out of date to bother with, being dated Fall 2003, but scanning the topic list of the course, everything listed there is still a concern in my day to day work. * Dewar and Schonberg would have you stress compilers. I would have you stress analysis of algorithms.
They argue that a good theoretical grounding is indispensable for writing good code, and that it inoculates you against future unemployment by making it possible for you to learn any programming model, and even to apply multiple languages to a single system when appropriate. Merely writing applications isn't enough, or maybe it is, but it can take a decade of personal trial and error to discover rules that can be digested in a semester with a qualified teacher.
I take issue with some of their tone. They seem to dismiss all of the cool things people have made using rapid development tools, only valuing the contributions of military grade correctness provers. I think there's room for both in our industry.
However, if you're young, and you can go without sleep, use your energy to lay the groundwork for a lifetime of code writing. It's easier to learn theory now than to unlearn bad habit later.
Finally, don't get tricked into thinking you have to choose one or the other -- you will be coding regularly if you study theory.
And don't get tricked into thinking geniuses don't need to study. Those aren't geniuses pushing that theory.
Now the use of "lady hackers" has raised my hackles as well. (See the American Heritage Book of English Usage for a deft explanation of why: http://www.bartleby.com/64/C005/021.html.)
I keep lurking because the community here is small enough to wash up a few pointers I wouldn't otherwise find. But, gentlemen, I take my insights where they're welcome.