Two Heads Are Often Better Than One

翻译 2015年07月11日 07:25:13

Two Heads Are Often Better Than One

Adrian Wible

PROGRAMMING REQUIRES DEEP THOUGHT, and deep thought requires soli- tude. So goes the programmer stereotype.
This “lone wolf ” approach to programming has been giving way to a more col- laborative approach, which, I would argue, improves quality, productivity, and job satisfaction for programmers. This approach has developers working more closely with one another and also with nondevelopers—business and systems analysts, quality assurance professionals, and users.
What does this mean for developers? Being the expert technologist is no longer sufficient. You must become effective at working with others.
Collaboration is not about asking and answering questions or sitting in meet- ings. It’s about rolling up your sleeves with someone else to jointly attack work.
I’m a big fan of pair programming. You might call this “extreme collaboration.” As a developer, my skills grow when I pair. If I am weaker than my pairing partner in the domain or technology, I clearly learn from his or her experience. When I am stronger in some aspect, I learn more about what I know and don’t know by having to explain myself. Invariably, we both bring something to the table and learn from each other.
When pairing, we each bring our collective programming experiences— domain as well as technical—to the problem at hand and can bring unique insight and experience into writing software effectively and efficiently. Even in cases of extreme imbalance in domain or technical knowledge, the more experienced participant invariably learns something from the other—perhaps a new keyboard shortcut, or exposure to a new tool or library. For the less- experienced member of the pair, this is a great way to get up to speed.
170 97 Things Every Programmer Should Know

Pair programming is popular with, though not exclusive to, proponents of agile software development. Some who object to pairing ask, “Why should I pay two programmers to do the work of one?” My response is that, indeed, you should not. I argue that pairing increases quality, understanding of the domain and technology, and techniques (like IDE tricks), and mitigates the impact of lottery risk (one of your expert developers wins the lottery and quits the next day).
What is the long-term value of learning a new keyboard shortcut? How do we measure the overall quality improvement to the product resulting from pairing? How do we measure the impact of your partner not letting you pursue a dead- end approach to solving a difficult problem? One study cites an increase of 40% in effectiveness and speed.* What is the value of mitigating your “lottery risk”? Most of these gains are difficult to measure.
Who should pair with whom? If you’re new to the team, it’s important to find a team member who is knowledgeable. Just as important, find someone who has good interpersonal and coaching skills. If you don’t have much domain experience, pair with a team member who is an expert in the domain.
If you are not convinced, experiment: collaborate with your colleagues. Pair on an interesting, gnarly problem. See how it feels. Try it a few times.

相关文章推荐

Why is one loop so much slower than two loops?

Question: Suppose a1, b1, c1, and d1 point to heap memory and my numerical code has the followi...

why BSD is better than Linux .pdf

  • 2014年09月13日 12:30
  • 2.14MB
  • 下载

URAL1917_Titan Ruins: Better late than killed_二分搜索

好久没有1A了。。。。 题意: 一个c数组,

Why ConcurrentHashMap is better than Hashtable and just as good as a HashMap

Original from Why ConcurrentHashMap is better than Hashtable and just as good as a HashMap Concurre...
  • slm007
  • slm007
  • 2011年05月18日 15:36
  • 303

10 things Linux does better than OS X

By Jack Wallen OS X is heralded for its friendliness, but according to Jack Wallen,...

Why Google better than baidu

Why Google better than Baidu               也许有些人不知道Google,google百度都是搜索引擎网站。 百度是目前中国最大的中文搜索引擎,Goo...
  • cn_bboy
  • cn_bboy
  • 2012年08月24日 22:15
  • 1234

Why SAP HANA is a Better Choice than Oracle Exalytics

Note: this piece was co-written with Aiaz Kazi, head of Technology Marketing at SAP On Sunday night...
  • acuna1
  • acuna1
  • 2012年07月10日 17:23
  • 460

How can I know if Deep Learning works better for a specific problem than SVM or random forest?

以下内容转载 http://sebastianraschka.com/faq/docs/deeplearn-vs-svm-randomforest.html If we tackle...

Why Google better than Baidu 百度的原罪—封杀Google的黑内幕

也许有些人不知道Google,google百度都是搜索引擎网站。              百度是目前中国最大的中文搜索引擎,Google是全球最大的并且最受欢迎的搜索引擎,主要的搜索服务有:网页搜...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Two Heads Are Often Better Than One
举报原因:
原因补充:

(最多只允许输入30个字)