阅读 3789

“全栈”与“前端” Fuck all Ducks

“全栈”这个词这几天彻彻底底登上了风口浪尖,这个词从来没像现在这样“黑”过,程序员群体人人自危,闭口不敢提及自己曾经引以为傲的“全栈”属性。因本文作者近期在知乎Live新开了一个全栈的话题,感觉是时候站出来说点什么了,免得没人敢上车。

长长的前言

笑来老师向来擅长鸡汤,这大家都习以为常了,但从来没有想到过他会把鸡汤这把火烧到一个如此小众的领域,6W2个月,全栈速成班,真可谓是一石激起千层浪。程序员这个群体看起来也不那么“感恩”,教育本是一件大德,却被你们这样骂来骂去,多有伤风化,不过就像有的人说的一样:我有6W,我还做毛程序员啊,听起来也确有道理,其中奥妙,真是难以言说。

我一直不敢称自己为全栈,虽然对多个领域都有涉及,但是全栈这个词实在是过于含糊不清了,你到底是怎么个全栈,好难描述清楚哦~~很多人只是会两门语言,就觉得是全栈了,有人说要会三门,哦,还有人会10门,那算不算全栈呢?然后,“会”这个词到底是如何衡量呢?在程序员的世界里,这可是很重要的事情,一定要把这个事情搞清楚啊,要不,他都是全栈了,我算不算全栈呢,要么“是”,要么“不是”。如果大家都“是”了,我还“不是”,那就很掉价了。

还有个很好玩的现象,诸如说 Node 界的知名网红“老雷”吧,他说自己只会写 Nodejs,可是总是有人以为他是全栈!这特么就奇怪了,这是为什么!这个世界肿么了?我自己都不敢说我是全栈,别人非要给我安个全栈的标签!老雷说:也许只是因为我太屌了,所以大家总以为我是全栈吧,不过问个问题,会切图的服务端算全栈么?

好了,回到今天的标题。

为什么标题要写《全栈》和《前端》呢?隐约中,感觉“全栈”这个名词就是一个前端发明的。现在提及全栈,脑子里第一个浮现的形容词是“一个会后端的前端”,别告诉我你不是这样想的。前端近几年在争取自己势力范围这件事情上的确做了很多努力,诸如 Nodejs,React Native 这种技术层出不穷,每个类似的技术的诞生都会引起业界的一阵狂欢(zihai),于是一些同学,就感觉 js 可以统治一切了,虽然还没有改变世界,但是隐约间感觉自己已经套上了“全栈”的头衔。

wait!为什么听起来隐约是在贬低我大前端!

开个玩笑啦。写这篇文章其实主要是跟大家探讨几个问题:

1. 什么算全栈?

我觉得给全栈一个严格的定义并不简单,所以也没有必要去解决这个问题了,另外也不必急着给自己冠“全栈”之名,一个人,到底真枪实料掌握了多少技能,不是一个头衔能够决定的,而是看在真实生活中,你利用这些技能做出了什么事情发挥了多少价值。所以,从这个角度来说,一个“真正”的全栈,应该真正扎实的掌握多门技能,并且能够将其应用至真实场景中解决问题。

全栈的目标,不应该是以掌握了多少语言为基准,就拿前后端全栈来说,一个开发者,可以用 jQuery 写前端页面,也可以用 Express 写后端的 Nodejs,那就能算全栈了吗?也许算吧,但是你最好不要去跟别人强调这个事情。毕竟 jQuery 只是一堆方法集合,查查文档就能写的东西,而 Express 只是一个基础的 web 服务低级框架,远没有达到服务端开发整个领域的重点。

我觉得一个标准的全栈,一定要对每个方向有深入的研究和实践经验,在前端方面,上可切图,下可熟练掌握各种mvvm和周边技术栈,做的了技术方案,玩得转通用组件;在后端方面,前可写的了Restful,后可设计健壮的数据库方案,hold的了大型项目逻辑关系,搞的定大型分布式服务。当然还远不止这些,每个领域需要探索的都还有很多,所以,千万不要跟别人说你会几门语言,那都是小儿科,每门语言你都不如别人精通,那也没什么值得自豪的。

2. 全栈的分类

我觉得全栈大体可以分分类:

  • 前后端全栈,前端,服务端跨界能手。
  • 前端客户端全栈,一般叫做“跨端”小能手,至少掌握前端和客户端一门技术的开发。
  • 三端全栈,前后端客户端全栈,一个人可以撑起一家市值百亿的公司的开发。
  • 一个人可以做出一家市值百亿的公司的全栈,从市场/运营/营销/产品/设计/前端/客户端/服务端/运维/CEO兼任所有CXO的角色。我一直觉得我就是这种人才,可是从来不敢跟你们说,怕被你们喷死。

请自我对号入座,如果你恰好跟我一样是最后一种,请保持低调,不要让人知道你是一位大隐隐于世的高人。

3. 一些关于全栈的告诫

  • 切勿贪多冒进。
  • 切勿浅尝辄止。
  • 切勿守着 JS 语言本身不放,虽然 JS * 语言有很多跨端的同构了,但是一定要对各个端的理念深入了解才能做好全栈!
    全栈并不比单栈开发高明很多,所以切勿随便选择这条道路,先做精再做广,多端可以在你遇到瓶颈的时候给你多一个选择,但是切勿觉得全栈就是最牛逼的非要走这条路不可,我招人的时候还会特意标注:不要全栈,其实也不是说我真的不喜欢全栈,而是我希望给年轻人指一条明路,认清事实,不要盲从。

如果你读到这里还没离开,看来是一个可塑之才,上车吧少年:小芋头君 的 Live -- 全栈工程师养成指南

关注下面的标签,发现更多相似文章
评论