Monday, May 19, 2008

Coding for Fun and Profit

Usually I'll read an article or letter to the editor and say to myself, "Boy, I really oughta write a Pulitzer Prize-winning blog post about that," and then immediately fail to do so. I've been pretty consistent about this, and in my mind at least, consistency counts for something. But this article seems to have done something to remove my thumb from its previously dark and comfortable resting place.

The gist of Ms. Atwell's piece: Looks like MCLA put on a secondary school programming contest and nobody came. Well, not nobody. A team from Pittsfield High came up, as did the Fightin' New Lebanese (I guess) from New Lebanon, NY. I mean, two schools.

public class WhatIsThis {
   public static void main (String args[]) {

You know what I'm talking about. If you don't, call a high schooler in New Lebanon.

I don't get it. I really don't. I've been working in IT for pretty much the last twenty years and I know of almost no other business where the only thing that matters is the quality of your output. You don't need to have gone to a great school, or married the boss' niece; you don't need good personal hygiene, social skills, or a wardrobe containing anything made after 2002. All you need is the chops, and you will be ridiculously employable for the foreseeable future.

One of the reasons programming jobs are being offshored is that thousands of Indian and Chinese secondary schools know something that apparently we do not: expertise in information technology work can transcend deficiencies in geography, capital, and infrastructure. It can be taught and learned cheaply, with minimal equipment, and the Internet--the greatest real-time educational resource ever created--gives you the ability to exercise and expand your skills any time, almost anywhere in the world. Seriously: if you can't find a code snippet to crib for your programming homework, you need to start thinking about bailing and taking a pottery class.

I have nothing against the hospitality, arts, arts management, or retail industries. But if America's rural and cash-strapped urban school systems started really pushing a practical IT curriculum they'd be giving immeasurable head starts to thousands of American kids. And if local governments spent as much time wooing IT-based businesses as they did big box stores, they'd be providing the head-of-household jobs that smaller municipalities need to grow and thrive.

I know a lot of folks got scared off by the bubble a few years back, but that doesn't blow the fundamentals of a good idea well executed by a smart company. The tech company money that vanished betwen 1999 and 2003 was mostly idiot money, and you could kinda tell the cranio-rectally inverted companies from the solid ones pretty quickly. Suffice to say that those times have shaken out and you're a whole lot less likely to be put through that again. Lack of confidence in the industry should not be a factor.

And coming up with that last pronoun gets me to thinking how there needs to be a push to get the girls into the game. I know a few great programmers who happen not to be in possession of a pair of testes--of their own, anyway--and anyone who tells you girls aren't as good at it is simply a few semicolons short of a successful compile. How exactly would we do that? Well, same way you get boys interested: raise awareness, incentivize, and above all, make it fun. Games are a great starting point, as are other non-stodgy stuff like social networking or multimedia. And try this angle: writing code is a form of creation, like art, music, or literature. Pitch it to the creative types as a medium--like watercolors or clay or the cello--and tell them that they can use it to generate things from the mundane to the outrageous; from the practical to the beautiful and everything between. And you can make a living at it. It's certainly easier trying to get paid for coding than it is for, say, sculpting.

The great advances we're seeing right here in North Adams and across western Massachusetts with laptops and connectivity should just be the tip of the iceberg. It is a good step to give our kids computers and teach them how to be end-users. It would be a GREAT step to teach them how to be programmers. It's so obviously the right thing to do that I'm really seriously interested in hearing from people who disagree with me on this, to see what sort of possible crackpot argument there could be against it.

And this is the perfect medium for it. Thank God for the Internet, eh? Well, no--thank a bunch of programmers.


At Mon May 19, 03:29:00 AM EDT, Blogger Southview said...

Ross.....I couldn't agree with you more! My first computer was a Radio Shack "Tandy", I purchased for $300. Not the color computer but the first generation. Now in order to use it you had to write programs to make anything visible. I can't remember how many hours I spent writing, just to make a stick car that the doors opened and closed and the headlights blinked on and off.

My point to all this is that the real computer is lurking behind the window you see on the screen. Just to teach how to point and click is doing your computer and you, grave injustice.

As we are taught the English language we should be taught basic computer programming language. Windows is the result... not the program!

At Mon May 19, 10:46:00 AM EDT, Blogger Amy said...

Bravo Ross! Bravo.

At Tue May 20, 03:52:00 PM EDT, Blogger Gary said...

We touched on this in our conversation earlier, but there's an x-factor you're missing: There aren't enough smart people to fill all the local positions. Bottom line: in this business you can be taught the basics easily enough, but the ability to write spare, elegant, well-commented, stable, easily-modified, bug-free code is either something one has or doesn't.

The current generation learned its coding chops on the job, not at school. That the upcoming generation is born more or less computer-literate is advantage enough; it will stand them in excellent stead when it comes time for them to earn their way in the world.

At Mon May 26, 08:41:00 PM EDT, Blogger greg said...


Back in the ancient mid-'80s when I took a couple of basic and fortran classes they were accepted as credit towards either the math or science (I don't remember which) requirements for my high school diploma. In this day and age, anything that is not directly MCAS related is an elective and is not promoted within the public education structure. And the fact is that programming is no longer considered new and sexy.

I would suggest that the framework for a high school level IT intensive curriculum already exists in tech schools. Rather than simply being the place where kids get shunted off to learn how to turn a wrench or flip a burger, tech-school districts should try to bring the word "tech" up to its 21st century definition.

Just my 2 minute thoughts.....

At Tue May 27, 09:55:00 PM EDT, Blogger Tammy said...

Tech schools already are to some extent but I think they can do more.

I remember taking Fortran back in the prehistoric B.I. era (Before Internet) when you'd have to fight to get time on Drury's single terminal to the mainframe at NASC. Then I took a stab at Cobol. Now I'm trying to learn basic codes and tags to spice up iBerkshires. You may have noticed image changes, for example, in the stories.

Here I am struggling to master really basic stuff while youngsters can't be bothered. Too many would rather play with the results than write the code. It's rather depressing considering how were trying to position ourselves as an information/tech growth area.

If you look back a month or so ago, the science fair at MCLA was dominated by Pittsfield and out-of-the-area schools. And they had teams. Drury had two kids - neither of them from North Adams.

And thanks for mentioning our intern Jenn Atwell. She went to cover a straightforward school story and came back with a better one.

- Tammy Daniels, iBerkshires


Post a Comment

<< Home