关于我转职变成全栈这档事
本文根据演讲 PPT 口胡输出而成,如有雷同纯属巧合。
有很多前端工程师想要学习后端,甚至说是转而成为一个全栈工程师,在这次演讲前发放的问题调研中我也确实发现有好多同学想要学习后端,因此我们开始讲讲全栈这档事。
全栈的定义
全栈,顾名思义就是能够涵盖全部的技术栈,其实有很多种定义,大部分主流观点认为,全栈就是前端+后端,也有可能还要加上 devops,也就是全链路工程师。当然,也有一些人认为,全栈相对于前端来说,意味着前端(HTML+CSS+JavaScript)+移动端(Android + iOS)。因此,全栈才变成了颇富争议,让人嘲讽的一个设定。
当然我们这里说的全栈还是全链路的意思,毕竟我也不会移动端,而且大部分人还是把全栈看成前端+后端的。很多的前端也希望去学习后端,成为一名全栈工程师。
当然,我们要清楚,学习后端,和成为全栈之间还是有很长的一段路要走的,为什么在知乎或者 V2EX 很多人看不起全栈工程师,有一部分也是因为一些前端学了点后端,写过 CRUD 之后就称自己为「全栈工程师」了。
全栈的本质
那么,到底怎么样,我们能称自己为一个全栈工程师呢。首先我们要知道,学习,会写;和能写好,能以之为业差了很大的鸿沟,而全栈意味着「能通过自己的技能同时找到前端或者后端的工作」。当然,更为残酷的现实是,无论是拉勾还是 Boss 直聘,全栈都是后端工程师下的一种,也就是说,你可以前端菜如狗,但是后端一定要稳,否则在招聘平台来看,你并不是一个全栈工程师。——我们也可以以此为一个常规参考得出以下结论,全栈工程师就是:
- 依靠前后端都能恰饭
- 后端分类下的一种
当然实际上能写代码解决的问题都不是大问题,全栈工程师并没有什么了不起的。
成为全栈的优点
说了这么多仿佛在劝退,那还是回到鼓励的部分,成为全栈工程师对于我们来说到底有什么价值,全栈工程师到底有什么优点。
首先是全局视野,你可以站在前端的角度去考虑后端应该怎么做比较好;也可以站在后端的角度去思考前端复杂的需求应该由前端去实现好还是后端实现好。
和其他前端或者后端沟通交流的时候也更加方便,这是很多人想要成为全栈工程师的主要诉求,实际上在工作中这样的视野也给我们带来了很大的帮助。
当然,如果有机会,你甚至可以一个人 handle 住一个完整的项目,前后端都由自己来处理,不用与外部沟通实际上是一件非常爽的事情。
当然,这里有个弊端,如果一知半解的全栈工程师,对于合作方还是自己开发来说都是灾难性的,没有什么比不懂装懂更可怕了。
成为全栈的缺点
但是,成为全栈工程师也不是完全都是好处的。很明显的短板是,因为你的时间是有限的,精力是有限的,所以当你选择了广度的时候,自然就没有时间发展深度,这会成为在找工作的时候的一个缺点,同时,全栈工程师的花式后端要求,全栈工程师的招聘公司比较少,都是在就业中比较吃亏的选项。
更惨的是,你很有可能变成了公司内一个「很好用的部件」,哪里缺人点哪里,忙的根本停不下来——拿一份工资,打两份工;如果一个项目的前后端都是自己写的话,那就更惨了,假设出了锅,连锅都甩不掉了。
要学什么与怎么学
成为后端工程师时,你可能需要了解一些微服务的相关知识,数据库当然也是必须的,HTTP 和 RPC 相关也可以了解一下,当然后端语言也是必须的。但以上其实都可以在工作中现学,因为我以前讲过知识迁移,工程师多项发展的优势。根据文中所说的做法,学习起来并没有太大的障碍,唯一要注意的就是,先把原有的知识掌握牢固,才能灵活的使用这一项技能。
总结
总之我想说的还是,学习不等于以之为业,成为全栈的时候,就要做好一些对于职业影响的打算再作考虑。
最后……拖稿严重,又隔了几个礼拜……
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。
嗷嗷嗷嗷嗷嗷
这就是大佬的画马教程吗?
hi ~ 大佬你好,我是掘金运营同学,你是掘金Lv3 优秀创作者,我们想了解一下你对掘金的期望和建议,可否加一下微信呢??(wechat: happyzoe0910)