划分软件开发人员的两种尺度

行业分析师 James Governor 试着创建一套开发人员的分类学。我认为他利用了开发人员与思维的关系。我开始思考我怎么将开发人员分类,最后归结为两种尺度来衡量他们。

第一种尺度是“职业 VS 爱好”,第二种是“专注内在 vs 专注外在”。

第一种尺度与动力有关。程序员编写程序,是因为这是他们的工作,还是因为他们他们享受软件开发本身?知道你的同事和潜在的雇员属于那一种是有帮助的。因为在管理员工的时候,这极为重要。如果你不能切实地向那些为了工作而工作的开发人员,说明做这些事情会对他们的职业生涯有好处,要他们学习新东西或者变得经验至上会很困难。其他则是为爱好而做编程工作。在选择解决方案时,他们很难决定是否已经给出了最好的解决方案或者最能激起他们兴趣的解决方案。

“专注内在 vs 专注外在”,这和开发人员更喜欢怎样去解决问题有关。当一个“专注外在”的开发人员遇到一个问题,他们会用Google搜索答案,会请教同事,会在Stack Overflow 或者适当的论坛提交一个问题。当他们接到一项任务,他们会查找符合需求的开放源代码库,或者会查找过去解决了相同问题的人的博客。他们不排斥团队中有其它的开发人员站在白板前与他们一起想出解决问题的办法。但这样做的缺点是,他们会创建一个用了jQuery 和MooTools 的网站,导致最后网站的每个网页页都会载入25个jQuery 插件。他们复制和粘贴在博文找到的代码,即使他们并不知道他是怎么运行的。

补充:关于如果利用搜索技巧,国外开发人员 Andriy Solovey 在他的博文《如何使用搜索技巧来成为一名高效的程序员》中的观点是:如果不借助搜索技术、网络及集体智慧,现代化高效编程是难以想象的。因此,搜索技巧对高效程序员变得愈发重要。现在,我们不需要了解和记住如何解决众多的编程问题,可以采用搜索技术。我们正变得更加高效、高生产力,并能够解决更多的问题。

“专注内在”的开发人员一般更喜欢尽可能依靠他们自己的脑力。他们常常为展示“这里还没有被发明”的典型体现选择时机,但只是个人层次的。当他们遇到一个棘手的问题,他们常常会完全消失似的,直到他们已经解决了问题。他们解决简单问题的时间常常会更长,因为他们不会利用社区,他们不会留心社区中其他人是怎么解决问题的。另一方面,你越偏向于这一端,你越有可能能够解决所有深层次的问题。当Google不能搜索出任何关于他们的问题的有意义结果时,他们从来不会卡住在这里。他们也常常是团队中仅有的熟悉整个系统是怎么运作的开发人员。他们是那些实际发明东西的人。

两个尺度都各有千秋。一个好的团队会拥有各种各样的开发人员。如果团队太专注内在,就会常常不能将行业的进步带入他们自己的编码和实践中。如果团队太专注外在,会很难在技术上获得有竞争力的优势,尽管他们常常可以快速交付产品。如果团队中有太多开发人员为自己的爱好而编程,他会因各种原因打击公司中其余的员工。如果团队中有太多专注于职业的开发人员,就会缺少创造力,并通常不能成就非凡。

其他相关的尺度是“好 vs 不好”。成为前文提到的两种尺度的一方或另外一方,并不会促使你擅长或不擅长软件开发,但是优秀的和不及格的开发人员在分类上以不同的方式证明它们的重要性。区分好的和不好的开发人员是一门独立的学科,是一门我希望会更擅长的学科。

 

原文:Tony Bargnesi  翻译:敏捷翻译张颢铧

如需转载,但请注明原文/译文出处、译文超链接和译者等信息,否则视为侵权,谢谢合作!

收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部