I was reflecting recently on my own growth as a developer over the last several years. There are two factors in my own development that I identified as playing a significant and indispensible role.
Partners-In-Crime
I have been privileged over the last couple of years to work with other developers that have spurred me on to new heights in software development. There has been a mutual give and take of discoveries and lessons learned. There has even been a friendly sense of competition in challenging one another to keep learning and growing. Unfortunately two of the most influential developers during this time aren’t as big a part of my professional carrier as they once were. One has moved on to a new company and the other is in the process of transitioning to another company.
I can’t emphasize enough the importance of having these types of peers. More over, it is highly important that you and they see the process of learning and growing as something to be shared. We all know, or have known, those types of developers that, for one reason or another, lock themselves into a citadel of their own knowledge and refuse to help others grow and thereby restrict their own growth. I am opposed to this type of mentality and believe that we should all strive to challenge each other to grow and to help each other do so. It is one thing to tell another developer where she needs to grow, it is another to play an active role in helping them to grow.
Pages that Turned Me
In addition to my friends, there have been several books that opened whole new concepts and areas of growth for me. Below are four books that have enlightened, taught and challenged me. There have been others, but these were among the first that pointed me in a new direction and helped me to “turn over a new leaf” as a developer. I would encourage anyone that hasn’t discovered these books to seriously consider making them a part of your library.

Code Complete: A Practical Handbook of Software Construction
Author: Steve McConnell

Rapid Development: Taming Wild Software Schedules
Author: Steve McConnell

Refactoring: Improving the Design of Existing Code
Author: Martin Fowler

Design Patterns: Elements of Reusable Object-Oriented Software
Authors: Gamma, Helm, Johnson and Vlissides
Tags: leadership, personal growth, resources