I know I could sit here and list about 50 different skills needed to be a great developer, yet I don’t think anyone would really put communication in the top 10 of those skills. If a programmer was ranking all 50 of those skills, I bet communication would follow something like playing XBox well, and preceed (just slightly) knowing how to conduct a Japanese Tea Ceremony.
We obviously know why its rare, computer programmers don’t need to talk to anyone. They can get a written spec, use MSN to ask questions, and browse the bug list of corrections. Walla, a perfect product.
In fact, when I tell people I’m a programmer, they say they couldn’t do it, they don’t have the patience to sit at a computer all day. (Ahh, I’ve got another idea for an article…) Which has nothing to do with the actual sitting, nor the computer as these same people would gladly play 10 hours of WoW if they could, but more with the type of zone or lack of one a programmer goes into while he orchestrates his masterpiece.
So why is communication important? The greatest area of latency between conception, production and release is communication. How do we think this should be implemented? (Product Management) How do you guys think this should be implemented? (Dev) Did you guys mean to implement it this way? REALLY? (Test).
This is really part of why Agile is (atleast was) the big new thing. Its orchestrated so that you have this cycle that I just outlined (minus the second part of the tester) preferably every day, at least every iteration. Any outstanding issues are made sure they are important, and then worked on the next chance there is. The faster you can prevent developers from producing throwaway code, the more you can accomplish.
Sure you can just micromanage a developer to ensure communication is present to the point where you know they spend 20 minutes a day in the bathroom, but how is their efforts being maximized by you interacting with them in such a way? Is your time worth so little you can be refined to a walking talking task tracking application?
You can have developers who don’t talk, but they won’t be leaders. In Karate, its a big thing for us to make you tell, as I train over by the Microsoft Campus, we get a lot of programmers, and we are constantly trying to make them speak louder, because as their voice level increases so too does their confidence.
Say it Loud! Say it Proud!1 comment