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

开发 前端
文中讲述如何区分程序员、开发人员和计算机科学家之间的区别.其实很难对这三者下定义(相比严格的描述,这更靠直觉而定)。虽然它们非常相似(确实如此),但我还是尽力分辨,因为我是个不怕吃苦的人。

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

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

计算机科学家

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

程序员

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

开发人员

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

一定程度上,开发人员就是程序员。

一定程度上,计算机科学家就是程序员。

企业软件属于开发人员的领域。

谷歌和微软是程序员缔造的(包括小部分计算机科学家)。那里的开发人员最终成为了产品经理。

RnD(研发)和学术界属于计算机科学家的领域(在较小程度上包括程序员)。

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

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

我相信我没有完全表达清楚我的想法。不过没关系,这个任务交给你了,亲爱的读者。您是否认为程序员、开发人员和计算机科学家是有区别的?如果是,那您对它们的定位是否跟我的相似?如果不是,我很乐意倾听你关于他们的想法。
 

原文链接:http://www.jobbole.com/entry.php/526

【编辑推荐】

  1. 在西方程序员眼里 东方的程序员是什么样的?
  2. 程序员:5点钟起床 疯了吗?
  3. 关于程序员的痛苦的一种悖论
  4. 一个Python程序员的进化
责任编辑:陈贻新 来源: 伯乐在线
相关推荐

2013-02-22 09:34:57

程序员开发人员

2017-11-01 15:03:37

超级计算机编程

2013-02-18 09:41:33

内存科学家宕机

2021-12-25 07:34:47

量子计算机分子模拟保护数据

2019-04-30 09:45:12

计算机互联网 技术

2024-03-06 14:36:08

2012-01-04 09:24:39

程序员

2011-05-11 09:42:27

程序员

2010-12-13 13:45:09

最老计算机

2022-01-06 16:15:58

自测测试开发人员

2023-05-05 11:19:37

开发程序员

2019-04-30 15:14:11

数据科学家计算机

2012-12-06 15:36:55

CIO

2015-08-07 09:54:26

升职开发者管理者

2020-06-12 08:15:40

计算机科学码农技术

2020-04-09 09:10:23

Python编程语言开发

2017-12-11 17:02:13

量子计算安全

2018-03-30 08:58:34

Web 开发Python

2020-03-31 08:19:49

代码开发编码

2017-08-04 15:53:10

大数据真伪数据科学家
点赞
收藏

51CTO技术栈公众号