什么是全栈开发人员?
完整堆栈开发人员是指熟悉并熟悉计算机软件开发中的所有层的人。这些开发人员具有功能性知识和能力,可以将一个概念转化为最终产品。他们从上到下了解一切是如何运作的,并能相应地预测出问题。
虽然每个“端”(前端和后端)都涉及到大量的信息,但一个完整的堆栈开发人员可以轻松地使用数据库和浏览器。他们可以使用数据库,PHP, HTML, CSS, JavaScript和一切之间的东西。
一个完整的堆栈开发人员做什么?
Web开发专门化的存在是有原因的,而全栈开发人员的想法并不是要成为所有可能技术的专家。它更多的是关于一个熟悉和理解每一层的人,以及对所有软件技术真正感兴趣的人。这还涉及到能够与团队成员进行明智的沟通,并在情况需要时成为一笔有用的资产。个人互动和沟通能力是管理和工作所必需的前端开发人员和后端开发人员。
完整的堆栈开发人员了解web开发过程的每个部分是如何发生的,并可以指导策略和最佳实践。这些开发人员将在未来的web开发中扮演越来越重要的角色,并且能够看到“大局”。他们熟悉服务器端和客户端用户体验。
一个完整的栈开发人员拥有软件开发的所有阶段的知识,如果不是很流利,也应该精通:
- 服务器、网络和托管环境-这涉及到理解什么会破裂以及为什么会破裂;合理使用文件系统、云存储和网络资源;已知硬件约束条件下的应用规模;与DevOps并肩工作
- 数据建模-这需要知道如何创建一个合理的规范化关系模型,包括外键、索引、视图、查找表等;熟悉非关系数据存储的概念,并理解它们在哪些方面优于关系数据存储
- 业务逻辑-具备扎实的面向对象的技能
- API层/ Action层/ MVC-了解外部世界如何根据业务逻辑和数据模型运作;使用框架;能够编写清晰、一致和简单易用的接口
- 用户界面-了解如何创建一个可读的布局;能够认识到艺术家的帮助需求平面设计师实施良好的视觉设计;使用HTML5 / CSS;使用JavaScript (node, backbone, knockout…)
- 用户体验-可以后退一步查看需要7次点击和4个步骤的过程,并将其降至1次点击;写有用的错误信息
- 客户和业务需求-了解客户使用软件时发生的情况;掌握业务
要达到这个资格级别,显然需要多年在不同语言、不同角色和不同行业的工作经验。正因为如此,全栈开发人员少之又少,这使得他们非常适合受雇和受欢迎。
全栈开发人员的工作环境是什么样的?
一个完整的堆栈开发人员可以在办公室环境中全职或兼职工作,也可以选择在家进行业务。如果选择自由职业,可能需要旅行。一些全栈开发人员将他们的技能自由地分配给不同的组织,而另一些人则选择通过使用他们的专业知识来将他们的技能外包给组织咨询顾问或独立承包人。
常见问题
全栈开发人员使用哪些语言?
全栈开发人员必须使用各种各样的编程语言来实现他们的目标;这些语言可以分为前端语言和后端语言。
前端语言用于呈现内容,并且越来越多地用于处理与程序的交互。这些语言包括HTML(用于构建网页)、CSS(用于样式化HTML网页)和Javascript(用于为HTML页面添加交互性)。
后端语言通常用于存储和操作数据,管理用户权限,以及执行程序所需的所有复杂计算。有各种各样的语言可以被归类为后端,包括:Ruby、Python、PHP、Java、Go和Swift。
虽然仅仅使用这些语言就可以创建复杂而强大的程序,但大多数开发人员都依赖于向他们所选择的语言添加额外特性的库。这些Javascript库的例子包括jQuery、React和Angular。在后端,Ruby On Rails、Django和Laravel库允许使用Ruby、Python或PHP语言轻松创建网站。这些库中有许多功能非常丰富和强大,需要大量的时间才能自己掌握它们。
除了熟悉前端和后端语言之外,全栈开发人员还应该了解与他们的程序一起运行的技术。这包括对SQL数据库语言和HTTP通信协议的粗略理解。
一开始,全栈开发人员的需求可能会让人望而生畏,但重要的是要记住,这是一个“万事通,样样精通”的职业。一个全栈开发人员会发现自己每天都在使用多种语言,但是他们通常也会发现自己与对所选技术有更深入理解的专用前端或后端开发人员一起工作。
在过去的几年中,一项新技术提高了全栈开发人员的能力。Javascript——长期以来被认为是一种前端语言——现在也被用于后台应用程序。这一改变使得全栈和前端开发人员可以将精力集中在更小的语言集合上,对Javascript的深入理解变得越来越重要。
全栈开发人员如何跟上时代的步伐?
技术行业的发展速度很快,全栈开发人员使用的技术范围很广,这意味着他们将需要持续的培训。
跟上时代的第一步是了解哪些新技术和框架正在流行起来。最好的方法是关注在线技术博客和社区,比如黑客新闻或堆栈溢出。Github——最受欢迎的开放源代码主机——发布了一个列表很有前途的项目。
一旦你知道要关注什么,下一步就是找到好的学习资源。网上有丰富的语言和图书馆信息,其中大多数都有资源和入门指南在他们的网站上。Youtube越来越成为一个很好的教程来源,大多数技术会议都会上传他们的演讲,有时甚至会在网站上直播。
最可靠的培训来源将来自在线mooc——大规模在线开放课程。这些课程模仿了传统的大学课程,在某些情况下甚至可以获得毕业证书。生产高质量技术mooc的公司的例子包括树屋和大会。
全栈开发人员也被称为:
全栈软件工程师完整的堆栈工程师全栈Web开发人员完整的堆栈编码器