优秀的程序员是什么样的?或许每个人都有不同的答案。范老师给出了优秀程序员应该有的六大核心特质。
掌握一门编程语言
工欲善其事必先利其器。个人认为与其每样都懂一点不如精通一门,这样才能拥有核心竞争力。
能够解决现实的问题
优秀的程序员还要深入理解问题,懂得问题的最核心价值。只有理解了问题,看到了解决问题的价值。我们一定要记得,程序员的存在不是为了写代码,而是为了解决现实问题。
发现关键的问题
能够发现关键的问题,是一个好程序员和优秀程序员的分水岭。能够发现关键的问题,意味着我们可以从一个被动的做事情的程序员,升级为一个主动找事情的程序员。
沉静的前行者
优秀的程序员,一定是懂得妥协,懂得选择,懂得取舍。每一行代码都有很多种写法,或许某一种不是最好的,但是适合当下的代码才是最值得编写的。
可以依赖的伙伴
优秀的程序员是他人可以依赖的伙伴。
优秀的程序员是一个领导型的人。他能够倾听,持续地获取他人的优秀想法,以及不同的意见。他能够表达,准确地传递自己的想法,恰当地陈述自己的意见。他是一个给予者, 给别人尊重,给别人启发,给别人指导,给别人施展才华的空间。他是一个索取者,需要获得尊重,需要获得支持,需要持续学习,需要一个自主决策的空间。他能够应对压力, 承担责任,积极主动,大部分时候保持克制和冷静,偶尔也会表达愤怒。他具有一定的影响力,以及良好的人际关系,能够和各种类型的人相处,能够引发反对意见,但是又不损害人际关系。他知道什么时候可以妥协,什么时候应该坚持。
时间管理者
时间面前,人人平等,没有人一天的时间比别人多一秒。优秀的程序员会更好地管理时间,或者提高效率,或者用好时间。