你是开发工程师、程序员还是码农?

转载 2018年01月05日 00:00:00

Developers are from Mars, programmers are from Venus, so where are coders from?


不管是CPPer,Javaer,还是PHPer等等,不少开发人员经历过这样的困惑:我到底是工程师(SDE,or Developer),程序员(Programmer),还是Coder(编码员)呢?


这个问题看上去似乎没有什么意思,甚至不过是一次无聊的名词解释。但是,我们以这里作为所有话题的起点,是因为任何钱柜娱乐开户并没有绝对的对与错,决定最终选择的恰恰是看问题的角度——身份当然是其中的一个重要影响力。屁股决定脑袋,这样的道理无需赘述。


好吧,还是先回到这个话题上来。


软件开发工程师(SDE,or Developer)是我们大多数软件开发人员的职业称呼。既然是一个职业称呼,其身份与职业自然有密不可分的关系。作为一个开发工程师,其主要职责是在有限的时间内开发出具有实际实用价值的应用程序。


640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


这里面至少包含两点。


其一,开发目标。开发工程师的开发目标是使用,没有使用价值的程序是没有意义的;


其二,开发成本。既然是职业称呼,开发工程师的工作往往由商业因素驱动,其开发特点突出表现为大量的功能需求和有限的成本。因此需要开发工程师具备在各种需求(包括时间成本等等)之间寻求平衡的能力。


程序员(Programmer)常常被简单地被归结为一群追求技术的狂热分子,他们更多地由兴趣驱动,开发一些有挑战性的东西。这样说也许并不确切,但毫无疑问,程序员这个名称给人更多的技术感和理想色彩,以至于很多人把他作为自己引以为豪的称号。我也喜欢自诩为程序员,甚至很多IT公司那些数年未写一行代码的技术主管也喜欢自诩为程序员。


程序员开发习惯的一个显著特点是追求极致:最新潮的方法,最小的二进制文件大小,最少的代码量,最强大的功能……时间?唔,开发时间从来不是程序员工作的决定因素,它甚至根本不被考虑;执行时间倒是个重要因素,所有程序员听到这个就像猫闻到腥味一样。


看上去,软件开发工程师和程序员是多么截然不同的两种人。难怪有人说,软件开发工程师来自火星,程序员来自金星。


另外一些人给两种称呼设置了等级,似乎程序员经过一段时间的成长才能成为一个软件开发工程师。当然,我不认同这样的说法:不同的追求导致不同的发展而已。


尽管我们给两种称呼映射了两种截然不同的行为,然而实际上,这两种行为常常同时出现在同一个人的身上:你可能上班时像个开发工程师,下班则更像个程序员;他可能对待一些问题时像个开发工程师,对待另一些问题时则更像个程序员。


很多软件项目开发周期过长,一个重要原因就是由于软件开发工程师在开发当中融入了过多的个人乐趣,开发出了很多个人认为很酷其实不必要的功能。而一个程序员哪怕是捣鼓一个只有他自己才用的软件,他也需要在他力所能及的范围(成本)内开发出自己满意的功能。


与上面两种称呼不同,Coder(编码员)常常被称作软件业的蓝领工人(戏称“人肉编码机”)。没有人愿意做这样的蓝领工人,因为软件业里的体力劳动者几乎就是笨蛋的代名词。


其实,绝大多数开发人员会常常扮演编码员的角色。想想你拷贝一大段代码,修修改改完成一个功能,然后又拷贝另一大段代码,修修改改完成另一个功能的经历,这不正是个Coder的角色么?要将这些“体力编码”的片段跟“脑力编码”的片段分割开来,派给两种开发人员去做显然是不切实际的。


即便存在Coder这样的职业,只是从事将设计翻译为代码的“体力”工作,他们的工作也仍然是举足轻重并值得尊敬的。任何一个成功的软件项目,除了得益于其成功的设计,编码的质量一样不可或缺。


如果你真的领导着一些商业性项目开发,你应该会深深体会到编码质量对一个项目举足轻重的影响,而一个编码质量令人放心的开发人员在任何组织里都不会是简单的Coder角色。


再次强调,不管是SDE,程序员,还是Coder,我尝试做出一些定义并不是为了让你从无数开发人员当中区分出谁属于哪一类型。恰恰相反,我认为对于绝大多数开发人员而言,他并不是一直扮演某一种角色,而是在不同时候,不同的方面,表现为不同的角色。


