Qualities of a Good Developer?
Just what exactly is it that distinguishes a good developer from an average developer? Certification in a particular language or technology demonstrates the ability to be "average", but certainly doesn't demonstrate good. I believe a good developer is someone who has an aptitude for developing, which is inherently extremely difficult to measure or quantify. However, there are possibly a few things that can help you identify your good developers:
- They are capable of using several languages to get things done
- They are pragmatic in their approach
- They understand the concepts as well as the solutions
- They can think at multiple levels of abstraction
- They can get things moving despite uncertainty
- They champion quality and continuous improvement
- They like to share their knowledge and expertise
Of course, these are very subjective measures and very hard to qualify or quantify. It can be very hard to demonstrate an ability to use several languages if the working environment dictates a single language. Red tape may prevent pragmatism. If the environment prevents these qualities being expressed then it is very likely the most important qualities of the best developers are being suppressed.
If you wish to get the best from your best developers, and achieve that 10 times productivity that is often quoted, you should look to make sure that you have provided them with an environment that allows them to demonstrate (through action) the above characteristics. If there is anyone you can think of right now with some or most of these characteristics, why not take the opportunity to ask them how you can help to allow them to improve.
Emotional Agile – Weather Poker
Ever since I attended a session by Rachel Davies on Project Mapping at SPA 2005 I have been interested in simple ways to use emotions to engage teams. On a recent gig for exoftware I introduced weather poker at the end of the daily stand-ups as a way to measure the feelings of the team.
In essence, each member of the team was given cards with weather symbols ranging from thunder to sunny. We would then take a vote on what yesterday felt like and average out the results. A larger image was then made highly visible on our information radiator for all to see. Despite this being a small experiment, it did look like this was a very quick and effective way to allow the team to express how they were feeling. Indeed, the one day when the team decided to display the thunder symbol lead to an intense interest from the on-site customer.
If you would like to try this in your team, I have attached a pdf with the cards ready to print and laminate.
PDF: weather-poker