阅读更多

31顶
3踩

行业应用

原创新闻 划分软件开发人员的两种尺度

2011-06-21 09:00 by 见习编辑 jobbole 评论(9) 有11131人浏览

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

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

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

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

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

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

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

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

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

来自: www.jobbole.com
31
3
评论 共 9 条 请登录后发表评论
9 楼 pipilu 2011-06-23 14:46
qianhd 写道
Robust
antti 写道
呵呵,还是怪自己英文水平不好啊,看翻译的文章经常看的莫名其妙。刚刚学习java的时候,一书里说到java的优点,有一点叫 “鲁棒性”。这个鲁棒性,让我百思不得其解,过了好久才知道,原来这是音译的英文“Robust”,这个翻译的。。。。。。


撸棒就是撸管
撸棒强就代表健壮


强悍,必须收藏!
8 楼 hatedance 2011-06-23 12:07
非常好的见解。
我以前常常纠结于专注内在和专注外在。闭门造轮子和使用工具要看具体情况结合使用。
编程原本是我的喜好,但是老是编某些程却让我失去兴趣,渐渐变成为了工作而编程。
7 楼 qianhd 2011-06-22 17:51
Robust
antti 写道
呵呵,还是怪自己英文水平不好啊,看翻译的文章经常看的莫名其妙。刚刚学习java的时候,一书里说到java的优点,有一点叫 “鲁棒性”。这个鲁棒性,让我百思不得其解,过了好久才知道,原来这是音译的英文“Robust”,这个翻译的。。。。。。


撸棒就是撸管
撸棒强就代表健壮
6 楼 敲敲大葱头 2011-06-22 13:20
我一直以为看这类文章很多看不懂的句子是太高深了,现在明白有很多都是翻译问题。
5 楼 rmn190 2011-06-22 12:38
讨论是限于翻译方面一。
4 楼 antti 2011-06-22 11:20
呵呵,还是怪自己英文水平不好啊,看翻译的文章经常看的莫名其妙。刚刚学习java的时候,一书里说到java的优点,有一点叫 “鲁棒性”。这个鲁棒性,让我百思不得其解,过了好久才知道,原来这是音译的英文“Robust”,这个翻译的。。。。。。
3 楼 jayfans3 2011-06-21 15:11

