年前蹲了很久的《程序开发心理学》2003年版,终于到货了,因人在老家,所以拜托朋友帮我收货。近日到手后,便迫不及待的看起来。
粗略算来,从15年毕业,期间gap一年,到现在已经工作快8个年头了。这8年内,虽是在做开发这一行,但是却只是懵懵懂懂,不知所谓。追求的无非是,把功能写出来,把工作完成,如果写不出来,就去查资料,万能的互联网,资料浩如烟海,但是这些年练就了一手查资料的本事,所以活干起来也不是很费劲,但是往往东西做出来了,自觉还是处在迷雾之中,知其然,而不知其所以然。往往想要去探究所以然的时候,下一个需求又来了,片刻不得喘息,然后就放下了。
而又因行业的特殊性,项目的庞大,毙掉的功能数不胜数,常常生出徒劳无功之感,否定自己的价值。虽然知道一切最后成型的产品,都要经过无数次的推倒重来,但是有时会觉得自己的工作毫无意义。
终于去年下半年下定决心,离开工作了三年多的团队,重新去寻找自己。这段时间以来,没有了工作的束缚,自由的时间变多了,开始真正的认真生活,回顾我从毕业到如今的职业生涯,我的成长路径其实是缓慢的,没有伙伴没有老师,所以听到其他同龄人,已经开始写书,开始开讲座培训,开始工作之余录课卖课时,总有种割裂感。好似别人是乘着火箭在飞奔,而我还在一边看着四周风景一边晃荡着散步。不过大佬是真的勤奋呀。
所以在朋友的鼓励下,也开始勤奋一回,写点什么。技术类的东西,网络上太多了。
我就写写思想想法吧,因为从业这么多年,我得出的经验是,这个社会其实是个开卷考试,只要你的思想是正的,方法是对的,工作中的大部分问题都是能解决的。(ps:一家之言)
温伯格说:“我们不能要求每个人都聪明异常,能够解决所有难题;但是我们必须持续思考,因为只有如此,我们才能明白自己在做什么。”我深以为然,至少我在从业很多年之后,我都不明白自己在做什么,当然,有可能是我愚钝。近些年,也可能是年龄到了,所以很认真的思考我作为一个人类,在这个社会中该如何生活,如何工作,如何爱人,如何被爱。
这本书从人类行为、社会行为和个人行为的角度,剖析在程序开发过程中遇到的种种问题,个人认为挺发人深省的,这本书已经离现在二十多年了,仍然历久弥新。
今天其实就看了两章,但是还是想写点什么
第一章,温伯格从阅读程序开始讨论,有没有必要阅读程序?以及你的程序被人阅读和你阅读他人程序的心理状态,原来这就是所谓的同行相轻吧,毕竟作为人类,总是有那么点些许自傲和小心思。温伯格通过几个例子的对比,对一段程序代码的精简,论述出阅读程序可以帮助我们从代码(这个代码可以是好代码,也可以是糟糕的代码)中提炼出我们真正需要的东西(这个东西可以是某种特定的需求,也可以是某个历史遗留问题的处理方法)
所以,“程序被编写成什么样子,取决于众多的因素;然而因为习惯于从外部去考察,而不是去阅读程序本事,我们总是无法认识到这些因素的多样性”
第二章,温伯格讨论优秀程序的要素,什么是优秀程序呢?是响应快,但是最后没有完成功能需求的程序优秀呢,还是响应慢,但是能完成功能需求的程序呢?效率是重要的,但往往效率不是最重要的,这不由让我想起,我之前做过的项目,意味的追求快速迭代,忽略了项目本身是一个产品,它真正的职责是解决问题。对,我可以快速出餐,但是米饭夹生,菜没洗干净。这是优秀的程序吗?
同时,他引用Fisher定理——一个系统对某一特定环境的适应性越强,它适应环境的能力也就越弱。
这也让我思考,我之前做过的项目,大多是定制化需求,无法重复利用,无法模版化,这究竟是好还是坏呢?
我不清楚
他总是抛出问题,我甚至都来不及思考,又被带入另一个思维实验中。
今天浅浅看了一点,写了点东西给自己,希望有后续。