This year I’ve tried to focus more heavily on managing my time. As soon as the assignments were given I allocated time for them. I made sure that I approached all of my school work as a whole instead of the more serialised approach that I took last year. While this has equated to none of my assignments being completed, they are each very nearly finished, and all of them are above passing point according to their associated marking schemes. I’m pretty proud of this achievement, and will be sticking closely to my time management approach, its served me well.
I’ve identified a couple of weaknesses that I’m going to work on this semester that that’s mostly around my programming approach. I’m very much a write now and ask questions, or not, later type of programmer. On my final year project it was mentioned, and this year it’s already been mentioned a couple of times and that’s testing. I’m lousy at testing, in that, while I test as I go, I don’t keep any record of it. So one could say that I don’t do any testing at all.
I went to an interview for a placement and was given an exercise to carry out in a TDD situation. I failed this catastrophically. I should know about unit testing, and TDD as I’ve had a fair amount of exposure to it but I just never use it.
So this semester I’m going to approach all of my programming assignments using TDD. I’ve seen the quality of the code it promotes first hand and I want to bring myself up to that level.
Another weakness that I tackled early on and feel is worth mentioning is time wasting. This was actually a bigger problem than I realised. There was the phrase I heard that went something like “A lot of time is wasted beating your head against a wall hoping it will turn into a door.” I thought about this and realised that I spent a lot of time not understanding stuff. The next time your in a ‘beat your head against the wall’ situation think about how much time you spend with your head on the desk, or in your hands, or wherever. For me it was a lot. I’ve sat for hours thinking and fretting about how I don’t understand it, or don’t get it, or whatever. As soon as I get past that hurdle, the work would get done. But often by that time it was bordering on too late. So initially I focussed on how quickest to get over that hurdle, which is ridiculous now that I’m looking back at it, it’s kind of like planning to fail, or trying to take account of your own stupidity. So I determined that there was no need for that hurdle to be there in the first place. I know I don’t understand the subject, which is why I’m sitting there trying to learn it. So now when I approach work I find myself struggling to grasp the concept or whatever I push my brain into different mode, usually I just push on, I try things, test things, read things if it comes to that until the concept become more clear.
I tell you, I’m getting twice the amount done as before.