And besides, it will grant you the insight necessary to make informed decisions about how to specialize.
Pity those who never investigate and always bow before 'I can't do it', without even having tried. Without a desire to know, nothing can be achieved.
"* 1) I could email all the staff and ask them to email me the data every month and compile it manually.
2) Find some software that would allow me to do this relatively easily.
3)Program a solution myself that is perfectly tailored to the process."
He choose 3) but what about
4) Get a even better result by bringing in a professional. For instance a contracter.*
Still, great that he learned programming. I personally find it perfectly OK, that almost
"[...] EVERY interface you employ on a day to day basis is likely created by someone else. "
As long as I believe that I,
a) understand the key processes that are involved creating it.
b) have the tools and knowledge available to recreate or adapt it if I need to.
Of course, this does NOT mean, that I would likely design my own CPU . But I would e.g. feel comfortable building my own, individualized, laptop , if I really had to.
Being able to do things by yourself makes you independent. But having almost everything done by someone else is progress.
 It would be nice to have state of the art open micro chips. But, imho, as long as the manufacturing process is as large scale and costly as it is, a free CPU design would be quite useless.
 Similar to how a company like Acer does. I 'just' select all the hardware components I need, a free OS and design my own case.
Assuming I can convince my boss that the task requires a professional... she then has to take it to the admin leaders committee and pitch it to the head of school. The head of school might make an executive decision on it, but more likely he will take it to the PR committee to discuss if hard to come by funds are worth spending on it. Questions will be asked as to why this can't be delegated to the university tech folk. Arguments have to be made. Our finance guy then has to find the funds. More discussions...
As to your other point. I agree entirely that deference to existing solutions is always preferable - IF those solutions meet your desires. But I would stress the following two points:
1) I see people engaged in manual administrative tasks on daily basis that they could work to automate to a large degree. There are no existing solutions to them. These processes are often idiosyncratic - and there is no wider market for an automated solution. However, such a solution would do wonders for those having to carry out those processes.
2) I said that existing solutions that meet your desires are always preferable... but what if your desires are constrained by the interfaces with which you have been bequeathed? We have this Cartesian understanding of self wherein everything about US is thought to spring forth from an irreducible, internal essence. But desires are contextually determined to a very large degree. My larger point is that an ability to create your own interfaces might just liberate your desires in ways that are difficult to imagine for people who don't have such skills.
The latter point is at least an interesting empirical hypothesis that deserves some thought...
I totaly agree to 1) and 2)
plus I do agree, that it would be great if everyone who has a computer would be able to really make use of it. And that, sure does require programing skills.
 I'm suffering with you here. Writing this post on a lab computer where I'm not permitted to install software. Hence, I can't install GIT and now use Dropbox web interface to transfer the code that I develop on my Mac Book. No wonder procastination is more fun ;-)
