《程序开发心理学读书笔记之一》

                                                                                      《程序开发心理学读书笔记之一》

   《程序开发心理学》出自软件领域著名思想家,美国计算机名人堂首批成员之一的Gerald M.Weinberg温伯格之手。其关注的是程序开发过程中人的因素,作者从人类行为、社会行为、个人行为等角度,分析了人在计算机程序开发的过程中所表现出的行为及其影响,探讨了诸如什么样的程序员才是好的程序员,怎样才能打造出优秀的开发团队,我们在求职或招聘时做的那些智力测验是否真的有用,等等这类问题。此书一共分为四篇13章,以下是我从每个章节中汲取到的知识以及自己的见解:

   在第一篇《作为人类行为的程序开发》中,从“阅读程序”这一章中意识到了程序的阅读依然是一个关键,当今所出现的问题是‘高手越来越高,低手越来越低’的问题;“优秀的程序要素”中明示了一个程序的评价既要认识到其内在的优点,又要兼顾其外在的运行环境;“如何研究程序开发”一章中明确的阐述了在进行程序开发研究时,我们应学会借鉴和利用现有的资源,借鉴过程中应该特别的谨慎提防,以免落入陷阱,我们可能会遇到这样或那样的错误,但是我们最大的错误是过于谨小慎微而裹足不前,故我们应该克服自己的畏惧心里,从而提高敢于进行实验的意识和培养积极进取的精神!

  在第二篇《作为社会行为的程序开发》中,“程序开发组”一章阐述了为了要了解程序员复杂的工作环境,作为主管得先从本质上对正式与非正式加以区别,以及同时找出决定和造成环境多样性的因素:从周边的自然环境到人的自私性,而这种自我保持的现象,无所谓好亦无所谓坏,它是程序开发中的一种客观事实;在很多程序开发环境中,最基本的工作单位是“开发团队”,而不是个人,然而各成员的特长与不足,目标设定的方式,待开发的程序的结构等等因素都是影响一支团队的生命周期及其绩效的因素,而且对于其中计算机程序无法运行时,任何人都知道谁应该对此负责;“程序开发项目”一章中提出了人开始成为软件工程中最重要的因素,我认为C.A.R.Hoare对主管说的这句话很精典:“从根本上讲,所有的问题都属于技术性的。如果你的目标不明确,而且你拥有必要的技术背景,那么就不可能在管理上出现什么问题。显而易见,在资源管理以及人事管理方面维持现状即可,仅此而已。”

  在第三篇《作为个人行为的程序开发》中,“程序开发任务的差异”一章阐述了程序开发不是一个一尘不变,不可分割的过程,主管们会常常忽略一个事实:程序开发工作可以被划分为若干阶段,但是这种划分并不是整齐划一的,同样的程序员们也会忽略这样一个事实:他们的工作,只是就不同程序的不同方面来进行的,总之对于优秀程序或程序员的评判问题归根结底就是人与人之间互相承认与鼓励的问题;正是由于程序开发任务与生俱来的复杂性,所以程序员的人格以及个性特征对其工作的成功与否起着决定行的作用,无论是心理学研究者,主管或经理,还是程序员本人,只要对人格问题有所重视,都将会从本质上有助于程序员工作绩效的提高;“智力水平以及问题求解能力”这一章阐述了每一个程序开发绝不是某一个人独立完成的,人们越是热衷于程序的开发,就会越发对自己基于印象的认识充满信心,并且优秀的程序员是培养出来的,不是天生的,故应该把注意力和重心放到培养和培训的过程上来;“积极性,培养以及经验”给出了提高程序员工作绩效的好方法,即培养他们对工作的渴望,并使他们掌握为完成工作而必须具备的知识,前一方称做积极性后一方称为培训,然而能够将我们从计算机技能的培训的苦海中解救出来的正是计算机本身,只要程序员具备学习能力,计算机永远可以成为他们的老师,计算机辅导仍是程序员的最佳学习之道!

  在第四篇《程序开发工具》中,从"程序语言"这一章中我知道了若希望在程序语言方面取得进展,我们就必须放弃企图用“真正”的语言来编写程序的浪漫想法,因为程序语言永远不可能和人类的自然语言一样,要求程序语言要自然些是说使表达的方式与表达者的思想协调一致,但最终为了更好的匹配,我们也不得不改变自己的想法了;“程序语言设计的一些原则“一章阐述了程序开发并不是数学的一个分支,它是一种独特的交流形式,人在这个过程中扮演了一个积极的角色,而计算机常常是消极的,或许正是由于这种单向性,才导致了程序语言中的种种问题,而且应该意识到程序语言是需要相互交流的,是人的行为;从“其他的程序开发工具”中认识到了系统是复杂的,任何涉及到系统的过程都是该系统的一部分,且系统间也没有明确的界限,这意味着要想获得和解释实验结果是非常困难的,总之我们关心的重点并非是获得了多少答案,而是在尝试中寻求答案过程的经验。

  总之,读完这本书后,我感觉我的思想及意识提高了许多,很荣幸能够汲取到作者对程序开发方面心理学的独到见解,让我重新认识了程序开发,本书面向的范围很广,尤其是对软件领域的人们有着重要的引领作用,作者在每一章节都提出了主管与程序的各自的反思,并且在对每一个问题进行全面阐述时,都分别朝向这两类人,具体的意识,具体的措施,方方面面,面面俱到。在我还未进入实际的社会软件开发中,我真的很欣慰能读到此书,能够汲取到其中的精华为未来奠定一定的基础也是很必要的,所以无论以后我会涉足哪个开发团队,我一定会积极借鉴本书的经典,继往开来,站在巨人的肩膀上开拓创新,继续去探索软件领域的奥妙!

 阅读进度:此博客是在阅读完本书后发表的。

 

 

   

posted @ 2015-03-29 22:17  Twinklelittlestar  阅读(858)  评论(0编辑  收藏  举报