March 2012 Archives

The Folly of a First Attempt

| No Comments

Let me start by saying that one of the most important parts of completing a successful project is not having any idea what you're doing, but knowing what it is you don't know, if that makes any sense. In other words, ask questions. Ask them early, ask them often, and figure out what you're asking before you do. One of the worst ways to waste your time is to assume you know what you're being asked to do and then trying to do it without some careful thought. I've been guilty of this more than once myself, and it does not end well.

Don't get me wrong though, going too far and over-thinking everything can slow you down just as much as rushing in. Balancing prudence with a sense of your time-table is key. As our professor has so often emphasized, testing is one of the best ways to do this. Like questions, test early, test often. Testing helps you get an idea of what you need to do and what you don't understand. Not testing just leads to maze-like code and long periods of debugging, but conversely spending too long on your tests can stretch things out indefinitely.

More in line with the project at hand, it's important to remember that first attempts are often doomed to failure. They're meant to be a learning experience so that your future attempts are more successful. Don't worry too much if your first tries aren't quite what you hoped. All you need to do is look back and learn from what you did wrong, things that are usually fairly obvious in hindsight.

I realize that most of what I've said so far seems fairly obvious and should be common sense, but it's surprising how often we forget it in the press of the moment. As students, we have a tendency to procrastinate and just make things generally harder for ourselves. One way to combat this is to make a work schedule with your partner and hold yourselves to it! Of course, that's easier said than done. If you both have trouble getting things done on time, why not make a small bet with each other? The one who keeps to the schedule least has to buy the other one Chipotle or some other small reward. If you both keep to it, then you buy each other lunch! Or something. The point is, setting goals and keeping them is just as important as testing your code in small modular chunks. In fact, one of your goals should probably BE writing your tests by the first week. Get it out of the way so you can have fun coding.

Ultimately, the message of this whole thing is that you shouldn't take these projects lightly, but you shouldn't take them too seriously either. Use them as a way to get better at not just the coding process, but also team work and getting things done in general. Surprisingly, getting things done early and thoroughly results in a lot less stress since you know you've done well and no longer have a dead line eating at the back of your mind. Who knew, right?

About this Archive

This page is an archive of entries from March 2012 listed from newest to oldest.

Find recent content on the main index or look in the archives to find all content.



Powered by Movable Type 4.31-en