用户、计算机程序员就业前景和程序员三者之间有何关系

开发人员、程序员与计算机科学家三者之间的区别 - 文章 - 伯乐在线
& 开发人员、程序员与计算机科学家三者之间的区别
我经常使用这三个几乎可以互换的词,是的,甚至包括计算机科学家。毕竟,我们中的大多数人都拥有计算机科学学位,那这三者有什么不同呢?然而,最近我发现这三者的特点在我脑海中愈发泾谓分明。当我一想到那些我认识或者从事这个行业的人时,便能马上将他们归为这三种之一。不是说一个人不能同时拥有这三者的全部特点,但无论如何,他们总会更倾向类一种,那么我便把他们归属到那一类,程序员、开发人员或者计算机科学家。
其实很难对这三者下定义(相比严格的描述,这更靠直觉而定)。虽然它们非常相似(确实如此),但我还是尽力分辨,因为我是个不怕吃苦的人。 :)
计算机科学家
他们写代码(是的,我知道这有点让人吃惊)。他们所写的代码,也许不是最漂亮或者构造最好的代码,但是能完成任务。这跟代码设计或者“良好”习惯没有关系,只是用来证明他们要去证明的东西。计算机科学家不仅是技术专家,而且还是数学家(他们有31337种数学技巧),他们不仅要知道代码是有效的,还必须对其作出证明。沟通和人际交往能力是理想的品质,但不是必须的。这些人掌握了他们整个研究领域足够的基础知识,但他们会专攻其中一点或者几个狭小的领域。在这些领域中,他们是世界级的专家。他们在私人时间里做着和他们研究相关的工作。
程序员编写非常棒的代码。代码简化,构造优良并且要没有错误(error free),这些非常重要,但是他(她)们不能以无法完成任务为代价。在他们的领域中,全是关于了解“优秀代码”的含义。他们需要掌握一些数学技巧,但这不是最重要的。他们需要清楚好(最好)的问题解决方案,但不必加以证明该方案是最佳的。对他们而言,必须掌握足够广泛的算法,并且在专业知识方面掌握有熟练的技巧,在相关领域也具备相当优秀的知识。沟通和人际交往能力是理想的品质,但不是必须的。软件开发过程和团队活力是理想的品质,也不是必须的。他们在不上班的时候,做个人软件项目,以寻找乐趣。
他们写代码。优化和简化代码固然重要,但通常会优先考虑其它因素。数学技能不是必须具备的,但有助于了解与他们所在领域相关的常见问题及解决方案。沟通和人际交往能力是最重要的。软件开发过程和团队活力是赖以生存的技能。他们是不依赖任何真正专业技术的全才。他们擅长绕过问题,集成组件,从而满足一系列要求。在个人时间里,他们不是在尽力构建下一个Facebook,就是参加与编程、开发或者计算机科学无关的活动。
(编注:Alan曾撰文讨论开发人员和数学之间的关系,他认为:成为优秀的开发人员,可以没有数学技能,但成为卓越的开发人员,不能没有。详情请参阅《》一文。)
一定程度上,开发人员就是程序员。
一定程度上,计算机科学家就是程序员。
企业软件属于开发人员的领域。
谷歌和微软是程序员缔造的(包括小部分计算机科学家)。那里的开发人员最终成为了产品经理。
RnD(研发)和学术界属于计算机科学家的领域(在较小程度上包括程序员)
需要记住的是,这三者在任何方面中都不存在贬义或者不好的意思。他们体现的价值是相等的。他们只是我们所涉及的领域中不同的方面(有一些交叉点)。可能其中一个会有更多与众不同的特点,但这并不意味着这三者不能相互渗透、相互融合。一名出色的开发人员完全有可能同时是一名杰出的程序员(虽然要关注于那么多重要的事情是很困难)。极少数情况下你会遇到甚至集三者于一身的情况,那也是我乐意从您那了解的情况。因为我们应该一起开公司,那样我就可以借着你这牛人一路顺风:)。不过不管你在哪儿失败,只要你把握住三者之一,都完全有可能大获成功。
什么是软件工程师呢?他们只是开发人员的一个子集。
我相信我没有完全表达清楚我的想法。不过没关系,这个任务交给你了,亲爱的读者。您是否认为程序员、开发人员和计算机科学家是有区别的?如果是,那您对它们的定位是否跟我的相似?如果不是,我很乐意倾听你关于他们的想法。(编注:个人一直把“程序员”等同于“开发人员”,从未想过两者之间的区别。正如Alan所期待,如果你有其他想法,请在评论中和大家一起讨论分享吧。)
原文作者:  编译:伯乐在线 敏捷翻译组 – 魏哲
如需转载,但请注明原文/译文出处、译文超链接和译者等信息,否则视为侵权,谢谢合作!
可能感兴趣的话题
作者确实没怎么表达清楚三者之间的区别。或许应该说他们之间的区别原本就很难去分辨,尤其是开发人员和程序员。个人甚至认为去讨论他们之间区别的意义何在?是便于内部分工,还是职业定位?
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2018 伯乐在线如何做一个优秀的程序员如何做一个优秀的程序员中科社百家号很多人认为计算机变得如此智能,所以在不久的未来将不再需要程序员。另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题。甚至不少程序员对他们是做什么的都没有清晰的概念。在这篇文章中,我想给不知情的人解释一下程序员到底是做什么的:程序员是将人类想法翻译成计算机语言的译者。他们是两种世界之间的纽带。你认为维护这个纽带很容易吗?一些人相信经过数千年的发展,人类应该变成完全沉闷的、理性的、可预测的生物,但是这并没有发生。人类旧的大脑结构、复杂的心理和社会行为往往使人们不理性,不可预测并带有欺骗性。并且,人类有糟糕的记忆力、强烈的情感和个人兴趣。但是,程序员没法选择与更理性的物种工作,他们不得不与人类共事并且把人类的想法翻译成计算机语言。在人类和计算机之间的翻译翻译中会遇到三个主要的挑战:1.语言歧义。人类语言是模糊、复杂并且双关的,例如:“这个程序不能提供良好的用户体验”。文化、背景和上下文语境都会对沟通和含义造成影响。与之相反,所有计算机语言都是准确、直接的,与上下文无关。2.细节层次。人类的沟通是笼统而不带有过多细节的,例如:“我想让这该死的程序运行起来”。这样可以节省时间与精力,但由于缺少详细信息,会产生两个比较大的问题——误解和不确定性。而计算机需要所有细节——每件事都要说清楚。3.思维模式。人类习惯于思考需求、结果与解决方案之间的关系,例如:“这份报告应该在2秒内运行,而不是2个小时”。然而,计算机需要算法——按照步骤去达到想要得到的结果。为了写出优秀的软件,程序员们必须克服这些困难,理解人们的想法并将之转换成计算机语言。一名优秀程序员所具备的能力面向人类和面向硬件对象系统的程序员有很大不同。其实无论是高端到航天低端至发传单,我们做的都是——服务,低端好理解,航天的研究也只是为了探索甚至是千百年后的移民做服。做服务,我们需要了解我们索要面向的人群需要什么,此时程序员需要媒介——沟通。一个技术高超的程序员但是不懂沟通,那么他绝不是一个优秀的程序员。不与人沟通的程序员不是好程序员。一个优秀的解决方案需要计算机世界与人类世界的双重技能。只有连接起两个世界,才能成为一个真正的优秀程序员。本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。中科社百家号最近更新:简介:专注人工智能与零售行业的解说作者最新文章相关文章已解决问题
计算机科学家都是数学家吗?那程序员呢?
有人说数学家学计算机了都会是计算机科学家,计算机科学家本身都是数学家。听起来好像比较靠谱,但是又不确定,有没有什么方法能证明呢?另外,还有程序员和开发人员,他们和数学家和计算机科学家的关系呢?
浏览次数:254
用手机阿里扫一扫
最满意答案
作为程序员,我肯定不是数学家。我不是来说理论的,是来说事实的。事实就是,当今中国众多的程序员(源于十数年来一直很火的计算机专业的学生)大部分都是不合格的程序员。不要说数学和算法这么高深的东西,连最最基础的逻辑学和计算机语言都学不好的比比皆是,拽着几个术语就认为自己牛逼哄哄也大有人在,看不到自己的不足,盲目崇拜浅薄的广度忽视专注的深度,缺乏钻研的精神,浮躁、功利。我都不好意思自称是程序员,耻于承认自己跟他们是一类职业。幸亏外行们都不知道这个行业不给力的低级程序员是如此之多&&这也就是为什么计算机专业毕业生的钱途和风光不再;为什么每年都有众多的计算机专业学生埋怨找不到&好&工作同时所有it公司都在嚷嚷技术严重人手不足;为什么各种网站、各种系统各种难用(当然难用还有产品同学、用户体验工程师同学、工作流程的责任)还老是出故障&&
答案创立者
以企业身份回答&
作为一个数学系出身的程序员表示很惭愧
数学留给我的仅剩下还算比较清晰的逻辑思维
至于算法什么的如果没认真学过的话跟其他理工科没两样 其实程序员的门槛真的很低
作为数学专业的转行者,对于算法和逻辑部分有天然的优势。比如隐马尔可夫型,这个数学系的学生理解起来很容易。=======作为转行者,个人的性格、兴趣、努力程度,比&数学功底&更重要。重要的多啊。========人生际遇有时候有会完爆&个人的性格、兴趣、努力程度&。这个无话可说。======具体到要转的行业,数学能力的需求要看你所在的行业和公司。比如做物流的软件,数学要求会计算体积,这已经是最复杂的计算之一了。如果做自然语言处理,那你要懂的算法就太多了。如果做金融,你需要统计学的更多知识。====不过整体上看,进入任何一个行业都需要经过该行业的职业发展历程,比如软件:程序员--》技术经理--》项目经理--》领域总监。在一开始的时候哪个行业都会有苦逼的一段时间。
程序员的定义太宽泛。从code monkey到algorithm guru都是程序员。印度软件外包公司里的实习生叫做程序员,dijkstra也叫程序员。但是dijkstra是计算机科学家,而那些实习生就不是。计算机科学家都是数学家没错,但是计算机科学家通常熟悉的领域是数论、集合论、图论、可计算性理论这些离散的内容。如果你让10个计算机科学家解偏微分方程,非常有可能一半的人不会。数学家掌握计算机知识后可以认为是计算机科学家,前提条件是思维方式成功转化为计算机思维。一个数学算法,纸上的推演和基于图灵机能力下的实现是不同的。有很多问题存在数学上的解,但是不存在计算机上的解。将抽象问题具化到一种机器能力上的实现,是很多学数学的人比较难接受的。
我在一直以来工作的过程,与几位博士合作过。隐去姓名,他们分别来自上海交大和中科院自动化所。他们的数学功底都很强,可以玩的算法也都很神奇。解决了很多之前不可想象的问题。尤其是近些年来,人工智能快速进入工程领域,概率相关的算法被大量应用于真实世界的系统。比如bayes来做的各种过滤,HMM做的分词之类的。拥有强悍的数学基础,对应用这些原理很重要。不过反过来说,一个人的时间和精力是有限的。与我合作过的这两位博士,可以写出实现某个功能的数学公式,但是程序却很少写,就算写的出来,往往也完全不在乎能否实现。在时间复杂度和空间复杂度方面变得很恐怖。所以,我不下结论。
数学不超过30从来不超过30分的路过。。。
程序员的数学水平究竟需要达到什么程度,主要和他编写的程序是用来做什么的有关。一般来说,面向数据处理的程序需要更强的算法知识,也就是通常所说的数学能力。面向通讯的程序则需要程序员对通讯协议和标准有比较好的掌握,基本不需求数学知识。比如我现在正在编写的网页和数据库之间的内容传递,只需要小学三年级以内的数学知识。计算机科学家和程序员之间还是有很大的区别。程序员编程一般是为了直接的应用,编程的目标是满足用户的需求。为了保证程序运行的稳定性和开发的便捷,一般会采用成熟的框架进行开发。相当于拿着图纸然后添砖加瓦。计算机科学家则主要负责研究更好的程序语言、代码标准。同其他科学一样,实际运用的总是远小于提出的设想。当然,由于计算机硬件和软件的发展都非常快,编程语言和行业标准也更新的非常迅速。很多标准是在实际商用中推动出来的。这时候计算机科学家和程序员的界限也比较模糊了。许多公司愿意招收数学专业出身的人做程序员,一定的算法基础以及有耐心、认真仔细的品质,也算是程序员必备的素质吧。介于我认识的数学系的同学们都上博士了还没毕业,所以就不知道他们将来会不会和我抢饭碗了。
程序员么。。。。几乎等于农民工
计算机应用专业的
我们一大半课程是数学
找到一篇达人日志,写的是计算机如何影响数学:http://www.guokr.com/blog/70100/顺便@ 作者 和一些达人来求教~@彭翕成 @Mountain @非理性派 @gashero @饭呢
为什么都觉得计算机系都应该是码农呢?没有真正进行努力学习计算机专业的才成为码农,所有真正学好计算机的都会成为学者、或者哲学家。所有计算机的基础知识都是数学,少数数学书只要初浅的学一下,比如复变,因为那个是用来设法把复杂模型进行简化的,码农不在乎这个,再复杂解的我们不会自己动手去,而是用想个主意让电脑去干。但是以下数学课绝对是码农的经典:概率和统计、线性代数、微分方程、数值方法,最好能学好泛函分析&&真正学通泛函的,就像是修炼成功了九阳神功,饶是最简单的武当长拳,也能打出掌门人的档次。再进一步,就是要修炼数学分析,此功修成,即可有码农的人界越入大师的仙界。但此神功太难修成,一般的说,练此功的计算机系学人,都&必须自宫&,忘记自己是计算机系的学子,下决心今生不再做普通IT人。至于神马操作系统、数据结构、微机原理之类的,与数学大法皆无关,有点微积分底子(现在只要高中就可)和背绕口令的水平,可以当小说看过去。唯一稍难一点的编译原理,也只是一个提高版本罢了。码农要学的神马C--、大蛇、UML、framework之类,修炼的再好,也只是&匠&,所谓画匠和画家的区别,在于一个是靠画画谋生,另一个是把画画当成艺术。
共2页 到页
正在进行的活动
生意经不允许发广告,违者直接删除
复制问题或回答,一经发现,拉黑7天
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题
扫一扫用手机阿里看生意经
问题排行榜
当前问题的答案已经被保护,只有知县(三级)以上的用户可以编辑!写下您的建议,管理员会及时与您联络!
server is ok程序员和计算机_百度知道
程序员和计算机
我是电子专业的一名学生 我对计算机比较感兴趣
请问 计算机3级和程序员,在找工作时哪个比较吃香,更有用? 谢谢
我有更好的答案
计算机等级只是一个认证级别,不代表能力就高。程序员只是一个称谓,这两个好像没什么关系吧。
采纳率:16%
这两者之间有什么特别的联系吗?
程序员比较有用一点,程序员要考数据库,数据结构,软件工程等相关学科。我百度博客里收集了大量软考精品教程(电子书,视频等),欢迎下载。
招聘单位都不太认可这两个东西,没多大用的。相对来说程序员用处可能大一些,以后评职称时用得着
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
程序员的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 计算机软件高级程序员 的文章

 

随机推荐