杰拉尔德·温伯格

2021-03-02 07:11:11

有些书就像镜子。我的意思是说,阅读它们涉及到自我的表扬,无论是赞美还是厌恶。回顾过去,回顾所有我们认为自己是对和错的时代,回想起曾经逝去的时光,其中有些是痛苦的,最希望是充满乐趣和快乐的。

其中之一就是“计算机编程心理学”。温伯格博士在其每一章中都对编程的人为方面进行了反思。这很可能是有关软件开发人员的个性,交互和特征的第一本书。请让我明确:这本书写于1971年,直到至少二十世纪末为止,一直持续印刷了将近30年。这是经典之作。

甚至在1999年出版了经过回顾的“周年纪念”版,但我购买了该书的第一版,除了页面令人愉悦的外观和感觉之外,还代表着70年代的版式和设计,结构,本书的编写流程和讨论使其独树一帜,并代表了我们领域的标志。

温伯格博士从个人和集体的角度分析程序设计,包括教育,人力资源管理甚至程序设计语言的问题。作者实际上专门在书中的一部分上解释了编程语言的设计如何影响其中编写的程序的可读性和随后的可维护性(或缺乏可维护性)。

关于团队互动,作者强调了扩大编程团队所带来的问题:小型团队是否面临与大型团队相同的问题?沟通模式如何出现和发展?作者乐于揭穿常见的神话和误解,其中一些至今仍被全世界的管理者所接受:哪些因素会导致项目破裂?答案会让您感到惊讶,您会想知道为什么没有人告诉过您先读这本书。

温伯格博士还密切关注程序员的个人特征。什么定义了一个好的程序员?他们为什么对自己的工作感到自豪?公司应向开发人员提供哪些激励措施?好的办公室还是有挑战性的问题? (我认为您可以猜到最后一个问题的答案。)

按照这些观点的作者的愚见,软件主要是一个社会过程,后来才是技术壮举。软件不再是技术产品,而书籍只是印刷品。软件是人与人之间互动的结果,因此它将反映参与其中的人们的所有矛盾,失败,奇迹和喜悦。人类编写的每一个软件都反映了一群人的内在情绪,心理和互动。这样,研究程序员的心态自然会产生一个过程,在该过程中,软件最终肯定会变得更好。

我曾经在Twitter上看到一个笑话,说管理程序员必须遵守海森堡原则,因为观察程序员会改变他们的行为。我认为这不是在开玩笑,因为我相信所有社会系统实际上都是受该原则约束的类量子系统。观察者的行为将始终改变被观察者的行为。就我而言,这还可以。如果经理意识到这一事实,并且如果他们可以利用这一优势,那么他们将能够建立可持续的团队。

也许温伯格博士从梅尔文·康威(Melvin Conway)那里获得了一些启发,他在1967年表示:“组织设计系统反映了他们自己的通信结构”。现在,您开始了解为什么您的微服务体系结构一团糟,并且没有,Istio和Prometheus都不会为您提供帮助。

最后,关于招募:我们都知道寻找和招募软件开发人员有多么艰巨,但是我震惊地看到有多少公司竭尽所能销毁他们花了很多时间和金钱来组建的团队。为什么是这样?我只能推荐所有的人力资源经理,所有的项目经理以及所有的开发人员,以获取本书的副本,并且正如我在本章开始时所说的那样,对着镜子做一个很好的了解。我们都需要一些自省,温伯格博士可以提供帮助。

旧式流行语警告:本书通常可供一般读者阅读,但是在某些部分中,作者假设您具有一定的编程语言,编译器,硬件设计甚至项目管理经验;在某些情况下,还有1971年的版本。