
如果是职业分类的话,软件工程师其实的程序员的一种。程序员的概念很广的。
差不多的,只是不同人不同场景的相同称呼。
软件工程师更正式一些,比如招聘网站、名片上(你没看错,有些单位程序猿是有名片的),或者叫开发工程师。
非正式场合里面,程序员的叫法是最正经的了,我们内部一般都叫程序猿、程序员,不厉害的叫码农,厉害点儿的才能叫民工,什么IT民工之类的。
如果你不是程序员,你别称呼程序员为码农、码畜,只有程序员才能鄙视程序员!
在公司里面,程序员就叫[开发],测试人员就叫[测试],需求人员就叫[需求];三国鼎立,相爱相杀。(相杀的时候比较多)
有些公司的领导对外介绍自己公司程序员的时候会说:“这是我们公司的核心”,“这是我们公司的骨干”。不要在意这些称呼,领导也不一定是看重你。
搞算法、人工智能、深度学习的不是程序员,那些都是科学家。
程序员可能慢慢的变成项目经理、技术总监、架构师、CIO、CTO、技术合伙人、技术副总裁。
好好珍惜程序员,对我们好点儿!(骄傲脸)
软件工程师(Software Engineer),是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。通常人们会和程序员(英文Programmer)产生混淆,但其实是两种不同的性质。程序员是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。软件工程师的工作不同于程序员但是一个软件工程师必定是一个优秀的程序员。
首先软件工程师与程序员工作上最大的不同,可以打一个比喻:把一款软件比做一座大桥,那么软件工程师相当于施工总指挥,而一般的开发人员也就是程序员相当于建筑工人,所以很多人就说自己是IT民工就是这么来的。
想要成为一名优秀的软件开发工程师,就必须具备以下能力:
1、需求分析能力
对于软件工程师而言,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者,他们不但要理解客户需求,更多时候还要自行制定一些需求。
2、项目设计方法和流程处理能力
软件开发工程师必须能够掌握不少于两到三种的项目设计方法,并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的整体设计。
3、复用设计和模块化分解能力
作为一个从事模块任务的软件开发工程师,他需要对他所面对的特定功能模块的复用性进行考虑,而作为一个系统分析人员,他要面对的问题复杂的多,需要对整体系统按照一种模块化的分析能力分解为很多可复用的功能模块和函数,并针对每一模块形成一个独立的设计需求。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)