程序员的自我修养–陈逸鹤
除了以上章节内容之外,我还为此书构建了一个主题网站,取名“技匠社”(jijiangshe.com),读者们(程序员或设计师朋友们)可以在此分享和推荐他们认为有价值的工具、资源和教程。
我希望每个程序员都能明白工作、技术、写代码这些并不是你存在的意义,而生活才是,你需要懂得生活,并且学会生活。
既然你对于公司的价值来自于你的不可替代性,那又该如何有效提升它呢?我的建议是尽可能持续做一件事。这既是指技术上的积累,也是指你能完整或较长时间参与同一个项目或开发一个产品。
如果你总是在跟随那些新出现的技术和框架,那你很难在某一项技术上达到理想的深度;同样,在一个公司里,如果你总是在更换项目,那你也很难提升自己的价值。参与10个项目,不如完整参与一个项目。持续做一件事是要你把每一件事做透、做好,而不是蜻蜓点水,浅尝辄止。
声誉本身与很多方面有关,但对于年轻程序员或是刚刚毕业的菜鸟来说,除了那些经常挂在嘴边的诚实守信、踏实肯干等之外,有一点特别重要,那便是严谨。因为它往往是判断一名程序员是否具备优秀潜质的重要因素。严谨的程序员对于分配给自己的任务会认真理解,对于自己的产出会仔细检查,这些都能大大减少工作中的出错概率,给团队或公司中的其他人留下良好的印象。
比如,在你编写一个文档或PPT时,除了内容之外,能否再多考虑一下字体和排版,让人读起来更加舒服呢?在你与用户讨论需求时,能否尝试着从程序员思维转换到用户的角度来看待问题呢?在团队内部开会时,是否能提前做些准备,多争取在大家面前进行讲演的机会呢?当你持续这么去做以后,你会发现自己在各个方面都会变得越来越好,这其中也包括了你的编程能力。因为,这些技能总是在你看不见的地方互相作用和促进的。
你可以读任何历史、经济、人文、艺术类的书籍,它们都能够帮助你丰富自己的知识和思想,使你变得更加全面和完善,而这反过来,又能帮助你建立信心。当然,你还可以读一些优秀的人物传记,从他们身上你可以获得成功或失败的经验,并且完善你自己的人格。
我总是很鼓励身边的程序员们去涉猎不同的技术甚至领域,但前提是你必须首先对某一门技术做到精通。技术是需要深耕的,深入学习一门主流的开发技术,并不断提升编程思维,比对很多技术栈都浅尝辄止要好很多。因此,如果精力有限不妨先学好一门技术,你会发现之后再去学习其他技术会变得容易许多,因为它们之间往往都是相通的。
爱因斯坦也曾说过:人的差别在于业余时间。特别是在当今这个竞争社会,持续学习对每一个职场人都显得尤为重要。每晚抽出两个小时,周六周日抽出4~6个小时来阅读、学习、思考或参加有意义的演讲、讨论,你会发现,坚持数月之后,你便会超过周围的人。
多年的开发工作,使程序员们不自觉地首先想到如何用技术手段去解决问题,然而,真正优秀的程序员一定善于透过技术发现问题的本质。
这里我推荐Try Git(https://try.github.io/)这个网站,你能在这里根据它的教程练习Git命令,15分钟内,你就能够掌握那些最常用的基本命令了。
说到设计,我曾读过一些日本设计师的书,田中一光的《设计的觉醒》,黑川雅之的《设计与死》,原研哉的《为什么设计》《设计中的设计》《白》等。
自从我改变学习UI的方法之后,一直到今天,我每天都会坚持阅读Designer News(https://www.designernews.co/)上的每日推荐文章,它能让我了解国外优秀的设计师门都在想些什么或做些什么。
(1)Pinterest(https://www.pinterest.com/techmask?)
(5)Medium(https://medium.com?)