`
kmakxa
  • 浏览: 14954 次
社区版块
存档分类
最新评论

阅读笔记---------黑客与画家2

 
阅读更多

看了第二章黑客与画家。第一次这么明白作为一名软件工作者的定位。看了其中的分类,确实有那么些道理,现在在计算机方面的工作中,有数学家,计算机科学家和软件工作者。我以前就觉得在研究数学的人面前挺自卑的,认为他们才是货真价实的高手,于是在学习软件中十分迷茫,看着学习的专业知识仿佛是跑偏的,认为应该研究算法,底层的系统的工作原理这才是大牛,有前途的,其实研究这些的应该是计算机科学家。软件工作者不一样。按作者的比喻,确实和画家有着类似的许多属性。身为画家,主要不应该是去分析颜料的组成,而是颜料的搭配,和用颜料加上思想画出优秀的作品。软件设计何尝不是如此呢,我们利用现有的库,进行组合,将自己的思想,设计融合组成了一件产品。好的产品是以用户的视角来衡量的,有许多我们需要考虑得东西,但并不是去深究计算机底层的工作原理,这样我们的身份就会有软件工作者转变为计算机科学家,正如一名画家转变成了化学家一样。身为软件工作者,我们应该以我们自己的思想,去创造新的领域中的产品,像是艺术一般。就像画家创作画作,尽管一开始的时候的学习和训练也是去模仿一些大师的作品,正如我们一开始学习的时候去模仿别人的代码来编写程序一样,但是最后一个优秀的画家,一定会在自己的作品中加入自己的思想,形成自己的风格,而我们工作的目标也应该是有自己的思想,然后设计出用户需要的产品。但我们现在的大环境与这种目标相去甚远,工作中往往是上级分配好了任务和制定设计方案,交予我们去执行,往往我们只是遵从别人的思想进行重复性的劳动,久而久之成为了代码机器。如何摆脱现状,作者也提供给建议给我们,就像以前画家和音乐工作者一样,找一份“白天工作”,用于维持我们的生活,然后在业余时间,朝着自己的理想前进。而这份“白天工作”,最好和我们的目标有点联系,如音乐工作者在饭店弹琴,跑场子唱歌,其实同时也锻炼了自己的技能。按这样来看,其实我们大部分软件工作者拥有的条件还是不错的。画家也是通过不断的联系来提高自己的能力的,正如我们反复的编码。

第三章看完后,我个人与作者的意见是不太一样的,不过大体上还是明白,看问题的时候必须要有自己的观点和想法,尽量不要从众,甚至要从另外的角度来查看自己的行为。

第四章解释了黑客心态,对这点的感受我并不是很深刻,不过这也是自然,因为我并没有成为该类型的程序员。主要是说明黑客是对自由的追求和兴趣才去破解,而不是为了金钱等物质追求。黑客的目的是必须能够获得自己所需的知识,因此和知识产权的相关法令产生了冲突。

第五章另一条路主要说明了应用的转变,由桌面应用转变成服务器端应用,其中的很多观点在今天早已耳熟能详了。不过旧东西也能让我了解一些之前没理解清楚的,比较有体会的是产品更新速度加快带来的好处,服务器端的应用可以很方便的进行升级,因此让自己的产品不断的升级,用户发现BUG的时候,由于对新加入的功能印象深刻,可以很容易的定位到问题所在的地方,而过比较长的时间推出新版本的话,产生的问题便不好分析,而且,大家应该也深有体会,果断时间再看自己的代码,也会变得陌生的。这种想法,和最近看的重构书籍中提倡的方法异曲同工,重构中提倡不断的测试,增量式的重构,这样不容易引入BUG,有BUG也容易定位。XP敏捷开发中,也是测试先行,这些思想是有实践的结果支持的。

第五章同时提到了许多创业的环境,对软件工程师也很有启发。创业者必须明白自己的优势在什么地方,作者的许多观点在如今都应验了。小团队的优势是什么?那就是灵活有效率,人月神话中的观点,向一个在开发中的软件投入人手并不会在短期内让进度加快。作者认为这是逆向的,人手少会让效率更高。产品的关注点应该在用户身上,而互联网应用的好处就是,数据在服务器端,我们可以很方便的获得用户的操作信息。因此,关注用户频繁操作的部分,提高程序的效率,出了获得更好的用户体验之外,还可以让你的服务器可以容纳更多的用户。如何获得收益,作者的思路是通过软件的使用时间来付费,并且一定要让付费变得容易。这点在我们国家似乎比较麻烦,不会可以通过淘宝卖点卡来充值。客户方面,面向的应该是个人或者小企业,这些群体更喜欢新的优秀技术,大企业往往追求的是 贵的(虽然听起来很奇怪,但现象是这样),由成熟企业提供的产品。创业者的目标是做好产品,以个人或小企业为目标,做好了的话该吸引的大客户自然会有机会。

互联网的创业公司会承受巨大的压力也提到了,因为必须不断的修改自己的产品,没有休息的时间,所以会给开发者带来很大的压力,不过这些是必须的,也是我们应该承受的。企业管理和害怕竞争是大部分人不敢创业的原因,由于我也没经历,所以没自己的思想,作者认为管理企业很简单,把握好两点,做出好产品,收入大于支出。至于竞争,小企业面对大企业是有自己的优势的。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics