Talk to Each Other - TheIronYard--Orlando/2015--FALL--ROR GitHub Wiki

Why We Communicate About Code

Your Typos Are Hard for You to Find

  • Writing functioning code requires precision.
  • If your code has a typo, it won't work.
  • It's easier to see someone else's typos than your own, because you have a tendency to assume what you typed was right or you wouldn't have typed it.
  • Fixing another person's typo makes you feel useful. Having your own typo fixed - whether you fix it yourself or someone else finds it - can make you feel a bit dopey.
  • Therefore it's a good idea to ask someone else to read over your code if you suspect it might be broken because of a typo. It's easier for the other person to find it, and it'll make the other person feel useful.

Hear and Understand

  • Different parts of the brain are involved in hearing about, reading about, and solely thinking about a problem.
  • Therefore hearing about a coding problem can activate different parts of your brain than reading or thinking about it.
  • Therefore talking about a coding problem can help you solve some problems that you can't solve by reading or thinking about them.
  • Talking to yourself, or a non-technical spouse, or pet, or rubber duck, is a time-honored problem solving strategy.
  • Talking to another developer can work the same way.
  • Therefore it's a good idea to talk to someone else about problems you're having in your code. Hearing yourself describe the problem can lead to a solution even if the other person offers no input.

You Think Less Precisely Than You Think

  • Writing functioning code requires precision.
  • Thinking about a problem does not require precision.
  • Putting your thoughts about a problem into words requires more precision than just thinking, but less than coding.
  • Therefore talking about a coding problem with another person can help lead you towards a solution by forcing you to be precise enough about your thoughts to put them into words. If your words are unclear to the other person, it's a sign that your thoughts might not be clear enough to be turned into code.

Listen and Learn

  • Writing functioning code requires you to know things.
  • Other people know things.
  • Therefore talking about a coding problem with another person can give the person the opportunity to teach you something you can use to solve your problem.