Friday, February 18, 2005

In Pursuit

Oh Faster Than Kudzu, Joshilyn Jackson said:

“I feel like a very EARNEST hamster in a wheel, a SQUEEKY wheel that goes WREE WREE WREE, and I am always DOING but never get anything DONE. But at least wheel-running is fun and I am a hamster so how bright can I be? Maybe I don't KNOW I am not getting anywhere.”

Oh boy can I ever relate. Sometimes, in the pursuit of our goals we loose sight of the big picture and feel that we are running on the hamster wheel, with no comprehension of the fact that the wheel will just keep spinning as long as we run on it. It feels like we aren’t really making a lot of progress, because the only thing that we are capable of seeing while on the wheel is that which is right in front of our noses.

I feel like I have been running on the wheel since spring semester started on January 10th. The funny thing is that it feels like I don’t control the pace of the hamster wheel that I am running on, and for the last two weeks, someone, somewhere, turned up the pace. I am spending more hours studying than I ever have before. The current set of tasks feels daunting. The tasks are complex, and the solutions generally are not trivial.

Last night, after working on the CS assignment of the week, my classmate and I were standing in the parking lot discussing the complexity of our current assignments. For a brief moment we were able to get off of the hamster wheel and take a look at the big picture. It has been a little over a year since I started on the road to becoming a computer scientist. When I started, I didn’t know a thing about programming. I couldn’t have told you anything about Scheme, Java, algorithm analysis, or data structures. Looking back on that learning, I can say that school is helping to form a strong foundation onto which the rest of my skills can be built. My current class schedule is grueling. One would think that 12 credit hours wouldn’t be too difficult, but again the bar has been raised, and it is my task to learn all I can. The exercises are at times maddening, and feel somewhat pointless and impossible, but lessons are being learned. If I didn’t understand the C++ memory model before this week, it has been engraved on my brain because of this most recent set of exercises. If I didn’t understand the need for well commented, well organized and defined code, playing with the code from “J. Hacker” has taught me the importance of readability and maintainability. All of the object orientation in the world can’t save you if you are going to be lazy and careless when it comes to writing code. I guess the point of this paragraph is to say that yes, school is hard. I am putting forth a lot of effort. But I am also receiving the rewards for the effort. I am learning. Sometimes the lessons are painful, and I haven’t been getting the perfect A’s that I wanted, but at least I am learning and growing.

I used to not understand why the college of engineering would call its degrees “professional degress”. I thought that those were reserved for the lawyers and the doctors of the world. CS is not a “soft science”. We take these machines, and the men and women who make them work for granted. A great deal of science goes into making the bleeding edge software of today. Yes, abstraction helps to remove some of the bloody details from daily life, but how can someone call himself a developer if he doesn’t recognize that there is a great deal of math and science running beneath their program? If one is to create cutting edge software, and be competitive in today’s market, they must understand these things.

What a rant. If you made it this far, congrats! Make me happy, give me a comment.


Anonymous said...

Great rant. Keep up the good work.

Jon Featherstone said...

This assignment is really starting to make me want to boot good ol' "J Hacker" in the arse real hard. But its all good. One day when we are actually getting paid to do this it won't be so bad.