1.什么是全栈开发人员?
简而言之,全栈开发人员是一种掌握各种技能并使用这些技能独立完成产品的人。
全栈开发人员是一名工程师,可以处理数据库,服务器,系统工程和客户端的所有工作。根据项目,客户需要的可能是移动堆栈,Web堆栈或本机应用程序堆栈。
事实上,“全栈”是指完成项目所需的一系列技术的集合。“堆栈”指的是子模块的集合。这些软件子模块或组件结合在一起,实现既定功能,而无需其他模块。
2.为什么全栈开发人员受到争议?
如上所述,关于全栈开发人员的讨论实际上是关于技能深度和广度的争论。
优点:全栈开发人员参与了横向技术要求,因此他/她可以使用各种技术快速地为产品进行原型设计。凭借完全可堆叠性,它们具有更广泛的视角和更积极的思维模式。而且,他们对技术和产品更敏感。所以,这种人总能对产品或设计有自己的看法。
从另一方面来说,他/她可以为团队中的每个人提供帮助,并大大减少团队沟通,技术对接的时间和技术成本。他们中的许多人成为创业公司或创业公司的技术合作伙伴。
缺点:正是由于横向技术的发展,一些完整的堆栈开发人员无法成为一项技能专家。声称自己是“全栈开发者”的大多数人只对多种技能有所了解。至于如何使架构更适合模块化开发,这是一个问题。
如何成为一个全栈工程师?
合格的全栈工程师应具备构建应用程序所涉及的所有方面的功能知识和功能。
1)编程语言
你需要精通多种编程语言,例如JAVA,PHP,C#,Python,Ruby,Perl等。因为大多数核心业务流程都需要用这些语言编写。可能并非都需要。但您还必须掌握语言语法,并且非常熟悉如何基于一种或多种语言对项目进行结构,设计,实现和测试。例如,如果选择JAVA,那么您需要掌握面向对象的设计和开发,设计模式,基于J2EE的开发组件等。
2)使用开发框架和第三方库
流行的开发语言通常伴随着一个良好的开发框架,如JAVA Spring,MyBatis,Hibernate,Python Django,PHP thinkphp,yin,nodeJs express等。
3)前端技术
在当今的项目和产品开发中,前端技术变得越来越重要。除产品功能外,用户体验也是测试产品成功率的标准之一。所有这些都取决于前端技术的实现,需要掌握一些基本的前端技术,如HTML5,CSS3,JavaScript,并进一步研究前端框架或第三方库,如JQuery,LESS, SASS,AngularJS或REACT。
4)数据库和缓存
任何产品或项目都需要数据库来存储数据。作为一个完整的堆栈开发人员,您还需要至少有一个或两个数据库,并知道如何与数据库进行交互。目前,流行的数据库是MySQL,MongoDB,Redis,Oracle,SQLServer等。作为文档类型的数据库,MongoDB在Internet产品中得到了更广泛的应用。对于较大的项目,Ialso建议使用MySQL或商业Oracle作为后端数据库。而内存数据库(如Redis)可用于缓存以提高系统性能。
5)基本设计能力
关于完整堆栈开发人员的大多数文章或讨论很少与设计要求相关。但我认为设计技巧非常重要,基本原型设计,UI设计,UX设计的原理和技巧也需要了解。
6)自我要求也是成为完整堆栈开发人员的重要因素:
1.全球思维
2.良好的沟通技巧
3.创造力
4.好奇心
5.时间管理技巧
总之,全栈工程师绝不是一夜之间完成的。你需要做的是奠定技术基础,加强核心技能,并不断学习更多挑战。