My list of "things I need to learn" in the world of programming is growing every day. Most recently, while working on a side project, I have fallen into the hole of poor application architecture and design. Why did this happen? Well, part of the reason why is because I oftentimes get too excited about starting to code that I don't take a step back to figure out what the actual underlying pieces are. Then, as I start going down one path I realize that maybe it isn't the best path and have to start over. Software architecture is on the list! (Included in architecture is also design patterns. I think of them as being hand-in-hand). Next up on the list is creating applications that are object-oriented. Most of my work is done for the Web and the web oftentimes doesn't have much object-oriented parts to it. But, when developing larger backend applications, object-oriented principles can make life a whole lot easier. Reduce code duplication, leaner and faster, and easier to update! Lastly, implementing test driven development. This goes a little with object-oriented programming, but how nice would it be if I knew my code worked before it was tested? If I was able to run tests to make sure everything operated as I expected? That sounds ideal.
My action items:
- Find courses in each of those 3 areas. If they are good courses that cost a little bit amount of money, invest in them!
- Have patience when building applications - starting off with a good design will help in the long run!
Time to learn more!