就告诉你 对我不兴趣的任何方案都不能让我为老板专心工作。
2 楼 cgd123 2011-06-21 12:50
以下这句翻译不知所云:“在选择解决方案时,他们很难决定是否已经给出了最好的解决方案或者最能激起他们兴趣的解决方案。”。
1 楼 elfmtian 2011-06-21 11:57
内容不错,翻译的一塌糊涂

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Ace-Admin官方源码最新完整版 中英文双语 1.3.5

    Ace-Admin官方源码最新完整版 中英文双语 1.3.5

  • ACE源码示例 - IPC SAP

    以下示例是在《 ACE programmers guide》中已经发布过的. 这些代码都是出自Hughes Network Systems. 如有疑问可以发邮件给 Umar Syyid ,或者与我交流hxhforwork@hotmail.com:)//////////////////////////////////////////////////////////////////////////

  • Obstacks的简单使用

    Obstacks是GUN lib中实现的内存池,在基于GNU的系统中可以直接使用,想要深入了解GNU Obstacks的可以参阅参考资料。 在阅读mlocate命令源码时接触到了Obstack,网上查找资料时没有找到中文版本的资料,只能根据上面的官方英文参考资料,整理记录一点笔记。     1. 创建obstacks 操作obstacks的所有函数都在定义在头文件obstack.h中。 ...

  • ACE框架解读 - 源码篇

    最近学习ACE框架的源码,先考虑选取最新版本ACE6.0来阅读,但是发现代码量有30多万行,规模太大了花的时间会比较多,所以考虑选取旧一些的版本,最后选取ACE4.5版本来阅读,代码量13万行比较适中。 下面是我学习时的一些总结,把所有的目录和文件列出来,并针对每个文件里的主要类及其实现,根据自己的理解作了一些总结。 文件 总结 [CORBA]

  • C语言函数大全-- o 开头的函数

    本篇介绍C语言中的 o 开头的函数

  • 从ACE难学说起

    从ACE难学说起  黄国强 2005年01月12日                                        ACE很难学,这是得到公认的。主要因为两个方面原因导致的。一是因为网络软件开发非常困难。二是因为ACE这个非常庞大的体系很难掌握。这个体系共有30多位核心开发者开发,全世界共有1700多人作出了贡献。 在学习ACE之前,推荐掌握下列基础知识:深入掌

  • ACE源代码目录结构

    ACE(ADAPTIVE Communication Environment),中文的意思就是自适配通讯环境,ACE是一个用于开发网络程序的优秀的C++的框架,在国外有很广泛的使用,在国内一些大的开发通讯产品的公司也有使用。我接触ACE也有一段时间了,虽然时间不长,但我还是感觉到AC

  • ACE+TAO-6.4.6 ACE源码

    ACE+TAO-6.4.6 ACE源码 这个在官网的下载速度非常慢,我而且大小是60多M,我用7ZIP压缩了下只有十几M。希望急需用的人能用的上。谢谢!

  • ACE_TAO学习笔记

    ACE_TAO学习笔记

  • ACE的构建(VC++6.0环境)

    ACE的构建(VC++6.0环境)Windows下ACE的构建1. 将ACE-5.5.zip解压到所需的安装目录,此处以E:/为例,解压后形成ACE_wrappers文件夹,因此ACE将会存在于ACE_wrappers/ace目录中。ACE_ROOT=E:/ACE_wrappers。2. 在系统中新建ACE_ROOT环境变量,值设为 E:/ACE_wrappers。具体设置为:我的电脑->属性->

  • ACE技术内幕:深入解析ACE架构设计与实现原理

    《ace技术内幕:深入解析ace架构设计与实现原理》从构架模式、编程示例和源代码3个维度系统地对经典网络框架ace(adaptivemunicationenvironment)的架构设计和实现原理进行了深入分析,它能解决4个方面的问题:,帮助框架设计者领略软件框架设计的普适原则和思想,进而设计出自己的软件框架;第二,帮助ace应用开发人员加深对ace框架的理解,提升开发水平,更好地去定制和扩展ace框架,以及解决c 网络通信中的难题;第三,帮助c 开发人员加深c 语言功底,书中有大量对c 源代码的分析,包括网络编程、动态库编程和异步编程等,还涉及10余个经典的设计模式的解析;第四,增强平台开发人员和软件架构师的技术修养,ace的设计和实现都极其,它的实现源码和架构思想非常值得去学习和研究。 全书一共7章,详细分析了ace的reactor、serviceconfigurator、task、acceptor_connector、proactor和streams等6个框架的架构设计与实现原理。每个框架的分析分为3部分:,框架的设计分析,每个框架(除task框架)都有一个构架模式与之对应,构架模式阐述了框架的设计原理,给出了框架的总体结构,是学习框架的理论基础;第二,框架的应用分析,每个框架都有一个应用实例与之对应,应用实例既帮助读者了解框架的使用方法,又为读者提供了一个可以调试的应用程序,便于读者使用调试器探索框架的内部秘密;第三,框架的实现分析,这是本书的重点,对框架的实现原理进行了详细的分析,并且对重点的类和流程给出了uml类图和uml顺序图,可以让读者在短时间内掌握框架的实现技术。

  • ACE算法大全

    ACE算法大全

  • ACE进程算法

    ACE进程算法

  • ACE 网络编程库文件源代码

    ACE6.3.0 好东西,备份使用。 ACE 网络编程库文件源代码

  • 【前端】textarea接入ACE代码编辑器

    最近在做一个node.js的项目,有一处textarea需要编辑js脚本,普通的textarea使用起来比较鸡肋,于是决定找一个好用的脚本编辑器接入使用,简单跟大家分享一下接入方法。一、资源获取废话不多说,先上ACE官网:https://ace.c9.io/#nav=about 资源地址:https://github.com/ajaxorg/ace-builds/ 下载好资源后,看readme,

  • ACE组件开源代码分析(3)-布局

    代码分析 以render_stepper.cpp代码进行分析 1.子节点根据布局参数信息,使用自定义的布局算法计算自己的尺寸大小 2.根据布局算法计算子节点的位置信息,并将相对位置设置给子节点进行保存 pipeline_context.cpp中使用到 3.最后布局相应的两个按钮,以及进度条 ...

  • ACE网络编程 --ACE库入门:中篇-ACE程序员教程

    ACE库下载地址:http://ace.ece.uci.edu/ 或 http://www.riverace.comACE: Adaptive Communication Environment 自适应通信环境,属于主机基础设施中间件第0章、简介1.网络通信的设计空间:1).通信空间:交互规则、形式2).并发空间:并发控制、同步3).服务空间:持续时间、结构4).配置空间:网...

Global site tag (gtag.js) - Google Analytics