识别喜欢开发的程序员

识别一个程序员是否喜欢开发,在你遇到下面的情境时特别重要:

  • 你要招募小伙伴
  • 你要选择结对的开发人员
  • 你想变得更好更强大(与优秀的人在一起事半功倍)
  • 研发新产品,你要从公司内部抽调人手组建团队
  • 你想判断当前的团队(公司)值不值得继续待下去
  • 公司裁员,你要从几个候选人中挑一个

我在如何快速定位自己热爱的工作做自己想做的工作等文章中介绍过一些判断自己是否喜欢一份工作的方法,也谈了一些寻找喜欢的工作的策略。那些文章多数是从“自我分析”的角度来谈,而这次我们的角度变了,要来判断别人了,得掌握一些新的方法。

别人自己说喜欢算不算

当事人自己的说法极具参考价值,当你要判断别人是否喜欢他的工作时,听听他自己怎么说很重要。

你可以直接问他“你喜欢自己的工作吗?喜欢哪些方面?”,也可以在和他聊天的过程中收集他随意说出的话。

在说“不喜欢”会带来不良后果时,一个人被问及“是否喜欢”,可能会言不由衷。比如张三应聘Android开发岗位,你问他是否喜欢编程,他多半会说自己喜欢。那到底是真喜欢还是为了面试通过而迎合你的提问和想法,就较难判断了。所以面试时这么直接的问应聘者这种问题,得到的答案很难说具有多强的参考意义。当然如果你的眼睛很毒,能抓住应聘者听到问题、回答问题时的反应(表情、语气、语调、肢体)并探查到其内心真实想法,那这种问题作为试探也是极好的。

相比直接询问,在聊天时通过聆听捕捉一个人对自己工作的态度可能更为可靠。一个人不假思索冲口而出的话,要么是其内心想法的流露,要么是淤积已有的情绪宣泄。无论哪种,都有很强的参考意义。

产出物的质量

对程序员来讲,交付的代码的质量可以从以下几方面来判断:

  • 与需求的匹配度,是部分实现了需求、完整实现了需求还是超越了需求
  • 代码本身,比如逻辑是否清晰,比如风格是否良好而一致,比如是否简洁,比如是否在恰当之处运用了恰当的算法,比如是否合理运用了设计模式
  • 运行情况,比如测试期Bug率,比如交付给用户后的Bug情况

对于喜欢软件开发的程序员来讲,他会自觉地让自己的代码看起来更美好,因为他觉得这是他的脸面,是其个人价值的体现。而对于另外一些人来讲,好与坏都是无所谓的事儿,能Run能交差就行了,想那么多干嘛!

喜欢与不喜欢,一定会导致结果上的差异。如果想让一个团队出成绩,就要找一批喜欢开发有追求的程序员来。妄图通过完(gao)善(ya)的管理制度,借助约束和强迫让貌合神离军心涣散的队伍生产出优秀的软件来是不可能的——因为制度只能在一定程度上保证下限,不设限的惊喜与美好,永远来自热爱这份职业的人的自觉追求。

工具选择

工欲善其事必先利其器。

对软件开发来讲,很多语言和框架都存在多种IDE及周边工具,这些工具里,有一些效率高,另一些效率低,有一些公认很好,有些不那么好。好的工具会提升某些基础工作的效率(如框架代码自动生成、代码补全、代码片自动生成、语法错误提示等),让程序员有更多时间来做那些缓慢的工作(如设计、创新、性能优化等)。喜欢软件开发的朋友会主动尝试新的工具集,追求好的工具集,因为他自发地想提高自己的工作效率。

所以,看一个程序员都了解什么与工作相关的工具以及都使用什么软件,也能在一定程度上判断他是否喜欢开发工作。

当他聊起开发时是什么样子

一个人一天要工作8到10个小时,工作成了个人生活非常重要的一部分,工作中发生的事情、产生的思索、累积的情绪不可避免地会延续到工作之外。因此个人也常常会在非工作时间谈论工作内容,而且这时更容易流露出真正的喜好倾向。

聊起技术时,一个程序员眼睛发亮神采飞扬,另一个面露鄙夷冷嘲热讽,任谁都能看出哪个喜欢开发。

