识别一个程序员是否喜欢开发,在你遇到下面的情境时特别重要:
- 你要招募小伙伴
- 你要选择结对的开发人员
- 你想变得更好更强大(与优秀的人在一起事半功倍)
- 研发新产品,你要从公司内部抽调人手组建团队
- 你想判断当前的团队(公司)值不值得继续待下去
- 公司裁员,你要从几个候选人中挑一个
我在如何快速定位自己热爱的工作、做自己想做的工作等文章中介绍过一些判断自己是否喜欢一份工作的方法,也谈了一些寻找喜欢的工作的策略。那些文章多数是从“自我分析”的角度来谈,而这次我们的角度变了,要来判断别人了,得掌握一些新的方法。
别人自己说喜欢算不算
当事人自己的说法极具参考价值,当你要判断别人是否喜欢他的工作时,听听他自己怎么说很重要。
你可以直接问他“你喜欢自己的工作吗?喜欢哪些方面?”,也可以在和他聊天的过程中收集他随意说出的话。
在说“不喜欢”会带来不良后果时,一个人被问及“是否喜欢”,可能会言不由衷。比如张三应聘Android开发岗位,你问他是否喜欢编程,他多半会说自己喜欢。那到底是真喜欢还是为了面试通过而迎合你的提问和想法,就较难判断了。所以面试时这么直接的问应聘者这种问题,得到的答案很难说具有多强的参考意义。当然如果你的眼睛很毒,能抓住应聘者听到问题、回答问题时的反应(表情、语气、语调、肢体)并探查到其内心真实想法,那这种问题作为试探也是极好的。
相比直接询问,在聊天时通过聆听捕捉一个人对自己工作的态度可能更为可靠。一个人不假思索冲口而出的话,要么是其内心想法的流露,要么是淤积已有的情绪宣泄。无论哪种,都有很强的参考意义。
产出物的质量
对程序员来讲,交付的代码的质量可以从以下几方面来判断:
- 与需求的匹配度,是部分实现了需求、完整实现了需求还是超越了需求
- 代码本身,比如逻辑是否清晰,比如风格是否良好而一致,比如是否简洁,比如是否在恰当之处运用了恰当的算法,比如是否合理运用了设计模式
- 运行情况,比如测试期Bug率,比如交付给用户后的Bug情况
对于喜欢软件开发的程序员来讲,他会自觉地让自己的代码看起来更美好,因为他觉得这是他的脸面,是其个人价值的体现。而对于另外一些人来讲,好与坏都是无所谓的事儿,能Run能交差就行了,想那么多干嘛!
喜欢与不喜欢,一定会导致结果上的差异。如果想让一个团队出成绩,就要找一批喜欢开发有追求的程序员来。妄图通过完(gao)善(ya)的管理制度,借助约束和强迫让貌合神离军心涣散的队伍生产出优秀的软件来是不可能的——因为制度只能在一定程度上保证下限,不设限的惊喜与美好,永远来自热爱这份职业的人的自觉追求。
工具选择
工欲善其事必先利其器。
对软件开发来讲,很多语言和框架都存在多种IDE及周边工具,这些工具里,有一些效率高,另一些效率低,有一些公认很好,有些不那么好。好的工具会提升某些基础工作的效率(如框架代码自动生成、代码补全、代码片自动生成、语法错误提示等),让程序员有更多时间来做那些缓慢的工作(如设计、创新、性能优化等)。喜欢软件开发的朋友会主动尝试新的工具集,追求好的工具集,因为他自发地想提高自己的工作效率。
所以,看一个程序员都了解什么与工作相关的工具以及都使用什么软件,也能在一定程度上判断他是否喜欢开发工作。
当他聊起开发时是什么样子
一个人一天要工作8到10个小时,工作成了个人生活非常重要的一部分,工作中发生的事情、产生的思索、累积的情绪不可避免地会延续到工作之外。因此个人也常常会在非工作时间谈论工作内容,而且这时更容易流露出真正的喜好倾向。
聊起技术时,一个程序员眼睛发亮神采飞扬,另一个面露鄙夷冷嘲热讽,任谁都能看出哪个喜欢开发。
看不起自己所做的工作,就是看不起自己。看不起自己所做的工作,又不能跳出那个环境,还吧啦吧啦起劲的鄙视自己鄙视工作伙伴鄙视公司,这样的人通常是没什么自信又没什么追求的,在不满现状时往往是期待着外部环境改变带来机遇,绝难主动寻求突破。
会否主动提升自己
假如一个人喜欢自己的工作,就会自发地提升工作技能,主动去追求自我完善。这样的人会合理利用自己的时间,主动安排学习计划,尽量让自己变得出类拔萃。比如暂时没有上级安排的开发任务,他就可能会自己学个新框架或者写个新框架或者总结一下过去这段时间的经验。比如下了班,别人打游戏看电影侃大山,他就可能会看书学习参加培训,构建自己的知识图谱。
是否愿意分享
当你喜欢一件东西时,会愿意分享你的感受。当你喜欢某项技术时,会愿意去安利别人。因为物以类聚人以群分,一个人总是乐意找到志同道合的小伙伴,当身边没有时,他就会想用自己的力量去影响他人吸引他人看能不能转化几个过来。当然我的说法简单粗暴,有些人分享时可能不是这么想的,人家可能想的是我这么牛逼不让别人知道一下多亏啊。
愿意分享自己的技术而非束之高阁敝帚自珍,往往能说明这个人是喜欢他分享的东西的。(受命分享或直接利益驱动的分享例外。)
那怎么发现一个人是否愿意分享呢?很简单,观察他身上是否有下列几种现象:
- 别人经常找他问问题
- 回答别人问题很热情,别人有技术问题乐意向他请教
- 技术讨论时常常愿意说出自己对某个问题的看法
- 写博客分享技术
- 参与开源项目
- 在技术沙龙上进行分享
不是总结
《论语》:“不患人之不己知,患不知人也。”
一份职业要做的事情很多,有些是你喜欢的,有些是你不喜欢的。有的喜欢很强烈,会盖过别的不喜欢,让你觉得自己喜欢这个职业。有的喜欢力量很小,会被别的不喜欢淹没,让你觉得你无法忍受眼下的工作。
当你喜欢工作时,会有各种各样的表现;当你不喜欢你的工作时,也会有各种各样的表现。这就和你喜不喜欢一个姑娘是一样的。
所以,我们可以通过一个人的外部行为表现来识别他是否喜欢他的工作,具有这么几个方面:
- (自然的)无意识的情感流露
- 做事的结果
- 工具的选择
- 是否主动学习
- 乐意分享与传播
当我们了解了一个人是否喜欢他的工作,就能获取比较准确的人职匹配度,为将来的合作或交往提供参考。
2015年我组建创业团队时,招募小伙伴,不设笔试,就天马行空的聊,在聊天中观察,根据上面提到的点来判断,后来找到的小伙伴,都是喜欢开发工作本身的,个顶个的能干。
送书活动
我的订阅号“程序视界”正在举行送书活动,本次送价值169元的《编译系统透视:图解编译原理》。活动29日早上结束,赶快扫码关注吧:
关注后在公众号内回复“10181”或“最新”即可查看本文参与活动。
相关阅读: