面试一位工程师,看到他的简历上写之前的职位是“工程师”,同时他在自己的名字边上写了一个词“程序员”。我就问他一个问题:工程师和程序员有什么不同?你觉得自己是工程师还是程序员呢?他一下子愣住了,不知道该如何回答这个问题。
这里我来回答一下我对于这个问题的理解。我看到的技术类岗位通常有三种:工程师,程序员和科学家。我先把这三个词在维基百科上的解释列一下:
1. 工程师(Engineer),是指那些在工程专业领域的人,他们使用科学知识来驾驭技术以解决实际问题,并以此为职业。
2. 程序员(Programmer),它可以指在程序设计某个专业领域中的专业人士,或是从事软件撰写,程序开发、维护的专业人员。
3. 科学家(Scientist),广义上指使用系统化的活动来发现新知识的人。狭义的定义指使用科学方法做研究的人。 科学家一般是某个,或者多个科学领域里的专家。
工程师和科学家的不同(摘录自维基百科):
科学家努力探索大自然,以便发现一般性法则(general principles),工程师则遵照此既定原则,从而在数学和科学上,解决了一些技术问题。科学家探索世界以发现普遍法则,但工程师使用普遍法则以设计实际物品。科学家研究东西,工程师建立东西,这一想法,可视为表达这句话, "科学家们问为什么,工程师问为什么不能呢? "("Scientists ask why, engineers ask why not?") 。
工程师和程序员的不同:
这部分没有维基百科可以解释。我用自己的方式来解释:
1. 工程师重解决问题,程序员重提高效率:
比如我们需要做手机客户端,那么对于工程师来说,用iOS,还是Android,还是HTML5,这只是一种方法,最终是要给用户一个可以用的客户端。对于程序员来说,就要考虑的是我是一个iOS程序员,不是一个Android程序员,在我没有把iOS学得精通之前,我不想学Android,我直接做的效率不高。
2. 工程师重组合,程序员重制造:
程序员注重项目的可预测性,无错误,也就是准时保质保量地开发出来产品。工程师是拿来主义者,最好是把已经成型的东西经过拼接组合来解决现在的问题,如果有更好的方案,他们愿意推翻之前的所有投入而是用新的方案,不惜冒拖延进度的风险,只要他对于最终结果是更好的。所以工程师有可能把东西搞得好上N倍,也可能更糟。
3. 工程师是把不可能变成可能,程序员是把可能变成确定:
工程师喜欢的是新的挑战,是那种别人做不到的事情,虽然可能会撞得鼻青脸肿,但是每看到新的机会的时候,就会义无反顾地去尝试。程序员是把事情做精做细的人,消除风险是他们任务,只有按照计划发生了,并且质量是靠得住的,稳定的东西,才是真正的产品。
我觉得分清楚自己是工程师还是程序员很重要,因为这意味着你知道自己喜欢什么,应该选择什么。比如创业型公司是工程师的天堂(当然需要有工程师文化),这里充满了可能性,这里可以学习各种各样的东西,即使你学艺不精,也会有用武之地。可以实现很多东西,给很多人用,可以接触产品,市场,运营方方面面的事情,只要你愿意。而对于程序员,最佳选择就是已经成体系的公司,他们有明确的开发流程,开发方式,怎样让开发团队如同一台精密的机器一样,紧密配合,确保项目准时准点,保质保量,这应该也是一件美妙的事情。
=========================分享结束,广告开始======================
百姓网招聘APP工程师(Android + iOS + HTML5)
前言
我相信一个公司花心思去写自己的职位描述,说明他们对待应聘者是认真的;一个人花时间去读一个职位描述,说明他对待这个公司也是认真的。
我们要一起做什么?
第一代分类广告的形式是报纸,第二代分类广告是互联网分类广告,第二代的颠覆性在于“免费”,随着移动互联网时代的到来,第三代的分类广告呼之欲出,我们认为第三代分类广告的颠覆性在于“实时”,就是从发出信息到成交的速度是否够快。您是否对做这样颠覆性的事情感兴趣呢?
我们希望您帮我们做什么?
a) 坦克版地推进。优秀的工程师就如同高速推进的坦克,把一个漂亮的战略战术来落地,任何的技术难题都被轻松碾过,稳重而踏实。
b) 做自己喜欢的产品。码农和攻城师最大的区别就是在用手还是用脑做事情。我们希望你是在做自己喜欢的产品,而不是别人的工具。
c) 把事情做得不同。在颠覆性的移动互联网上,我们需要颠覆性的技术和开发模式,你愿意接受挑战吗?
结语
非常感谢您的耐心阅读,如果您觉得您就是我们要找的人,请把您觉得合适的理由并附上您的简历发送给我,非常感谢!
百姓网联合创始人 潘晓良
[email protected]
==========================广告结束=============================
这里我来回答一下我对于这个问题的理解。我看到的技术类岗位通常有三种:工程师,程序员和科学家。我先把这三个词在维基百科上的解释列一下:
1. 工程师(Engineer),是指那些在工程专业领域的人,他们使用科学知识来驾驭技术以解决实际问题,并以此为职业。
2. 程序员(Programmer),它可以指在程序设计某个专业领域中的专业人士,或是从事软件撰写,程序开发、维护的专业人员。
3. 科学家(Scientist),广义上指使用系统化的活动来发现新知识的人。狭义的定义指使用科学方法做研究的人。 科学家一般是某个,或者多个科学领域里的专家。
工程师和科学家的不同(摘录自维基百科):
科学家努力探索大自然,以便发现一般性法则(general principles),工程师则遵照此既定原则,从而在数学和科学上,解决了一些技术问题。科学家探索世界以发现普遍法则,但工程师使用普遍法则以设计实际物品。科学家研究东西,工程师建立东西,这一想法,可视为表达这句话, "科学家们问为什么,工程师问为什么不能呢? "("Scientists ask why, engineers ask why not?") 。
工程师和程序员的不同:
这部分没有维基百科可以解释。我用自己的方式来解释:
1. 工程师重解决问题,程序员重提高效率:
比如我们需要做手机客户端,那么对于工程师来说,用iOS,还是Android,还是HTML5,这只是一种方法,最终是要给用户一个可以用的客户端。对于程序员来说,就要考虑的是我是一个iOS程序员,不是一个Android程序员,在我没有把iOS学得精通之前,我不想学Android,我直接做的效率不高。
2. 工程师重组合,程序员重制造:
程序员注重项目的可预测性,无错误,也就是准时保质保量地开发出来产品。工程师是拿来主义者,最好是把已经成型的东西经过拼接组合来解决现在的问题,如果有更好的方案,他们愿意推翻之前的所有投入而是用新的方案,不惜冒拖延进度的风险,只要他对于最终结果是更好的。所以工程师有可能把东西搞得好上N倍,也可能更糟。
3. 工程师是把不可能变成可能,程序员是把可能变成确定:
工程师喜欢的是新的挑战,是那种别人做不到的事情,虽然可能会撞得鼻青脸肿,但是每看到新的机会的时候,就会义无反顾地去尝试。程序员是把事情做精做细的人,消除风险是他们任务,只有按照计划发生了,并且质量是靠得住的,稳定的东西,才是真正的产品。
我觉得分清楚自己是工程师还是程序员很重要,因为这意味着你知道自己喜欢什么,应该选择什么。比如创业型公司是工程师的天堂(当然需要有工程师文化),这里充满了可能性,这里可以学习各种各样的东西,即使你学艺不精,也会有用武之地。可以实现很多东西,给很多人用,可以接触产品,市场,运营方方面面的事情,只要你愿意。而对于程序员,最佳选择就是已经成体系的公司,他们有明确的开发流程,开发方式,怎样让开发团队如同一台精密的机器一样,紧密配合,确保项目准时准点,保质保量,这应该也是一件美妙的事情。
=========================分享结束,广告开始======================
百姓网招聘APP工程师(Android + iOS + HTML5)
前言
我相信一个公司花心思去写自己的职位描述,说明他们对待应聘者是认真的;一个人花时间去读一个职位描述,说明他对待这个公司也是认真的。
我们要一起做什么?
第一代分类广告的形式是报纸,第二代分类广告是互联网分类广告,第二代的颠覆性在于“免费”,随着移动互联网时代的到来,第三代的分类广告呼之欲出,我们认为第三代分类广告的颠覆性在于“实时”,就是从发出信息到成交的速度是否够快。您是否对做这样颠覆性的事情感兴趣呢?
我们希望您帮我们做什么?
a) 坦克版地推进。优秀的工程师就如同高速推进的坦克,把一个漂亮的战略战术来落地,任何的技术难题都被轻松碾过,稳重而踏实。
b) 做自己喜欢的产品。码农和攻城师最大的区别就是在用手还是用脑做事情。我们希望你是在做自己喜欢的产品,而不是别人的工具。
c) 把事情做得不同。在颠覆性的移动互联网上,我们需要颠覆性的技术和开发模式,你愿意接受挑战吗?
结语
非常感谢您的耐心阅读,如果您觉得您就是我们要找的人,请把您觉得合适的理由并附上您的简历发送给我,非常感谢!
百姓网联合创始人 潘晓良
[email protected]
==========================广告结束=============================