到 2015 2015年 7 月

30 卷数 7

新贵-为什么很难谈一谈有关科技

Ryder Donahue | 到 2015 2015年 7 月

软件开发最难的部分可能谈论它。每一天,开发商必须阐明深刻的技术细节和广泛的逻辑概念,经常只有路过的了解他们正在谈论的人。

我看到人民斗争与这所有的时间,我不认为这是因为他们是可怜的传播者,或有坏的想法。这是因为谈论某些抽象的因为代码是非常困难的事。如果通信是在软件工程中,很少发生,但事实上恰恰相反,这不是这样的问题。有效的沟通是每个成功的、 基于团队的软件开发工作的核心。

即使你是一个自由职业者的程序员,试图了解和提供客户想要什么可以艰苦的工作。对许多开发人员,每个团队成员在哪里工作的难题,必须组合在一起的不同部分的大型项目,所面临的挑战获取甚至更严厉。

向别人展示一些代码或甚至伪代码,可以是一个伟大的方式来获得你的观点,但有时代码不可用,或它是太大,无法立即掌握别人在交谈中。因此,我们经常将归类为挥手和崇高的描述。

另一个缺陷是当开发人员认为他们谈论到的人都熟悉的术语和缩写词他们融入到他们的解释,或其他有 helper 函数所引用的必备知识。如果另一方已摇摇欲坠掌握了这些概念,它会慢下来 — — 如果不是完全停止 — — 西游记 》 的理解。只要一个人听到陌生的首字母缩略词,很多下面是对话框的输给了他们他们苦苦挣扎的上下文。

更广泛地说,一个成功的对话框编程需要双方各持相似的蓝图,在他们心中的谈话开始时。这份蓝图可以是的代码你正在编写或甚至整个项目的体系结构的上下文中。虽然这位通常出于需要解释的它并不总是很好解释 — — UML 图通常太不方便,常常只是没有时间来审查所有详细的对象和数据结构。结果:团队往往不能满足要求开车知情的决定,但我们都继续这么做。

沟通是一个严峻的挑战,我个人奋斗。但它是一个弱点,如果承认,可以工作。作为开发人员,我们必须提醒自己,别人可能不会跟随我们思路密切像我们认为的那样。在另一面,我们必须愿意让别人知道当我们还在挣扎着理解一个概念在谈话前的会移到下一个主题。

鉴于所有这些困难,我发现它是一种像 Windows 的产品甚至工作在所有的软件工程的胜利给成千上万的工程师,他们多年来对它工作。

也许在谈论科技都将十分困难,或也许随着软件开发的比较年轻的学科的成熟,我们会看到更有效的沟通方法开发。也许解决办法在于技术本身,具有更好的工具进行协作和更多的关注和进化编程语言。如果未来的编程语言设计更清晰和直观的语法,并不冗长的行李从原始语言结转,我们可能会看到代码,我们可以更快地读取和其意义更容易吸收。也许解决方案的一部分在于更新、 更好地编程范式,将允许更好的类比驱动的解释比甚至面向对象编程现在可以提供。

有一点是明确的谁创建和采用这些解决方案将获得很大的优势在那些继续在今天描述软件工程的首字母缩写词和手挥舞着沙尘暴中徘徊。


Ryder Donahue 是在微软的软件开发工程师。最初从夏威夷群岛,他现在居住在位于华盛顿州雷德蒙德市与他的未婚妻和他们的猫,大理石。