I spent most of Friday grinding out Perl code to pull data out of six different big Excel spreadsheets and integrate it and cross-match it and feed it into one of our maps. It gets harder to code as you get older, but there are rewards.
Why does it get harder? Not, I think, because your brain goes downhill. In my forties, I can no longer spend as many hours propped up in front of a computer as I used to manage - among other things I have a family - but I've made a whole lot of stupid mistakes in the 24 years I've been programming and I'm smart enough (most times) to not make them twice. Yesterday I ground out 304 lines of pretty dense perl that did more or less what I wanted, along with doing a lengthy teleconference, emailing and phoning back and forth with the spreadsheets' originator to figure out the semantics and anomalies, dealing with the normal email flow, and (I confess) hovering like the news-junkie that I am over the flow of Middle East events.
The real reason coding gets tougher is that time becomes scarcer; as you get older you inevitably build up interests and commitments as a ship does barnacles. This is a good and rewarding thing, but it gets in the way of the sort of obsessive behavior that is standard among really committed programmers.
Also, the world of business - this may seem odd - puts a fairly low value on programming as an activity. If you are even moderately competent at activities such as sales calls, product positioning, budgeting, or evangelism, lots of intelligent people look at you like you're nuts if you say you're going to do some coding instead.
On top of which, lots of us like sales calls, evangelism, and so on. Not to mention the fact that in many scenarios they pay better. All those things being said, rolling up my sleeves and making a computer do something new is the most fun I have at work.
For bright, technical people who are younger and are starting to feel the pressure to leave coding behind and move on to "real" work, I'd advise trying to hold on to the hands-on. Among other things, I profoundly believe that you really don't understand what a protocol or data format or API or framework can do until you've sat down and wrestled through some code to deal with it; and at the end of the day, some important business decisions, and that sales and evangelism work, depends on knowing what things really can and can't do.
Anyhow, in the spirit of giving back to the community, I've posted three little Perl code snippets on ongoing; that others might find useful. They are:
rfc822.pm
rfc822
without arguments returns the current time, if
there's an argument that's a time integer. rfc822_file
takes a file name and returns the RFC822 form of its last-modified
timestamp.money.pm
beautify
which given a numeric argument,
produces a short dollarized form of it: For example, turns 3576281 into
$3.6M, 143999 into $144K, and 1153 into $1,153.t.pl