全栈开发人员必须掌握很多东西:网站、应用程序或服务的前端(即最终用户看到的内容)、后端(支持软件的库和框架)和数据库。
这意味着一个成功的全栈开发人员必须拥有广泛的技术和“软”技能,因为他们不仅要构建软件,还要管理其他参与其创建的利益相关者。
考虑到所有这些复杂性,探索真正成为一名全栈开发人员需要做些什么是值得的。我们开始吧!
什么是全栈开发人员?
尽管开发人员可以处理前端、后端和数据库的不同方面,但在许多企业中,他们要处理所有三个方面。这其中有不同的原因,包括是否有足够的预算为不同的方面聘请不同的开发者。但在许多情况下,这只是一种选择:拥有强大技能的开发人员能够在所有三个层次上工作,如果他们拥有交付所需的资源、时间和背景,则使其具有成本效益。由于整个应用程序被称为全栈应用程序,因此从事此类工作的开发人员被称为全栈开发人员。
全栈开发人员需要哪些技能?
全栈开发人员需要编写可靠后端代码的技能,包括:
- 编程语言:如Java或c#或JavaScript。
- 支持该语言的工具:包括Visual Studio Code或Visual Studio。
- 数据库知识:你需要了解一个关系数据库,通常是MySQL或SQL Server,以及它们的相关工具,MySQL Workbench和SQL Server Management Studio。
你的前端技能包括:
- HTML和CSS:这两种语言定义了网站的视觉效果。
- JavaScript和TypeScript:所有浏览器都知道JavaScript编程语言,你将在其中编写浏览器中运行的前端代码。然而,JavaScript是一种有点混乱的语言,所以现在大多数前端工作都是用一种叫做TypeScript的语言完成的,它被转换成JavaScript。学习TypeScript可以让你编码,学习JavaScript可以让你在浏览器中调试你的应用。
然后你需要使用其他工具来完善你的技能,例如:
Git / GitHub。Git是一个帮助跟踪代码变更和管理整体代码集的工具。GitHub是一个托管Git的网站,允许你与团队成员一起工作,无论是在同一办公室还是远程。
部署和CI/CD技能。你可能不是进行部署的人,但是你至少需要了解一些用于执行所谓的“持续集成,持续开发”的工具。这些工具通常由开发工程师处理,然而,在较小的商店中,全栈开发人员可能最终也不得不处理这一部分。
全栈开发人员的职业路径是什么?
职业道路的第一步是你第一次学习上述技能的学习阶段。然后,你将准备好获得初级开发人员的第一份工作。
初级全栈开发人员(有时称为助理开发人员):这是入门级职位。为了获得初级职位的第一份工作,你需要在上述技能上大出风头,并在面试中取得好成绩。第一份工作是学习和指导经验比你丰富的人的关键时期。保持开放的心态,准备好尽可能多地学习。虽然你的目标是从事全栈开发,但你可能会被安排在前端或后端工作。抓住这个机会,掌握分配给你的技能,这样你也能掌握这项技能。
在此期间,你可能还会发现你更喜欢前端或后端。这并没有错。你可能希望调整你的职业目标,成为后端开发人员或前端开发人员。
- 中级全栈开发人员:这时你需要将后端和前端技能以及数据库技能结合起来。这是你需要编写最多代码并使用全栈技能的地方。你还将指导初级开发人员,这意味着要练习耐心,并能够很好地解释事情。在单个项目中,你可能仍然只需要前端或后端工作。但是,作为全栈开发人员,你可以轻松地完成这两种操作。
- 高级全栈开发人员:到目前为止,你已经在行业中工作了五年或更长时间,并且在一定程度上掌握了前端、后端,可能还掌握了数据库。在更大的企业中,在高级级别,你可能成为团队领导,做更少的编码和更多的指导和架构规划。你甚至可能被赋予管理职责(这就是为什么有些开发人员更喜欢留在中层)。
在较小的企业中,你可能仍然需要编写大量代码。你还将参与更多关于使用什么工具和技术以及如何将它们组合在一起的决策。如果公司启动了一个新项目,你可能是那个帮助领导它的人,与产品负责人和项目经理一起工作。你可能会参与与CTO和其他涉众的会议,以帮助确定项目的方向。
- 全栈开发顾问:这并不适合所有人,虽然你可以从中赚很多钱,但也有一些风险。可能会有干旱期,你将不得不依靠储蓄生活。你还需要非常擅长销售和市场营销,这样你才能找到客户。你很可能是自己的公司老板,这意味着你必须去找医疗保险,你必须留出税款。这就是为什么这并不适合所有人,但如果做得好,它可以带来很高的回报。
如何知道全栈开发是否适合你?
全栈开发人员的职业生涯并不适合所有人。一些开发人员对网站的视觉方面(UI)和用户体验(UX)有敏锐的眼光,并且很自然地倾向于前端开发。这些人可能会发现,他们真的不关心后端和数据库开发。或者他们可能会发现他们真的没有很好的UI/UX眼光,喜欢编写与数据库一起工作的后端代码。
这个决定通常发生在训练过程中。在学习前端、后端和数据库时,请注意你是否更喜欢其中一个领域。但即使在训练阶段,你可能仍然不知道。正如前面提到的,在初级职位上,你可能会有更清晰的认识,并设定不同的路线。
然而,在上述所有方面,开发人员都喜欢编码,他们喜欢解决问题,他们喜欢构建东西。这是决定开发职业是否适合你的三个最重要的事情,包括全栈开发。
你需要学位吗?
如今,可能不会了。曾经有一段时间,获得开发人员职位至少需要学士学位。但是时代变了,你可以通过其他方式学习发展,包括在线课程和训练营。但如果你想自学,一定要参加在线社区和聚会,你会想从已经在这个领域工作的人那里学到尽可能多的东西。
如果你决定攻读学位,一定要仔细审查学校。计算机科学学位花了很多时间在算法和数据结构上,这些很重要,但只占职业生涯的一小部分。确保学校提供的课程清楚地教授后端和前端技能以及web开发。
全栈开发人员的薪水是多少?
根据Dice最近的技术薪酬报告,全栈开发者的平均薪酬为116,856美元。记住,不同的地区根据生活成本支付不同的费用。初级开发者的收入可能会更少,但他们还有很大的发展空间,可以远远超过这个数字。
作者:Jeff Cogswell