As a developers and managers we always speak about technology and architecture. In this blog post i am talking about some "esoteric" characteristics that really makes your group much healthier.
1. Motivate by the business
Motivation lets people to get better results. This is the reason that you see runners in Marathons that gets better results on the marathon itself while on the training they gets less good results.
Developers should love the business, In the real world we cannot alway to use bleeding-edge technologies, so people should be motivated by the domain problem they are trying to solve and it will make them better.
2. Diverse people
Diversity is crucial, we want women developers, men developers, frameworks lover, framework haters, problem solvers, hackers, people that love education, people that hate education, TDD fanatics, pragmatics developers, night workers, day lovers.
The problem with non-diverse environment that we hire people that are like us, and our engineering is evolve in one way, the way that we believe, but we never getting out of the comfort zone and people does not challenged by themselves and it boils down into a place that we do not innovate much.
3. Innovation culture
As engineers our day to day work is tight with full of deliveries and customers that wants more features. And we forgot the innovation because we think that the life does not give us space for doing innovation.
This is 100% a lie. Innovation is not about building autonomic car or building rocket that sent to Mars. innovation can be any small thing that will make our life easier. DRY (Don't repeat yourself) is not only for the code, we keep repeating doing stuff because of bad tooling and bad processes. A developer can make very small innovative things and make small innovative decisions that make our life easier, not repeating things is crucial.
Sometimes suppress innovation because automatically we say "It won't work", "I don't believe in it", "It breaks the rule of X". And the person that came up with the idea might give up and just don't do it. Some people does not care and make changes, but large amount of people are kind of introvert and will not try new stuff. New stuff can be stupid thing that will be huge beneficial and a game changer. If we won't have a culture that promote to try will never win from the "stupid" things that change our life.
4. Transparency and Implicit learning
As a developers we are going to meetups, read blog post & go over the twitter feed. We learn from these things. However i want to tell you that the majority of the things we learn are coming from "non-formal" things like chat with a colleague over lunch.
We want people to share and be transparent, it can be by doing open source software, it can be by keep people talks in meeting not only about failures, also about success. Talk about software and architecture on the social events, people listen and either learn or get enthusiasm about the topic and might continue to explore this subject offline.