Many developers in our industry prefer a dark corner to the presentation podium. This is often explained away with references to introverted personalities and geekish tendencies. While this may be true for certain individuals, there are definitely many benefits to breaking away from this stereotype. One of the best ways to progress in the business world is to develop strong communication skills - customers want to be understood and the combination with technical ability provides a powerful skillset when understanding problems and providing solutions. As with so many things in life, excellence in communication can be achieved through lots of practice.
Pair Programming is the process where two developers work together on the same code with one person typing and both constantly discussing the requirements, design and code. Pair Programming also provides an excellent opportunity to hone your communication skills. To be "in the zone" when pair programming requires that you continually verbalize your ideas in a way that your pair partner can follow your thinking and stay engaged.
This sounds easy, but to do it effectively requires:
- Verbalizing raw ideas as they come into your head in a way that your pair can follow
- Asking questions when you don't understand
- Focusing on someone elses way of thinking to stay engaged in their thought process
- Moving in a methodical way so that your pair can keep up
- Compromising on an approach to a solution and agreeing together on the next steps to take
Any periods of silence when pairing can often indicate a problem:
- The pair is stuck and doesn't know how to proceed
- One or both members of the pair are distracted and are no longer engaged
- One member of the pair is driving while the other has lost interest
- One member of the pair is proceeding without explaining their actions to their partner (and that partner has given up asking questions)
As you can see it requires a lot of effort and mostly soft skills to bring out the best in your own technical thinking and that of your pair partner.
We value communication so highly that we practice Pair Programming wherever possible on our development team. We also encourage our team members to present at development team meetings, user groups and code camps to further improve their communication skills. This is good for our team in that our productivity is enhanced through all the apprenticeship/cross-training and our verbal/soft-skills are enhanced daily through all the practice.
Come along to the upcoming Code Camps in the Mid-Atlantic area to see several of the Thycotic team members present and many other great speakers too.
Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC. Our product, Secret Server, is a secure web-based solution for teams to secure their passwords. Where do you keep your passwords or do you use the same password everywhere?