I’ve noticed lately that I spend a lot of my time just sitting and talking with other people in my team about the things we are doing and the things we want to do. But it’s not only me (I am a PM, so talking is part of my job description).
After we moved to an open space seating, it is a very common thing to see groups of two/three developers, seating together in front of one of their workstations and talking about how to design a feature, or how to better implement a special piece of code. This is done quietly most of the time, but sometimes the discussion becomes loud, and then we send them to some focus room to keep it going.
This made me think about how much we need interaction with other people to do great things. Akin to hunting huge animals. Like a mammoth.
When the prehistoric man wanted meat, he hunted. A single hunter could probably bring down a rabbit, some birds, or other small creatures. But as we gathered together in tribes, this was not efficient. We needed something bigger, that fed the whole tribe and lasted for a while. So we started hunting larger pray. Like mammoths.
Hunting a large animal is completely different than hunting a small one. The hunter isn’t afraid of some small animal. But a mammoth can kill you. It can step on you, run at you, hit you with a tusk… And it is very resilient, so putting a spear inside it doesn’t really make a difference. You need more.
We needed to work together. To coordinate an ordinate attack, to create diversions when one of the team members was about to be trampled, to keep up the hunt even after injuries and weariness crept in.
And that is how teamwork was born.
Fast-forward to the 21st century, we are not hunting mammoths anymore (thank goodness!). We have replaced this by going to our office each day and getting a paycheck at the end of the month. Instead of mammoths, we hunt problems. Problems that people are willing to pay for us to solve them.
And just like before, a lone developer can surely solve some problems. Even complex ones. But the real, mammoth problems can only be solved by teams working together. You could say to with the weapons we have today, a lone hunter could kill a mammoth, and that is true. But unlike our prehistorical mammoth, our (problem) mammoth keeps on growing and growing.
First we just had to program a console applications, running on one machine, one source of input and output. Very fast things started getting more and more complex: Graphical User Interfaces, multiple input methods, users, distributed processing, global access, redundancy, high availability, high performance… And who knows what the future will bring.
So next time you find yourself at work talking with other developers, don’t feel that you are not working. This IS part of your work. Stop thinking that only by writing code you are doing work.
Working as a team is the only way to hunt down the mammoth (and good luck always helps)
P.S: I’m against animal hunting for fun and pleasure. I used the analogy because it was the first thing that came to mind and stuck.