We often wonder what makes a coder into a software developer. Every developer is so special, because they build every brick of the overall product. Every developer, no matter what technology they are into have a unique culture. Developer has a short and long term vision on how their product looks like from time to time.
So what is a culture? As per Wikipedia –
Culture is the social behavior and norms found in human societies
Now what it is a coding culture – As per me –
Coding culture is the coding standard and the best practices applied while developing a software product as applicable with every coding language
What does a developer think as he starts developing a product? – The answer at a high level – CUT – Coding and Unit Testing.
Like a human evolution, there has been evolution on the developers as well. The advancement in tools and technologies actually contribute more towards this evolution. This also helps developers more towards focusing the real problem on the product they build rather than working on building up a environment more suitable for development activities.
Also, there is always a stand-off in selecting the best tools for the developers. In older days, often the management ends up in selecting the tool which they think might be best suited for developers.
We should give developers a chance to check whether they enjoy working on the tool. Whether the tool really help them in simplifying the daily tasks or not?
In short, modern day developers demand to try the tool before they could adopt to their work environment.
Trade-off in employer and employee expectation also determines the quality of the developer. Employers opportunity to employees plays a critical role.
Let’s see in detail on some of the ingredients that I feel determines the coding culture of an individual developer or a team.
1) Team innovation – Give enough time for the developers to come out with innovative ideas. Time plays a crucial factor in letting the team come up with creative ideas. Great teams have innovation in their DNA and culture.
2) Team collaboration – Developer meetups both internally within the company and externally outside the organization are important for developer to understand the cross coding culture among developers.
3) Team conventions – Platform for developers to present the products they developed. An opportunity to demo good practices and tools to the fellow developers.
4) Team promotions – Promote what practices have really done good for a developer to other developers. This helps in spreading core values of a developer’s coding culture.
5) Team failures – Failures are most important. Count on your failures to avoid the same kind of mistakes. Do not compromise on your core values on your failures.
6) Team transparency – Being transparent to fellow developers is really a good thing to follow. Share coding practices with fellow team mate. Sharing knowledge helps to understand more on the topic.
As technology evolves the coding culture evolves with it.
As I said earlier in this blog every developer is unique and precious!