开发人员、程序员与计算机科学家三者之间的区别

发布时间:2011-3-8 10:28    发布者:诸葛孔明
关键词: 程序员 , 开发人员 , 科学家 , 区别
我经常使用这三个几乎可以互换的词,是的,甚至包括计算机科学家。毕竟,我们中的大多数人都拥有计算机科学学位,那这三者有什么不同呢?然而,最近我发现这三者的特点在我脑海中愈发泾谓分明。当我一想到那些我认识或者从事这个行业的人时,便能马上将他们归为这三种之一。不是说一个人不能同时拥有这三者的全部特点,但无论如何,他们总会更倾向类一种,那么我便把他们归属到那一类,程序员、开发人员或者计算机科学家

  其实很难对这三者下定义(相比严格的描述,这更靠直觉而定)。虽然它们非常相似(确实如此),但我还是尽力分辨,因为我是个不怕吃苦的人。


  计算机科学家

  他们写代码(是的,我知道这有点让人吃惊)。他们所写的代码,也许不是最漂亮或者构造最好的代码,但是能完成任务。这跟代码设计或者“良好”习惯没有关系,只是用来证明他们要去证明的东西。计算机科学家不仅是技术专家,而且还是数学家(他们有31337种数学技巧),他们不仅要知道代码是有效的,还必须对其作出证明。沟通和人际交往能力是理想的品质,但不是必须的。这些人掌握了他们整个研究领域足够的基础知识,但他们会专攻其中一点或者几个狭小的领域。在这些领域中,他们是世界级的专家。他们在私人时间里做着和他们研究相关的工作。


  程序员

  程序员编写非常棒的代码。代码简化,构造优良并且要没有错误(error free),这些非常重要,但是他(她)们不能以无法完成任务为代价。在他们的领域中,全是关于了解“优秀代码”的含义。他们需要掌握一些数学技巧,但这不是最重要的。他们需要清楚好(最好)的问题解决方案,但不必加以证明该方案是最佳的。对他们而言,必须掌握足够广泛的算法,并且在专业知识方面掌握有熟练的技巧,在相关领域也具备相当优秀的知识。沟通和人际交往能力是理想的品质,但不是必须的。软件开发过程和团队活力是理想的品质,也不是必须的。他们在不上班的时候,做个人软件项目,以寻找乐趣。


  开发人员

  他们写代码。优化和简化代码固然重要,但通常会优先考虑其它因素。数学技能不是必须具备的,但有助于了解与他们所在领域相关的常见问题及解决方案。沟通和人际交往能力是最重要的。软件开发过程和团队活力是赖以生存的技能。他们是不依赖任何真正专业技术的全才。他们擅长绕过问题,集成组件,从而满足一系列要求。在个人时间里,他们不是在尽力构建下一个Facebook,就是参加与编程、开发或者计算机科学无关的活动。

  • 一定程度上,开发人员就是程序员。
  • 一定程度上,计算机科学家就是程序员。
  • 企业软件属于开发人员的领域。
  • 谷歌和微软是程序员缔造的(包括小部分计算机科学家)。那里的开发人员最终成为了产品经理。
  • RnD(研发)和学术界属于计算机科学家的领域(在较小程度上包括程序员)

  需要记住的是,这三者在任何方面中都不存在贬义或者不好的意思。他们体现的价值是相等的。他们只是我们所涉及的领域中不同的方面(有一些交叉点)。可能其中一个会有更多与众不同的特点,但这并不意味着这三者不能相互渗透、相互融合。一名出色的开发人员完全有可能同时是一名杰出的程序员(虽然要关注于那么多重要的事情是很困难)。极少数情况下你会遇到甚至集三者于一身的情况,那也是我乐意从您那了解的情况。因为我们应该一起开公司,那样我就可以借着你这牛人一路顺风。不过不管你在哪儿失败,只要你把握住三者之一,都完全有可能大获成功。

  什么是软件工程师呢?他们只是开发人员的一个子集。


  我相信我没有完全表达清楚我的想法。不过没关系,这个任务交给你了,亲爱的读者。您是否认为程序员、开发人员和计算机科学家是有区别的?如果是,那您对它们的定位是否跟我的相似?如果不是,我很乐意倾听你关于他们的想法。(编注:个人一直把“程序员”等同于“开发人员”,从未想过两者之间的区别。正如 Alan所期待,如果你有其他想法,请在评论中和大家一起讨论分享吧。)
本文地址:https://www.eechina.com/thread-57410-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表