程序员都是工程师吗?
2014-05-27 11:13
246 查看
转自赖信涛的个人网站
为了吸引注意力,Slashdot提出了一个备受争议的老话题:所有的程序员都是工程师吗?
当然不是。
我曾经却不这么认为。我的母校是伊利诺伊大学香槟分校,计算机科学系是工程学院的。我可以证明,这好几年都在学和工程师一样的课程。
正因为很多学校把计算机科学归于工程学院,很多程序员毕业之后都以为他们和工程师没什么区别。但是差别很快就会显现出来。
工程师是必修课,程序员则是选修。
要做一个工程师,你就必须获得授权。你必须通过专业的工程师考试。在工程这个领域,你必须有证书来证明你知道正确答案。在法律专业,也是这样。我非常确定对于著作权法的了解我比一些小型城市的律师强。然而他们可以在这个领域内发表一些自己的观点,但是我就不行。工程学也如此。有些事情只有有执照的工程师做才合法。
但是每一个人都可以编程。
工程师为自己的事业工作,而程序员做他们喜欢做的事情。
通常,工程师比程序员拥有更高的学位。有人认为他们想证明自己,但是我认为,这源于对事业的选择。许多程序员都是因为兴趣编程,并逐渐地变得专业。我就是这样。很多年前我还不会开车的时候就会编程了。有时候,我们做了错误的决定,正是因为混淆了爱好和专业的区别。
工程师却不是这样。人们不会将桥梁建筑作为他们的爱好,而选择将成为桥梁工程师作为自己的事业。工程师们通常将他们的工作作为自己的事业,因为这一直都是他们的梦想。
工程师理解地更深,程序员通常不知道他们在做什么。
通常,工程师可以预测工作流程。他们不会陷入纷繁复杂的参数中,不必纠结于使用什么方法来完成项目。让他们来估测一个项目,通常会得到准确的答案。
到现在为止,没有管理软件项目的通用方法。每个人的方法都不同。一些人几乎没有用什么程序,却得到了惊人的结果;一些人用传统的方法论,却不能按时解决问题。
工程是实实在在的,编程是抽象的。
工程师使用的是物理的东西,像力学,电和热。当工程师建造什么东西的时候,通常是实实在在的事物,可以摸得到,可以拿在手上,甚至可以保持它的形态度过几个世纪。
编程利用的是一些抽象的东西。我们创造变量并赋予他们名字,通过操作它们来创造事物。当产品最后完成的时候,不需要什么***流程。成品不过是一些字节。理论上讲,如果一只猴子在键盘上敲打,也有几率敲出相同的字节。这样生产处的产品是看不见摸不着的,可能在几年之后,就不再有什么价值了。
我的意思并不是说工程师就比程序员更有价值。我能建造出一座桥,一台电视,或者一条小舟吗?不,但我藐视一切能建造它们,部署优秀控制系统的工程师。因为程序员同样解决了困难的问题。
我们的大学,由于没有适合我们的学院,而将我们称为「工程师」。我不会怪他们,因为我并不会期望借「工程师」这几个字来获得更多的尊重。
为什么就不接受软件开发是一个特殊的行业呢?我们必须承认没有别的领域,像编程这样。工程师对我来说太枯燥。我喜欢做一个程序员。
相关文章推荐
- 程序员都是工程师吗?
- [译]程序员都是工程师吗?
- 从程序员到测试工程师(转贴)
- 一天过去了,每一天都是一天,程序员的生活!
- 中国大量程序员都是孔乙己,悲催可笑的心态
- 分析为什么中国的大多程序员技术偏低--都是被逼的 (转)
- 分享毕业实习学子“ERP实施工程师”总结,都是肺腑之言——知识是体现人的价值,学校学习的每一个课程学科都是有意义
- 为什么程序员都是夜猫子
- 不想做大厨的程序员不是好工程师 | 梅菜扣肉
- 从程序员到测试工程师
- 不会用ant打包、部署项目的工程师,不是一个好程序员(测试)
- 一个程序员(Java工程师日记第二刊 使用接口注意事项)
- 从程序员到项目经理(十一):每个人都是管理者
- 从程序员到项目经理(十九):想改变任何人都是徒劳的
- 每个好架构师都是一位出色的程序员
- 所有的程序员都是自学成才
- 从程序员到项目经理(16):原来一切问题都是可以解决的
- 每个好架构师都是一位出色的程序员
- 从程序员到项目经理(11):每个人都是管理者
- 从程序员到项目经理(15):原来一切问题都是可以解决的