I only just caught up with Joel Spolsky’s amusing and insightful Yale talk posted last December — a return-of-the-prodigal-son sort of thing for this Yale graduate. (Here’s parts one, two and three.)
These quotes were worth highlighting:
Time and time again, you’ll see programmers redefining problems so that they can be solved algorithmically. By redefining the problem, it often happens that they’re left with something that can be solved, but which is actually a trivial problem. They don’t solve the real problem, because that’s intractable.
This is a failing, in one sense — it’s why certain Big Problems in the field never seem to get solved. On the other hand, in the face of deadlines or business pressures, we can surely see the value in a programmer’s ability to take some problem that’s impossible to solve (given available resources) and redefine it as a job that can actually be accomplished.
And:
Being able to write clearly on technical topics is the difference between being a grunt individual contributor programmer and being a leader.
The hardest problems facing most programmers don’t involve communicating with the computer; they arise in the course of communicating with people — colleagues, customers, users.
Post Revisions:
There are no revisions for this post.