我们区分这些类型,只是为了阐述钱柜娱乐开户时,有一个角色的定位。但是,你知道,世界是复杂的,而人不会是一成不变的。


公众号内回复“1”带你进粉丝群!

0?wx_fmt=gif

转:说说售前,关于售前,售前软件工程师----写的很好

说说售前(一):售前的作用 在ITPUB上有个哥们问做售前最需要什么,大多数答:“忽悠”。应该说,很有意思的印象词。     浓缩的是精华,细想一下,如果用两个字给售前定性的话,还真找不出另外的更合适...
  • deviell
  • deviell
  • 2013年10月25日 14:43
  • 4437

程序员的另一出路:大数据工程师

很多年前我很郁闷地写了一篇博客《程序员的出路在哪里?》,之所以郁闷,我记得是看了中国男足的比赛,情不自禁对比自已苦逼的程序员生涯,曾经对中国软件的感情有如对中国男足,绝望到没有任何一丁点希望,但又无路...
  • harrymeng
  • harrymeng
  • 2015年07月09日 06:34
  • 20749

一个公式告诉你为什么程序员要转算法工程师

今天(2017年6月11日)爬了某招聘网站的十大城市的算法工程师职位。算法工程师这里的算法工程师包括比较广泛。有做数据科学的,有做图形的,有做信号处理的。之后会统计更细分的领域。十大城市以下按照算法工...
  • juwikuang
  • juwikuang
  • 2017年06月11日 18:20
  • 7395

Mc小冰总结的钱柜娱乐开户开发工程师面试题以及答案,钱柜娱乐开户程序员必备,详解

1.请谈一下钱柜娱乐开户系统的架构。 答:钱柜娱乐开户系统采用了分层架构,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。 2.谈谈钱柜娱乐开户大众常用...
  • qq_21376985
  • qq_21376985
  • 2016年04月09日 23:02
  • 610

软件开发 关键在喜欢和适合 论程序员码农的前景 8年大咖干货杂谈

欢迎评论交流 好文分享  迷茫中寻找出路  好的职业规划 可能走对一步就是不一样的人生。  楼主微信17610677629 原文出处: 风尘浪子    在中国有很多人都认为IT行业是吃青春饭的,如...
  • zcw4237256
  • zcw4237256
  • 2017年11月10日 17:28
  • 175

Web前端开发工程师必读的15个设计博客

Web前端开发工程师必读的15个设计博客  2011-10-30 15:40:11|  分类: 专业日志 |  标签:web前端开发  |举报 |字号大中小 订阅 1. ...
  • jinli1990
  • jinli1990
  • 2014年03月09日 20:40
  • 589

如何成为一名大数据开发工程师

版权申明:转载请注明出处。 文章来源:http://bigdataer.net/?p=239 1.关于我本人现在北京某大型互联网公司高级数据开发工程师一枚,三年工作经验,一年多面试官经验。2.为...
  • lgdlxc
  • lgdlxc
  • 2017年03月13日 11:07
  • 6595

前端开发工程师必读书籍推荐

作者:阿里云云栖社区 链接:https://www.zhihu.com/question/22591993/answer/148215178 来源:知乎 著作权归作者所有。商业转载请联系作者获得...
  • m0_38080374
  • m0_38080374
  • 2017年11月03日 15:12
  • 170

华为面试经历-安卓应用开发工程师

华为面试的小经验步骤先简述一下我面试过的华为的服务岗和研发岗的具体步骤: 服务岗:华为招聘官网注册投简历 -> 短信通知性格测试 -> 短信通知面试 -> 签到 -> 群面 -> 二面 -> 三面...
  • MS_blogger
  • MS_blogger
  • 2017年12月30日 13:50
  • 59

C++开发工程师面试题库 50~100道

51. New delete 与malloc free 的联系与区别? 答案:都是在堆(heap)上进行动态的内存操作。用malloc函数需要指定内存分配的字节数并且不能初始化对象,new 会自动调...
  • rongwenbin
  • rongwenbin
  • 2014年02月11日 11:31
  • 694
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:你是开发工程师、程序员还是码农?
举报原因:
原因补充:

(最多只允许输入30个字)