I came across this post by David Starr recently and while reading it I could hear the voices in my head going “Yes. Yes! YESSS!” All the points on that list are spot on, and I would recommend sharing them with any execs in your company who love bullet points and need a good idea of what to look for in developers when hiring or evaluating.
Since the author asks for input on the list, I will give my two cents here. The list does an amazing job describing the attributes that make a developer great technically. It also describes what a great team member does (applying agility to the processes and interactions with the rest of the team and other parts of the company). In those points the correct words are being used: “collaboratively,” “respectfully,” and “embraces.” Even though the author already implies it, I feel that I need to add a separate and clear point to that list:
Makes sure that the emotional safety of the team is preserved at all times.
This idea of emotional safety is not some radical new idea or the new buzz word to live by. MPJ has already done a great job talking about it in his video, which I strongly advise you to spend a few minutes watching. The idea is simple: Beyond the technical and team coordination abilities of a person, another critical one to have is empathy. We, as members of a team, strive to never make a fellow member feel bad for trying to contribute, always treat everyone with equal respect, and try to see the person behind the colleague.
We are all people. We all have varying amounts of knowledge in varying areas and we show it with a varying ability depending on the day of the week, physical and mental state, the weather and what we had for breakfast. A lot of balls to juggle already. We do not need another one called “office politics.” Good software is not built by great developers, it’s built by great teams, as the adage goes. And great teams are the ones whose members feel like they are valued and their opinions and contributions count. They are also proud of the products they build.
If you were someone that tried to control, disrespect, or demean your teammates, you wouldn’t only inhibit the overall productivity of the group, but you’d also prevent the team (and by extension yourself) from advancing their skills and careers. Nobody wins.
This is more than zen statements you’d expect to hear from some “flower power” team builder. There’s actual data to back this up. Google carried out a study called “Project Aristotle” on its 60,000+ employees over four years to find out what makes good teams tick. There were teams with technically great individual members and little interaction/empathy and others with averagely skilled members and great social structure. The latter performed on par with the former and people joining them were a lot more likely to develop their skills and advance their careers.
So, try your best to be the best person you can be in a developer team and everyone will benefit greatly. You, your colleagues, your products, your clients, your managers, and your bosses...it's simple!