Expanding and growing as an individual, friend, husband, family member, and co-worker is what drives me. I want to absorb knowledge everyday and become better because of it.
What am I currently doing to become a better programmer and what do I need to do to further enhance the process?
Current Methods of Growth:
– Other Blogs: such as Jeff Atwood’s Coding Horror and Joel Spolsky’s Joel on Software, are a big source of information about the field from both experienced and successful developers. These blogs not only tackle programming questions but management, self-help, and an array of other areas that can only benefit their readers.
– Forums and other programming sites, Stack Overflow, Expert Exchange, Sun Forums, and a number of other sites. These forums allow for open communications with like minded individuals from a broad spectrum of industries to help each other with programming issues.
– Communication with co-workers and friends. Having instant lines of communications with co-workers and friends allows dialog about issues from people that know and understand you and the project you work on. These people have the best understanding of how you work and/or what the situation may be. Having a deeper understanding of these two factors will enable for a better understanding of the situation and how to handle it. Willing and open people allow for this type of communication. If the people around are not willing to help or available to help then this is a difficult resource to tap.
– Need, is obviously a very good motivator to learn and with changing technology and concepts the need to adapt helps the process. If a new technology or a unfamiliar technology needs to be used then that need will force growth if wanted or otherwise.
These four avenues are useful, but there is more that can and should be done.
Methods to be Implemented:
– Books, this is first and foremost. Don’t get me wrong I read software books, but I only do so in times of need. Reading them on my leisure needs to be implemented into my daily routine. I am a very big reader (I am never without a book), however, my past and current reading selection have been far from this topic.
– Side projects, this will most likely be my greatest hurdle. Programming for fun. I enjoy programming, but I also enjoy the outdoors, video games, reading, working on the house, and an uncountable number of other interests.
These two methods are obvious items that would really help become a better and stronger programmer. Knowing something is good for you and actually practice of said item is a completely different beast.
Being a programmer does not just mean knowing concepts and algorithms to solve the task. Communication, writing skills, and understanding business practices are all important aspects to becoming a better programmer. The importance of these skills must not be overlooked and improving them is just as important as reading about that new design pattern.
So what else can I do to improve myself?