Development Environments

Imagine with me for a moment the simple pleasures of a kid learning to program his computer.  Using whatever language his brain can get around and only the least complicated parts of that language that are needed to “make the computer do his bidding” he sits around for hours programming silly little programs that output noise that imitates songs or draws pretty shapes on the screen.  There are no concerns for code maintainability, there is no need to worry about his brother coding something that breaks his code, there is no concept of his programs running on any computer besides the one he’s sitting in front of.  Even such basic programming concepts as looping and conditionals are foreign.  It’s a care-free world of exploration, playing around, and experimentation.

Literally decades later, that same programming kid is still programming.  Instead of writing programs that live in a single file, and would eventually grow up to include multiple subroutines instead of line numbers, he spends his days and nights crafting massive projects that involve dozens, hundreds, or even thousands of files.  His tinkering has become his career and code that was once just his is now created by teams of people.  The ideas for projects are seldom his own and are often supplied by people that appear to have no idea how to even use a computer.  What was once a passion has become a job.  What once held the amazing mark of “I can’t believe someone is paying me to do what I enjoy doing” has become “They don’t pay me enough.”

With the passage of time the glorified dreams of programming games for a living has gone by the wayside and have been replaced with the life of a web developer.  Code has become a chore for a paycheck, and the motivation to work on side projects is low due to the old stand-by excuse of “I just spent all day in front of a computer, why would I want to continue that now that I’m at home.”  Well, the simple reason is to try to keep some form of the passion for development alive and kicking in the rough world of a paycheck earning geek.  To that end I’ve managed to eek out a couple of partially completed pet projects that almost no one has ever even heard of, and even fewer care about.

To all my programming fellows out there, keep plugging along, keep earning that paycheck, and the the love of all that’s holy…  Don’t stop your pet projects.  Leave them unfinished if you must, but don’t let the spacing between them get too great or you may just find that you have lost the passion.  Without that passion these funny little boxes full of ones and zeros would stop being interesting, and that I fear, would suck indeed.

Leave a Reply