识别喜欢开发的程序员

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

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

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

别人自己说喜欢算不算

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

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

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

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

产出物的质量

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

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

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

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

工具选择

工欲善其事必先利其器。

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

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

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

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

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

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

会否主动提升自己

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

是否愿意分享

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

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

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

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

不是总结

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

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

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

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

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

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

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

送书活动

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

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


相关阅读

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
作为一个Unity游戏开发程序员,你可以制定以下成长规划来提高自己的技能和职业发展: 1. 学习并掌握Unity引擎:深入了解Unity的各个功能模块和工具,包括场景编辑器、动画系统、物理引擎等。通过官方文档、教程和实践项目来加深对Unity的理解和应用能力。 2. 掌握编程语言和算法:作为游戏开发者,熟练掌握C#编程语言是必要的。同时,了解基本的数据结构和算法,对于优化性能和解决问题非常重要。 3. 学习游戏设计和艺术知识:理解游戏设计原理和基本原则,对游戏玩法、用户体验和界面设计有一定的认识。此外,学习美术和动画技术,可以在项目中更好地与美术团队合作。 4. 参与实际项目和开发经验:积累实际项目经验是成长的关键。参与个人或团队项目,从中学习并完善自己的开发技能,同时也锻炼自己的沟通、团队协作和问题解决能力。 5. 持续学习和跟进最新技术:游戏开发领域发展迅速,要保持对最新技术和趋势的关注。参加相关行业的讲座、研讨会和培训课程,阅读相关书籍和博客,与其他开发者交流经验和观点。 6. 构建个人项目和作品集:开发个人项目、制作游戏作品集是向潜在雇主展示自己技能的重要途径。通过构建自己的项目和作品,展示自己的创造力和技术能力。 7. 寻找导师或参加社区活动:寻找有经验的导师或加入开发者社区,可以从他们那里获得指导和支持。参加游戏开发比赛、论坛和在线活动,与其他开发者建立联系,分享经验和资源。 8. 不断挑战自己:勇于接受新的挑战和项目,扩展自己的技能边界。尝试开发不同类型的游戏,探索新的领域和技术,不断提高自己的专业水平。 记住,成为一名优秀的Unity游戏开发程序员需要时间和努力投入。持续学习、实践和积累经验是通往成功的关键。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

foruok

你可以选择打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值