好奇心, 优秀软件工程师的内核
今天是端午节假期的第二天, 最近刚好在家休养身体, 看了一些书, 最近看的一本是《程序员修炼之道》有些感悟, 今天写一些出来. 书中介绍了很多优秀工程师的特质. 我想了想, 很多的特质其实都可以指向一个内核 — 好奇心.
什么是好奇心
好奇心,我认为是一个优秀工程师的内核. 我们先看一下维基百科里对于好奇心的定义. 好奇(Curiosity)或是好奇心是对新的事物有兴趣,会想要探索、研究及学习的特质。对于软件工程师来说, 我们每天都在面对新的事物, 新的语言, 新的框架, 新的范式. 可以说IT领域是新的事物产生最快的一个领域. 如果想成为一个优秀的工程师, 好奇心是必备的一个特质.
怎么才能算有好奇心?
道理听过很多, 但是还是过不好这一生, 那么怎么才能算有好奇心, 是不是每天追逐着最新, 最热门的名词才算是有好奇心呢?
我倒不认为是这样. 拥有好奇心其实非常的简单, 并不是那么的高大上. 其实就在每天平平常常的工作中, 如果你正在维护一个老旧系统, 是否好奇这套系统是如果运行起来的? 它有多少个模块, 它的设计思路是什么? 如果是你是个前端工程师, 是否好奇你每天使用的框架的设计思想, 他最新的feature, 这些feature的逻辑又是什么? 如果你在区块链行业, 是否好奇为什么人人都说比特币是第一次被验证成功的数字货币技术方案? 交易的签名是怎么一回事情? 隔离见证又是解决什么问题? 如果没有好奇心, 可能想都想不到有这样的问题, 更别说去学习, 去研究了.
所以, 好奇心是一个优秀工程师的内驱力, 有好奇心才有可能不断的成长和进步. 可悲的是, 多年以来, 我们接受的教育, 在不断的损害我们的好奇心, 我们在不断的被给出问题, 要求给出答案. 反而很少的能提出问题, 主动的去思考.
怎么样提高(保留)我们的好奇心
既然好奇心如此的重要, 那有没有办法可以提高呢? 这个问题其实我也没有明确的答案, 例如有人就是天生好奇, 有时候别人把他称为问题Boy. 有些人可能就差一点. 天生的我们确定不了, 但是有一些方法或者方式. 我觉得还是比较的通用的.
- 扩大外延问问题. 如果是只负责一个模块的开发, 那扩大一下外延, 问问自己是否了解整套系统是怎么回事?
- 向下深挖问问题. 如果你使用一个语言, or 框架? 问问自己这门语言到底特殊在那? 和其他语言相比特点是什么? 你使用的框架解决的是什么问题? 怎么设计的? 怎么解决的?
- 横向比较问问题. 都是在一个领域, 为什么出现了A方案, 也有B方案,他们各自的特点是什么? 有什么优点, 有什么缺点.
- 多读书, 多看文章. 这些就比较散的, 从文章和书里也许你会发现自己以前没有想到过的问题或者角度, 多打开一扇门, 也是提高我们好奇心的一个方式.
最后一点是对于团队的leader说的, 好奇心提高不容易但是消失可能非常容易. 所以对于leader来说, 当一个新人问你一个新问题或者“傻”问题的时候, 不要下意识的就否定掉, 这样会打击新同事的好奇心, 同时也会让团队的好奇心下降一个等级. 反之, 想一想是不是这些问题提供了一些不同的视角?
希望大家都能保持住自己的好奇心, 不断的思考, 成长.
Comments powered by Disqus.