Steve Watts recently made
Here is a list of Technical Investments that you can make and how they can pay you Technical Interest in the future. These are all things you can start taking advantage of today. You don’t have to take my word for it. I’ve included comments from some friends on how they found these investments useful.
Source Code Control is a must. Not using it is simply irresponsible. You only have to have one issue before realizing its value. Corrupt files?
2. Templates and Scripting Tools
This one should be obvious. It’s all about not reinventing the wheel and not wasting time doing repetitive things. This gives us more time to focus on solving our customers’ problems, which means we can deliver solutions faster, get paid sooner, etc.
3. VI Analyzer
If you have ever tried to untangle a spaghetti mess it probably became obvious pretty quickly that style is important. Yet how can we enforce that? Well VI Analyzer is the answer. Who wants to spend their valuable time debugging? Using VI Analyzer regularly may not reduce the number of bugs (although there are some it can catch), but it certainly makes them easier to spot and fix, when you don’t have to move all the spaghetti out of the way first.
4. Code Reviews
Obscure or cryptic comments. Complicated algorithms and logic with no explanation. These may slip by VI Analyzer but are generally pretty easy to catch in a code review. Plus when your star programmer disappears (and he will eventually – nobody lives forever), do you really want him to be the only one who has a clue as to how your code base works? Share the knowledge and maybe you will get lucky and catch some bugs along the way.
5. Unit Testing
How do you know your code works? Can you prove it? Your code interacts with some other code module but the interaction isn’t working as expected. Whose code is at fault? There’s a bug in your code, how do you track it down? Building your code takes a long time. How can you make sure there are no bugs before you build it? A good Unit Test Suite can answer all these questions and more.
6. Continuous Integration
Imagine this scenario: You check out some code fresh from the repository. You immediately know it works because the last commit ran all your tests and they all passed. You make a handful of small changes to fix a bug and push them back to the server. Ten seconds later your computer beeps and you notice you have a new mail. You open it up and sure enough, its the server notifying you that your Unit Tests have failed. How long do you think it takes to find the bug you introduced?
But I don’t have time…
You don’t have the time not to. It’s never too late to get started. If you need extra help,