Saturday, December 23, 2006

The Challenges of Building Stuff

constructionMy business affords me a great job. I get to build things from pure thought-stuff. From the depths of my mind come the impulses which set colors swirling, text marching, and forms processing which are all part and parcel of making up a sophisticated website. I don't have to mine any raw materials, purchase nails, rivets, or other fasteners, nor do I risk developing blisters on my delicate hands. I don't remember the last time I broke a sweat working on my business.

That all being said, web developers such as myself do still have the occasional challenge. Even the simplest thing can blossom out of control into a morass of complex code and interdependent requirements that have me reaching for the aspirin (or a bottle -- of Coke).

For example, this evening I was whipping up what was supposed to be a quick tool for one of my clients, CNP of Ohio, Ltd. The goal was to allow them to accept online registrations and perform tracking on a contest that they'll be running in February. I figured that it would be a quick task. After all, I've done pretty much all of the pieces of the project before in one way or another. Cue the foreboding music, and the swirling dark clouds of the impending storm.

So, I set out, grabbing pieces of code and design from my libraries. In general, it went swimmingly, but every once in a while, I would do the coding equivalent of stubbing my toe. I would be missing a feature here, or a webpage there. I finished setting up the ability for the user to create an account and login. Then I remembered that they might want to change their password. Then I realized that they might forget their password and require a feature to deal with that. I set up a method to record their progress in the contest. Then I remembered that I have to deal with the situation where the user records something (which leads them to a confirmation page) and then hits reload. If you don't take the proper steps, that progress will be recorded twice.

This all does eventually get done, but it always surprises me how the smallest details can make the project take so much longer than originally planned.

Still, for all that (or maybe because of it) it is a great feeling to stand back, when the virtual dust has settled, to see the clockwork mechanism that I've created, humming along without a hitch.

So, what are the special challenges that your job presents?

10 days.

No comments: