Looking Beyond Visual Studio
by: Grant Palin
This post was originally submitted to The Great Devlicio.us Giveaway.Up until about a year ago, I was programming in .NET using just Visual Studio. I was used to the tedium of manually compiling, testing, backing up projects, writing documentation, and so on. There was no awareness of tools and techniques, just much manual work.
My curiosity piqued by various writings on the web, I read an article about source control with Subversion. And in a flash, I realized that I was missing out on numerous tools and techniques. So I proceeded to learn about Subversion, and set up repositories for my projects.
And that was just the beginning. I set out to read about other practices and tools. I read, I experimented, I wrote, I revised, and I learned.
And now I feel I am much more knowledgeable than I was a year ago. Over that time, I have started using source control, build automation, code analysis and metrics, design patterns, and unit testing. I have applied these concepts to ongoing projects, and it has been quite an adventure.
I now know that when next I start a new project, I will have knowledge of tools and techniques to simplify and guide my programming efforts, both in getting started and in the long run. And these can be applied to other languages and platforms outside of .NET and Windows. I have also been applying these ideas to one of my PHP projects. The concepts are the same.
All of this learning has been done on my own time, for my own purposes. I now realize that many of these practices could be useful at my day job. I have helped to set up a Subversion server, and move one of our bigger projects into source control. I have also initiated discussions on unit testing, build automation, and code metrics. There is interest among my coworkers on the subject, and it is my hope to be able to apply my new knowledge for the benefit of our projects.
Just think: if I had not read that first article on Subversion, I might have carried on with my projects in the manual tedious way. I might not have learned anything new. But I did, and I started moving beyond my boundaries.
And after all of this, I can see that there is still much more to be learned. I shall continue to read about and explore the tools and practices, and apply them if I find them useful. My main lesson here is that it is important to be aware of what information is out there, and how it can be used to one’s benefit. Thanks to some initial exploration, I am now a better programmer, and will continue to better myself and my skills.