读书笔记程序员的职业素养

Posted franzkfk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书笔记程序员的职业素养相关的知识,希望对你有一定的参考价值。

程序员的职业素养原名“The Clean Coder”,单看书名可能以为这是一本讲解怎样编写简洁代码的技术书籍,实则不然。相比之下,中文译名要更贴近主题一些,这本书是编程大师Bob大叔40余年编程生涯的心得体会, 他以自己以及身边的同事走过的弯路、犯过的错误为例,为后来人引路。
这本书一方面阐述了作者对敏捷式开发的见解和建议,而更多的则是探讨成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。而这些看似与技术无关的东西往往决定了一个程序员的上限。
比较让我感到欣慰的是,虽然现在的我们与作者相差太远太远,但他本身也是跌跌撞撞一路走来,很多地方能产生共鸣,看到这些地方是对自己的一次次鼓励。这无疑给以了我们以足够的信心。

关于拒绝

关于拒绝,很多非技术性书籍都提到过这一点。作者在这里以自己的经历又做了一次完整的剖析。简而言之,公司整天要加班,整天要通宵,每到迭代出口就拼死拼活,版本发布后客户一个投诉,又通宵定位,这些,都是因为这支程序员团队,不够专业!
需求到底是什么,仅靠一份需求说明书是无法澄清的,所以也就有了后面的客户不满意,重做;单元测试,是从来都没有时间写的;自动化?呵呵,就鼠标点一点就好了,做啥自动化?......软件这么玩,难怪程序员会很累了。
如果遇上的是这样一个没有团队精神的leader,或者leader能力不济,业务人员(更多的时候是leader)向客户(更多的时候是leader的leader)承诺某某天要完成某某产品,然后压着底层技术人员拼命的加班,这一切都是不专业导致的。作者以他的经历,告诉了我们这样是不对的,对于这样的团队,这样的leader要能够说“不”,但是如果自身能力不够,却往往没有“底气”去说。这是一个很矛盾的事,作者只是提出了一个很理想的解决方法,实际要复杂的多,但是能认识到这一点,并在合适的时候敢于拒绝,是避免程序员走入职场陷阱的很重要的一件事。

关于承诺

拒绝跟承诺是相对应的,拒绝是为了坚守承诺。不懂拒绝的人慢慢的就会沦为不守承诺的人,试想当承诺的太多太满,即便自己有去实现承诺的心也往往没有能力去完成。当然也有可能他从来就不曾把信守承诺当回事。一个真正专业的程序员应该在承诺之前深思熟虑,避免太草率的承诺,也不要害怕承诺而一点责任也不担当。当然,这不仅仅是程序员的责任,一个良好的团队也是特别重要的。但是可惜的是,在当代的中国就业市场,存在太多太多不专业的团队,他们会要求你2天干完3天的活,假如你不敢敢承诺可以完成,那么这工作就没你份了,但是假设你答应了,则往往导致延期的发生。但这不重要,因为他们已经习惯了延期。有些书籍里批评了这种先应承下来,然后再延期完成的做法,但很不幸,市场上有太多这样不专业的团队。真希望这样的团队能越爱越少,因为只有有足够专业的时间评估,有足够的团队精神的团体,才能创建一个信守承诺的环境。

关于编程

这一点或许与大多数人的经历矛盾。作者告诫我们要尽量避免进入流态区。
所谓流态区,就是程序员进入一种意识高度专注但思维视野却会收拢到狭窄的状态。高度专注状态是我深有体会的,也就是编程最畅快的时候,急于看到程序运行起来,急于去享受成就感的状态,这样状态在大多数人看来,是一个良好的状态,可以沉浸在编程的愉快中。然而,这却是大师需要去防范的状态,这时思维和视野会变得狭窄,往往编出来的代码会影响整个架构。如何防止进入流态区,这让我想到了TDD。很多人拒绝TDD,其实就是流态区在影响他们的判断。TDD三条法则,让他们不能“畅快”地编程。假设Bob大叔说的是事实,流态区确实不是编程最佳境界,那么TDD真能解决这个问题,至少能解决大多数人这个问题。它让程序员编程过程中,不定的在思考需求,写测试Case,写代码,重构中循环,而不是让程序员在编码中任意驰骋。

这本书虽然我还没有看完,但已经颇感受益,假若以后进入工作,我也会时不时想起Bob大叔的教导,参与一个专业的团队,培养一个专业的态度,养成一个专业的习惯,做一个专业的程序员。

以上是关于读书笔记程序员的职业素养的主要内容,如果未能解决你的问题,请参考以下文章

读书笔记

第三周读书笔记

优秀读书笔记分享

《你所不知道的:大神与一般程序猿的区别》读书笔记

读书笔记——金融学-投资哪些事(职业投资人),读报

第六周读书笔记《极客与团队》