看不起自己所做的工作,就是看不起自己。看不起自己所做的工作,又不能跳出那个环境,还吧啦吧啦起劲的鄙视自己鄙视工作伙伴鄙视公司,这样的人通常是没什么自信又没什么追求的,在不满现状时往往是期待着外部环境改变带来机遇,绝难主动寻求突破。

会否主动提升自己

假如一个人喜欢自己的工作,就会自发地提升工作技能,主动去追求自我完善。这样的人会合理利用自己的时间,主动安排学习计划,尽量让自己变得出类拔萃。比如暂时没有上级安排的开发任务,他就可能会自己学个新框架或者写个新框架或者总结一下过去这段时间的经验。比如下了班,别人打游戏看电影侃大山,他就可能会看书学习参加培训,构建自己的知识图谱。

是否愿意分享

当你喜欢一件东西时,会愿意分享你的感受。当你喜欢某项技术时,会愿意去安利别人。因为物以类聚人以群分,一个人总是乐意找到志同道合的小伙伴,当身边没有时,他就会想用自己的力量去影响他人吸引他人看能不能转化几个过来。当然我的说法简单粗暴,有些人分享时可能不是这么想的,人家可能想的是我这么牛逼不让别人知道一下多亏啊。

愿意分享自己的技术而非束之高阁敝帚自珍,往往能说明这个人是喜欢他分享的东西的。(受命分享或直接利益驱动的分享例外。)

那怎么发现一个人是否愿意分享呢?很简单,观察他身上是否有下列几种现象:

  • 别人经常找他问问题
  • 回答别人问题很热情,别人有技术问题乐意向他请教
  • 技术讨论时常常愿意说出自己对某个问题的看法
  • 写博客分享技术
  • 参与开源项目
  • 在技术沙龙上进行分享

不是总结

《论语》:“不患人之不己知,患不知人也。”

一份职业要做的事情很多,有些是你喜欢的,有些是你不喜欢的。有的喜欢很强烈,会盖过别的不喜欢,让你觉得自己喜欢这个职业。有的喜欢力量很小,会被别的不喜欢淹没,让你觉得你无法忍受眼下的工作。

当你喜欢工作时,会有各种各样的表现;当你不喜欢你的工作时,也会有各种各样的表现。这就和你喜不喜欢一个姑娘是一样的。

所以,我们可以通过一个人的外部行为表现来识别他是否喜欢他的工作,具有这么几个方面:

  • (自然的)无意识的情感流露
  • 做事的结果
  • 工具的选择
  • 是否主动学习
  • 乐意分享与传播

当我们了解了一个人是否喜欢他的工作,就能获取比较准确的人职匹配度,为将来的合作或交往提供参考。

2015年我组建创业团队时,招募小伙伴,不设笔试,就天马行空的聊,在聊天中观察,根据上面提到的点来判断,后来找到的小伙伴,都是喜欢开发工作本身的,个顶个的能干。

送书活动

我的订阅号“程序视界”正在举行送书活动,本次送价值169元的《编译系统透视:图解编译原理》。活动29日早上结束,赶快扫码关注吧:

关注后在公众号内回复“10181”或“最新”即可查看本文参与活动。



相关阅读

时间: 2024-10-22 13:38:50

识别喜欢开发的程序员的相关文章

Android开发之程序员必须要懂得Android的重要设计理念

前几天去参加了带着自己的作品去参加服务外包大赛,因为签位抽到的比较靠后就等待了蛮久,就跟坐在前面的一起参赛的选手开始讨论Android的开发经验,各自给对方展示了自己的作品,小伙伴就建议我看一下官方Design的设计原则会很有帮助,今天就想根据自己的理解把其设计原则分享给大家.总共是三大点,17小点. 一.让用户沉醉 (1)注重设计的细节 精致的界面 , 设计恰当动画或适时的音响效果都是一种快乐体验.微妙的影响将导致一种游刃有余的感觉,感觉到一股强大的力量就在眼前. (2)尽可能使用形象化的图标

Android开发之程序员必须要懂得Android的重要设计理念2

