by Dietrich Schmitz
To a large degree, these individuals believe their skill set is superior to those around them with whom they choose to affiliate. Their esteem and self concept continues to develop and the familiar group becomes self-referential.
Often, Developers who enjoy a small group are not compared with a larger population outside of the group with whom they may discover their talents are viewed as marginal.
The risk of staying a Big Fish in a little pond is that the level of learning will level off and the risk of not acquiring leading edge skills increases with a complacency and false sense of accomplishment.
In the book Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman, authors Dave Hoover and Adewale Oshineye help the prospective Developer perform a thorough self-assessment and give constructive advice on what will help them advance and grow:
"The talented and hard-working apprentice must not become self-satisfied with his success. It is very easy to rise above the mediocre in the field of software development because too many people become satisfied with staying only slightly ahead of the curve. You must fight this tendency toward mediocrity by seeking out and learning about other teams, organizations, journeymen, and master craftsmen that work at a level of proficiency that an apprentice cannot even imagine.
You must be willing to let go of your perceived competence and allow yourself to recognize that you have traveled only a short distance on The Long Road. Your goal isn't to become better than the "average developer." Your goal is to measure your abilities and find ways to be better than you were yesterday. We're all on the same journey, and comparing ourselves to others is useful only when it allows us to find ways to help each other to improve."
The authors go through many work scenarios and provide constructive advice on how best to handle each situation, for example:
Be the Worst
"Context: You have unleashed your enthusiasm and taken every opportunity to learn new skills. As a result, you have outgrown your team and possibly your entire development organization. Problem: Your rate of learning has leveled off. Solution: Surround yourself with developers who are better than you. Find a stronger team where you are the weakest member and have room to grow.
Be the Worst was the seminal pattern of this pattern language. It was lifted from some advice that Pat Metheny offered to young musicians: "Be the worst guy in every band you're in." Pat's advice struck a chord with Dave, and was one of the reasons he started writing this book."
"Despite the many benefits of a community of like-minded folk, you must also be aware of group-think. Force yourself to retain the capacity to ask questions that shock your community. Try to use that little bit of intellectual distance to generate the kind of respectful dissent that will keep your community healthy. Your community's health can be measured in the way it reacts to new ideas. Does it embrace the idea after vigorous debate and experimentation? Or does it quickly reject the idea and the person who proposed it? Today's dissident is tomorrow's leader, and one of the most valuable services you can provide to your community is defending it against those who believe that marching in lockstep is the price of membership."
So, if you are a young aspiring programmer with high ambitions, please have a look at this book. It is filled with common sense nuggets of wisdom which will give you the needed temperance and perspective to accept the larger intellectual challenges which lay ahead of you. These are exciting times for software development.
Don't become a Big Fish in a little pond. And, Good Luck!