If you don't know any programming, you won't know when to ask for a professional.
You know that an automated weekly task is easy. You know that scraping names out of an API is easy. So you can do it yourself, or pay a pro a few hundred to do it.
If the task to be automated was different, i.e. "put all the confidential emails into a special folder, and forward everything else to a public archive" then it would a little more expensive. You only know that because you know that computers can't differentiate "private" emails, wich you know because you know how to program.
Kind of the equivalent to knowing how to do minor home repairs, without calling in the professionals. There are many people who could benefit from the equivalent level of programming skill.
I can tell you it isn't easy, but its worth it. I'm better at my job because I now can study the product line by line, and I am also able to script mundane tasks like lead gathering via web scraping.
But -- once again, it's not easy or quick to do it right -- get ready for a marathon and befriend as many people at local user groups as possible. Even people working in langages you don't plan on learning and in industries you'll never go in to (you never really know what languages or industries you'll be working in 10 years later anyway). I wouldn't be able to do it without the input of my local ruby group, my coworkers, and some friends I met at our office space at a mid-sized coworking facility.
To answer a potential next question: the resources I've been using/have in my queue are as follows (keep in mind I've been trying to learn full stack web dev rather than just one language):
-Agile web dev with rails (practically required these days)
-Code School's Rails for Zombies (Amazing, free, and the right amount of tough for a newbie -- I plan on buying their Jquery lineup soon)
-Michael Hartl's Rails Tutorial Screencasts (I'm definitely a video guy, and you get a discount for completing R4Z)
-Crafting Rails Applications (Takes your perception of rails to another level)
-Programming Ruby 1.9 (You'll have to learn Ruby eventually, might as well learn from one of the best)
-Ruby Best Practices (Its free, darn good, and Greg Brown's a pretty cool dude from what I can gather)
-The Ruby5 podcast (It's 5 minutes, and gives you a great survey of all of the cool widget gems and the large development undertakings within the community)
-Ruby Rogues Podcast (I know one of the brains behind this podcast, so I listen. It's 75% over my head, but the 25% I do get is amazing.)
-Everyday scripting with Ruby (This book is for the audience that the author of this article describes. If you have an annoying, repeated task you're doing, make the computer do the heavy lifting.)
-Carsonified's ThinkVitamin Membership (Absolutely the best tutorial vids I've ever seen. Short, clear, info heavy, and very quickly retained. I feel like I'm in The Matrix when I'm watching their stuff. There's actually some good stuff for Sinatra, Django, and WordPress here too)
-PG's On Lisp (I have no intention of building Lisp applications, but the book is amazingly written, and interlaced with PG's manifesto for quick, high quality development. Lisp is his weapon of choice but many of the principles here are rock solid regardless of the medium the artist chooses. Plus it's free.)
-5by5 Podcasts, particularly "Lets Make Mistakes" (They're design podcasts, and the professional design industry is particularly adept and finding client and consumer "pains" and fixing them. Plus, you will eventually have to make your products not look like crap)
I apologize for the long post, but if I were reading this thread 6-8 months ago, I would've killed for a list like this. To the "biz guys" looking to learn: you can't go wrong, in my opinion, with the above list at all. If you're low on cash, some of these resources are free, but every dollar I've paid has been money very well spent.
Not that supermarkets couldn't be improved by programming, but the people manning the checkouts are hardly in the position to do so?
Granted, there might be other aspects of their lives that they might be able to enhance.
But, how many projects have you worked on where the if the client had built a basic prototype, it would improve your ability as a contractor to build it right? The client would have more appreciation/context for the level and scope of work needed for the project. How much more work would there be if every grocery-store clerk had such basic knowledge and appreciation? Is he going to make the job market more competitive in programming? No.
Many professional programmers are autodidacts, not university-trained computer scientists. You have to start somewhere. It is easy to find a free/cheap programming book and "get started." But that is a far cry from building a testable, scalable solution.
In today's society, where technology is ubiquitous, the author's call for programming to be a basic educational goal is appropriate. His eloquent framework about reimagining the "interfaces of our lives" carries weight. If the average person gave more thought to these issues, and had a basic understanding of the technology needed to pursue such innovation, the impact would be significant.
The world needs more autodidacts, and people who think critically about their environment. More education all around is a good thing for not just technology but society in general. Would these newfound beginner hackers detract or add value? I believe the latter.
Granted, there will always be service jobs, where physical presence and a polite smile is all that is required. But I don't see that checkout counters belong to those.
I like it when they have both, since sometimes I want a checker and bagger, especially if I have a bunch of stuff. Other times I just want to get in and out and the machine is consistently faster than checker + line.
Of course, the real issue is that lines are good for businesses. They keep the customer in the store longer, with more opportunity to spontaneously buy all that shiny stuff near or at the checkout stands... WalMart has like 10 self-checkout machines but every time I've been there they've had most or all of them turned off. I don't think it's because all of them had errors.
If you have more than five things, it's typically easier just to let the check-out person do it for you.