Like the movie Fight Club, there seems to be an unspoken rule in software development that most individuals entering the field do not realize. Everyone acknowledges the initial mountain that must be climbed. Learning how to think in a logical manner, understand software constructs, and internalize programming languages are all necessary and obtainable merit badges. Although the pinnacle of the mountain is above the clouds, everyone starts their journey at the base. Before too long, they are up above the clouds and the picture becomes more clear. There are tons of people already up there! And the mountain is even bigger above the clouds! This is the place where a programmer's career really starts. During the following formative years, each developer begins to codify his/her own coding style, ideas, theories, and opinions about software development. In this time, programming habits both good and bad are established.
One bad habit that permeates the industry is fellow developers arguing about how code is written. Although their hearts are in the right place, in most cases their focus may need adjustment. The late author Zig Ziglar was known to say "Be firm on principle but flexible on method." This is an excellent approach not only to life but programming. With the exception of high volume, up-time, or bandwidth development, the focus on coding should be a measured response. Help others with programming tips, tricks, and theories only while the conversation remains productive. One of the greatest strengths of software development is that there is no one right way to do anything. Sometimes multiple options exist, or in other situations, what was thought to be the best way was superseded with an even better approach.
Developers are commonly misunderstood as mean, evil, or difficult to work with. In many situations, this is not true and they simply struggle to properly frame the conversation while expressing their opinions. This is where Zig Ziglar's quote can help. It's important for every developer to ask themselves one question before engaging in coding discussions: "Why do I feel this is important?" This will help frame the conversation in one's mind and should help outwardly communicate those thoughts. Keep the focus in this area and be sure to thoroughly communicate any concerns. This simple approach to coding conversations can turn the potential for an argument into a moment of growth for everyone.