《构建之法》练习与讨论


第三章

1.选哪一种医生

如果你是病人,你希望你的医生是下面的哪一种呢?

a)刚刚在书上看到你的病例,开刀的过程中非常认真严谨,时不时还要停下来翻书看看……

b)富有创新意识,开刀时突然想到一个新技术、新的刀法,然后马上在你身上试验……

c)已经处理过很多类似的病例,可以一边给你开刀,一边和护士聊天说昨天晚上的《非诚勿扰》花絮……

d)此医生无正式文凭或正式医院的认证,但是号称有秘方,可治百病。

说句实话,假设作为一个病人,我不会选择上述任何一项。我希望医生不仅经验丰富而且工作严谨认真,但这是理想情况下,那么如果非要从上述四个选项中选择一个的话,通常情况下我会选择a选项,而如果病情十分严重,在普通情况下无法保证成功,那么b选项会更好。这样的选择完全符合我的内心,和我平时的学习习惯完全一致。在日常学习中,我选择边看书边实践,第一次实践我会按着书上的介绍几乎一成不变的去做,而在第一次实践结束过后我会把自己基于书上内容所想到的全新项目再实践一遍。第一遍让我把书上的内容掌握扎实,第二遍让我使用改变自己所学的知识。很多人常常叫嚣着创新意识,仿佛创新意识是从天上掉下来的,想有就有。个人认为所谓“创新意识”是基于原有深厚的基础,思考转变从而创建全新的知识。没有基础,哪来创新。所以如果B选项中的医生已经了解了他所要做的手术,并且经过仔细思考后想出了新技术;那么这时的新技术我愿意被试验,此时的收获>风险,B无疑能让人收获更多的东西。
至于d,即使拿不出来正式文凭或正式医院的认证,如果他能拿出由他亲自治愈的可靠案例以及其他证明,那么也是可选的。这就是邹老师的第二个问题

医生、药剂师、律师和很多行业都有职业考试和职业证书,软件工程师需要有正式的职业证书才能上岗么?
这个问题很好解答。比起所谓的正式职业证书。大家一致推崇的blog,github,项目经历,竞赛获奖都是证明自己的工具。至少现在的互联网环境下,一个人有这些东西,并且做得很好,那么取得一个好的岗位是没有什么问题的。

二.工程还是艺术

软件开发是一门工程(Engineering),是一门艺术(Art),还是一门手艺(Craftmanship)?你如何衡量艺术家?如何衡量创造能力?
这个问题很难回答。工程,艺术,手艺这三者并没有什么冲突。与其单纯的说是一门工程,艺术,手艺。还不如说软件工程是一门兼具工程性与艺术性的手艺。(说了和没说差不多,囧)因为在我看来,一个十年间稳定成长,服务稳定不出毛病的项目和一个跨时代,不断创新的项目,两者的伟大程度并没有很大的区别。缺乏艺术创新的工程会被时间淘汰,缺乏工程稳定的艺术终将昙花一现。
在中国,一个成名的歌唱家往往出现在各种场合,演唱她当年成名的作品,观众们往往显得百听不厌。一个软件工程师就不能这样,在舞台上展现他当年写的“hello world”程序,或者是1.0的产品。为啥有这样的区别呢?
这个区别在于歌唱家创造她成名的作品融入了她的艺术与歌唱实力,这样的作品是艺术品;而软件工程师的“hello world”或者大部分1.0产品并没有什么价值,如果作品的创新程度,工艺水平极高,当然可以拿到舞台展示。就像iPhone第一代的产品发布会,即使过去了多年,还是有很多人去看那一段视频,当看到乔布斯拿出iPhone的时候他们依然会惊呼这不是一个手机而是一个跨时代的艺术品。

三.绞刑架和职业发展

四.项目看法

五.成长和代码量

六.学什么,怎么学,核心竞争力

七.各式各样的工程师

八.职业梯子的思考

九.自知之明


文章作者: Nczkevin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Nczkevin !
评论
  目录