所谓修身在正其心者,身有所忿懥,则不得其正,有所恐惧,则不得其正,
有所好乐,则不得其正,有所忧患,则不得其正。心不在焉,视而不见,听而不
闻,食而不知其味。 —— 《大学》
程序猿 可以说是一种当代才有的职业,高逼格一点称为 软件工程师,自黑一点我们称之为 码农。但程序猿其实也只是一门手艺人,编程也是一种技艺,是一种需要用心学习的技艺。
如同金庸的武林小说中一样,在现实编码界也自然有高手和普通选手之分。即使在Google、Apple等大公司的程序员,也有效率高低之分,有时一个高效的甚至可以抵得上十个普通程序员,因为开发一个可以提高工作效率的工具,对生产效率来说可能是上百倍的提高。
修炼Tips 1
** Care About Your Craft
注重实效**
古人云,事之成功,有事半功倍与事倍功半之分,效率是决定我们能否成事的Key Point,一个注重实效的程序员应该具有以下特征:
- 具有好奇心和学习能力,喜爱尝试各种新东西(Keep Curious,Keep Learning)
- 学会批判性思考,当一个方案提出时,能够站在自己的角度思考该方案是否合理?是否需要改进
- 多才多艺,不但熟悉自己所擅长的领域,也需要了解其他领域的知识。学无止境,比如一个前端领域程序猿应当了解后端的工作,了解计算机网络、数据存储、数据库优化等。让自己掌握其它领域的知识,很可能会收获奇效,再不济也可以大大降低沟通成本。
修炼Tips 2
Provide Options,Don't Make Lame Excuses
提供各种选择,不要找蹩脚的借口
作为一名职员甚至老板,都应该对自己的事情负责,对自己的职业生涯以及行为负责。当我们想要抛出问题时,在自己脑海里过一遍可能的情形,他们是否会问“你试了这个了吗?”,或者“你有没有考虑那个解决方案?”,我们是否又真的尝试过所有方式?
当真的出现非自己之力可解决的问题时,我们应提供各种解决问题的方案,尝试多种解决之道,而非找借口说事情不可达。
修炼Tips 3
** Don't Live with Broken Windows
不要容许破窗户
**
当发现低劣的设计、错误决策或者糟糕的代码时,应该进行封装或者修改。在没有把握的情况下,应该对代码进行封装,重新构造良好的接口。在必要的时候,甚至可以进行重构。
修炼Tips 4
**Invest Regularly in Your Knowledge Portolio
定期投资知识资产
**
古人云,活到老,学到老。特别是在这个快速进步的年代,在知识迭代迅速的IT业,我们更加应该增长自己的知识。有以下几个建议:
- 每年至少学习一种新语言,每种语言都每种语言的特色,在精通一门语言的基础上学习其他语言有利于我们扩展思维,避免墨守成规。
- 每月至少每季度阅读一本技术相关的书籍,养成读书的习惯,往往在工作中会从以往的书籍中找到灵感。
- 阅读非技术类的书籍,我个人在阅读技术书籍之外,比较偏向历史、经济、科幻类小说,历史可以让人以史为鉴,经济可以让人学会自我的财务管理而好的科幻甚至可以说是科技进步的指明灯,比如kk的《失控》。许多我们现在的生活场景在几十年前的科幻作品中就被描绘了出来。也许某个场景会给予你创业的灵感,从此...实现先富 😏
- 上课以及积极参加本地用户组织,主动参与交流,研究表明,许多时候对我们有关键帮助作用的是弱关系。特别是职业相关的,也许你的亲戚朋友很想帮你,但很明显,那超出了他的能力之外。
- 试验不同的环境,如果在Windows上工作,就尝试一下Linux,如果平时用Makefile和编辑器(如Vim),则尝试使用IDE,反之亦然。
修炼Tips 5
**Critically Analyze What You Read and Hear
审问之
**
前面建议是 博学之,但是在我们学习了各种知识的能力时,更重要是审问之。批判地思考我们所读、所听,比如我们的商业搜索引擎搜索结果靠前的并不一定因其可靠,可能更多的是商业原因,内容供应商可以付钱让其排在前面。
当我们学习武功秘籍前,我们应该分清是《九阳神功》、《降龙十八掌》还是《葵花宝典》、《九阴真经》之流。
结语
古人云,博学之、审问之、慎思之、明辨之、笃行之。我想是对以上建议的一个精辟总结。