上篇文章介绍了Android开发的设计理念的一部分,并没有得到博友们的多大认可,只看到了一位博友在下面留言期待下一篇文章的发表,为了这小小的唯一支持,我决定继续把后面的8个要点介绍一下,自己也潜心反省一下,自己的理解是不是太浅薄. 二.增加易用性 (6)一样的标志,一样的功能 我们的程序 应该帮助人们通过视觉辨别就可以轻松判断该图案或者按钮代表着怎样的功能,能清晰的分辨出来,而不是让用户费劲脑筋的去猜想这个按钮可能代表什么功能.我们的程序应该极力避免一种情况,类似的图案或者按钮却在不同的地方,代

一道题识别不靠谱的程序员

这是一道关于符号调试器实现原理的讨论题.目的不是考察调试经验或者调试器设计,而是想借助这个话题来考察候选人的计算机基础知识和工作性格.一般这样开头: 有用过调试器吧?都用过那些功能?接下来和候选人探讨调试器背后的实现原理,比如如何实现查看变量,查看内存,查看调用栈,如何实现断点等. 选择这个话题的原因之一是有话可说,几乎所有程序员都有使用调试器的经历;其二是绝大多数人都没有亲自设计调试器的机会,反馈出来的信息能反映候选人的真实水平. 好处之一,识别没有钻研精神的候选人 我理解很多工程师在生产活动

14个顶级开发社区 [程序员]

  程序员常去的 14个顶级开发社区 [经典]         作为程序员,选择好合适的开发社区对提高自己的编程能力会有很大的帮助,我也说不出为什么,但是一些优秀的实时开发社区确实能帮你积累不少开发经验. 下面这张图列出了14个程序员经常逛的顶级开发社区,作为程序员,你应该要了解其中一个或者最好是多个,并且学会使用它们,利用里面的资源提高自己的编程能力. 我们期望在开发者社区中获得什么? 我们希望能得到切实的帮助,而不是获取一些唠叨的废话或者一些水文.我们希望能根据自己提出的问题来获得其他开发者

php微信支付(仅pc端扫码支付模式二)详细步骤.----仅适合第一次做微信开发的程序员

本人最近做了微信支付开发,是第一次接触.其中走了很多弯路,遇到的问题也很多.为了让和我一样的新人不再遇到类似的问题,我把我的开发步骤和问题写出来,以供参考. 开发时间是2016/8/10,所以微信支付的版本也是对应此时的版本. 一.前期准备: 首先你们公司开通微信支付功能后,会收到一份邮件,里面有账户相关信息,一般有:微信支付商户号,商户平台登录帐号,商户平台登录密码,申请对应的公众号,公众号APPID. 1.下载demo:用上面信息登陆“微信商户平台”,>>>(右上角开发文档)>

10年工作经验老程序员推荐的7个开发类工具

做.NET软件工作已经10年了,从程序员做到高级程序员,再到技术主管,技术总监.见证了Visual Studio .NET 2003,Visul Studio 2005, Visual Studio Team System 2008, Visual Studio 2010 Ultimate,Visual Studio 2013一系列近5个版本的变化与亲自使用.每一个版本都有深刻有意义的变革.Visual Studio .NET 2003 极力推广的Web Services虽然没有很流行,但是它开

10年.NET老程序员推荐的7个开发类工具

做.NET软件工作已经10年了,从程序员做 到高级程序员,再到技术主管,技术总监.见证了Visual Studio .NET 2003,Visul Studio 2005, Visual Studio Team System 2008, Visual Studio 2010 Ultimate,Visual Studio 2013一系列近5个版本的变化与亲自使用.每一个版本都有深刻有意义的变革.Visual Studio .NET 2003 极力推广的Web Services虽然没有很流行,但是它

为什么国外程序员爱用 Mac?

from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒.那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因: 1.Mac OS X 是基于 Unix 的.这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到.

人工智能让程序员自危:码农大批失业

在计算机发明之前,大部分实验心理学家都认为,大脑是一个不可知的黑盒.你可以分析对象的行为,例如摇铃狗就会流口水,但思维.记忆和情感究竟是什么?在科学以外,这类东西模糊不清,很难捉摸. 因此,这些自称行为主义者的主要研究集中在刺激与反应.反馈和强化的关系,即摇铃如何导致狗流口水.他们放弃了对人脑内部机制的探索,而他们也主导了这一领域40年时间. 随后的50年代中期,一批颇具反叛精神的心理学家.语言学家.信息理论学家,以及早期的人工智能研究员提出了关于思维的不同概念.他们认为,人脑并不是条件反射的综