大灵灵小乖乖
相信了解过互联网的人都听过两个专业名词,即全栈工程师和架构师,那么大家知道这两个名词是什么含义吗?北大青鸟北京嘉荟校区官网带你具体了解一下吧。
一、定义
(1)全栈工程师,也叫全端工程师,是指拥有全端软件设计思想并掌握多种开发技能的复合型人才。其独当一面的特性,被人戏称为“独行侠”。
(2)架构师,是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。架构师不是一个人,他需要建立高效的体系,带领团队去攻城略地,在规定的时间内完成项目。
二、共性
全栈工程师和架构师往往具备一专多能,不但专业技能扎实,还得熟悉掌握前端到后端各种主流技术环节的实现能力和其它一些软技能,他们之间的共性有:都必须具有丰富的软件设计与开发经验,都要具有领导能力与团队协作技能等等。
全栈工程师虽被称为“独行侠”,并不意味着公司只需要这一种人才就行了,一个项目的进行,是需要不同的人参与的,尤其是在大项目中,项目越大,人越多,沟通成本越高,如果配备一个全栈工程师,那么项目的沟通成本就会大大降低。因为这个人各种技术都懂,在团队协作中,与不同技术人员的沟通就会容易得多。
架构师也是一个得到各方承认的技术领导,能在关键时候对技术的选择作出及时、有效的决定。同时他们也要具有很强的沟通能力,因为架构师需要与各路人马经常打交道,客户、市场人员、开发人员、测试人员、项目经理、网络管理员、数据库工程师等等。
鸭梨山大痕
全栈工程师,也叫全端工程师,英文Full Stack developer,是指掌握多种技能,并能利用多种技能独立完成产品的人。上有人提出了这个问题,其中一个高票回答是:全栈工程师是指,一个能处理数据库、服务器、系统工程和客户端的所有工作的工程师。根据项目的不同,客户需要的可能是移动栈、Web栈,或者原生应用程序栈。其实,“全栈”指的是为了完成一个项目,所需要的一系列技术的集合。“栈”是指一系列子模块的集合。这些软件子模块或者组件组合在一起即可实现。一个合格的全栈开发人员应具有在构建应用程序时涉及的所有方面的功能知识和能力。掌握多门编程语言你需要精通多门编程语言,JAVA 、PHP、C#、Python、Ruby、Perl 等,因为你的大多数核心业务处理都需要用这些语言来写。你既要掌握这些语言的语法,又需要非常熟悉如何基于这些语言进行项目的架构、设计、实现以及测试。GitHub-你必须掌握如何使用Git来管理和分享,运用开发框架和第三方库流行的开发语言,一般都伴有出色的开发框架,比如JAVA的Spring、MyBatis、Hibernate,Python的Django,PHP的 thinkphp、yin,nodeJs的 express 等等。前端技术前端技术在今天的项目和产品研发过程中变得愈加重要。除了实现产品功能,用户体验也是检验产品是否成功的标准之一。而这都依赖于前端技术的实现,你至少需要掌握 HTML5、CSS3、JavaScript 等基本前端技术,同时进一步学习 JQuery、LESS、SASS、AngularJS或REACT等前端框架或第三方库。数据库与缓存任何产品或项目都需要一个数据库来存储数据。作为全栈工程师,你也需要至少掌握一到两个数据库,并知道怎样与数据库进行交互。目前流行的数据库主要有MySQL、MongoDB、Redis、Oracle、SQLServer等。MongoDB作为文档型数据库,在互联网产品中正被越来越多地使用,对于规模稍大一些的项目,我仍推荐使用MySQL或商用的Oracle作为后端数据库。而Redis这样的内存数据库则可以用于缓存,以提升系统的性能。Redis 教程5)基本设计能力大部分关于全栈工程师的文章或讨论中都很少涉及到设计能力的要求。但我却认为这项技能非常重要,基本的原型设计,UI设计,UX设计都是需要了解的。希望能帮助你!请采纳,谢谢!!
优质工程师考试问答知识库