April 22, 2008


Ever have one of those days where something just snaps into place? I had a moment like that today, regarding some of my own strengths and weakness in software development.

For instance, I'm positively no good at estimating the time it will take to do anything. It's not even an issue of guessing an incorrect figure, frequently it's just that I have no idea how long something could/should take. As such, I feel kind of bad whenever I have to give one, especially if it's a big project of any sort.

Even taking it a step back from that, I'm only moderately good at extracting requirements out of users. I do tend to think that I'm decent at determining potential requirements after the fact, but that doesn't really help.

One thing I am pretty good at, and I think anyone in my family could vouch for this, is knowledge of the systems I work with regularly. Odds are pretty good if you asked me about my "primary" system, I could answer any question or know almost exactly where to look to answer it. It started with a tendency to accumulate encyclopedic knowledge of my interests. I think I picked it up from my Dad - we both have a pretty good knowledge of actors, and could probably play a good game of "spot the Vancouver actor" on shows filmed up there.

As a result of that tendency, I'm also a pretty good storage point of the way things can be done. Not always the way they should be done, but if it works and I've used it, odds are pretty good that I remember it. I probably remember it when it doesn't work too - it helps when you don't make the same mistake more than two or three times.

My biggest "failing" of all though: anxiety. I have the hardest time actually bringing up anything to someone I'm not comfortable with. At work, that consists mostly of my area and three of my users. Luckily they're the three users for whom I do most of my work. When I lock up about something, I tend to stay that way too. It really sucks.