yuxinchen008
第一、工程师不写黑箱程序
“程序=数据结构+算法”,这个著名的公式大家都知道。不幸的是,它不适合描述工程领域或者现实世界的程序。有很多程序,数据结构和算法都写得很棒,功能足够 强大,系统足够复杂,但是——它很难调试,一跑起来就无法停止,而且谁也不知道程序现在到底在干什么,里面发生了什么。
第二、工程师注意实现和接口分离
Java面试的一道经典问题是:请描述抽象类和接口的区别。通常,大家都会知道“接口”和“实现”要分离。不幸的是,很多人理解的“接口”,只是狭义的特定语言提供的Interface,而没有考虑“接口”真正的含义。
第三、工程师注重功能的逻辑联系
很多系统都在不断的变化和改进过程中,程序员看到的是功能点,工程师看到的是功能点之上的逻辑。
任何系统当然都是由若干功能构成的。但在功能点之上,还需要一张有逻辑意义的大网,才能把功能点组合起来,把复杂度降低,成为大家能理解的对象。最简单的“登录”,就包含数据输入、数据验证、登录信息记录等等功能,“登录”是这些功能的逻辑集合,也是理解这些功能的基础。
暗旦无光
随着经济不断发展,现在电子类物品层次不穷,那么在电子类物品层次不穷的过程中,也就意味着会衍生出很多计算机行业的人才。可是在日常生活中,为什么计算机从业者总是被称为程序员而不是工程师?
对于不是计算机行业的人员来说,似乎总认为所有计算机行业的人员都是在敲代码,所以在这种情况下,也就会给计算机从业人员一个统称叫做程序员。而对于计算机行业本身的人员来说,他们很清楚程序员以及工程师的区别所在。因为所谓程序员和工程师并不是同一个职位,甚至说可以是天差地别。所谓程序员其实也就是编写代码,而工程师主要是实现世界中创造价值的程序。而普通学习的计算机专业人员,其实很难达到工程师这个级别,所以只能做一些较为基础的程序工作,比如敲代码。
工程师到底做什么?
对于计算机从业者来说,计算机工程师的工资肯定要远远超于普通的程序员。因为该岗位的技术性要求也要远高于普通的程序员,而且it工程师的工作较为复杂,一般没有技术的人员或者是经验的人员是很难胜任的。尤其在现在互联网时代当中,需求量相当的大,但同时也需要相应的技术以及能力,因此工作量也会比较大。
对于工程师来说,在日常生活中可能需要做到:计算机的程序设计员、软件测试师、系统的分析师、软件项目的管理师、系统架构设计师、网络的工程师、网络建设的工程师、计算机操作、信息系统安全师、信息系统管理师、信息系统监理师、信息系统评估、资源开发与管理人员、信息系统设计人员等等。所以每天的职责还是比较繁重的。
yy瘦胖纸
软件工程师它是一个广义的概念,它包括程序员这个岗位。再说明白一点就是程序员也可以叫做软件工程师,但是软件工程师不只有程序员一个岗位。
软件工程师是从事软件开发相关工作的人员的统称。它除了程序员还包括软件设计人员、软件架构人员、软件工程管理人员等一系列岗位。
软件工程师可谓是软件项目开发的掌舵者。虽然要求技术全面,但无须偏执于门门技术都精通,任何软件工程师都有自己的技术特长和偏向,对于自己手中的技术,可有精通-掌握-熟悉-了解之分,根据工作需要和职业发展的具体情况来划分。
程序员是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员。
优质工程师考试问答知识库