重新定义全栈

2,298 阅读6分钟

在北京不像夏天的五月,我在 wecatch 连发文章讲述了我一个后端程序员的前端之路,链接在文末。回顾前端之路的变化,与其说这是因为创业而被逼的偶然,不如说这是程序人生一种必然。反思这种面对问题不得不做出选择和行动的无奈,让我不得不重新思考全栈的真正内涵。

全栈不是 JavaScript 通吃

自 nodejs 问世以来,全栈才真正开始风靡,因为只懂一门 JavaScript 就可以做到前后端通吃,很多 JavaScript 程序员都自称是全栈,而且其中相当一部分只会 JavaScript,这样的全栈路很窄。

全栈不是只拥有后端和前端技能

如果前端是一座城池,后端就是一个泱泱大国,很久之前前端还有 flash、siverlight 之流,现在 html5 和 JavaScript 已经是事实上的浏览器霸主。与前端截然不同,后端有仅仅是语言就囊括了太多选择:java、python、php、c#、ruby、go、erlang、scalar 等等,如果只会一个 ruby + JavaScript,或者 python + JavaScript,又或者 java + python + JavaScript ,这样的全栈技能明显丰富了,但是全栈绝不仅仅如此。

全栈不是要后端、前端、客户端全杀

后端、前端、客户端(IOS 或 Android 任意一端)都做,而且做得都专业的程序员非常少,这样的程序员具备全栈的能力,如果愿意,他也一样能把其他技能迅速学会,其他领域的事情快速搞定,但是全栈并不是要把后端、前端、客户端一起都做了才能是全栈。

全栈是什么?全栈是一种能力。

全栈具有向上的态度

有多少程序员认为写程序这件事情吃得就是青春饭,一旦年轻不在,写代码的激情随着工作的不断重复以及越来越大的生活压力渐渐消失,取而代之的只是得过且过地混日子。怎么才算混呢?如果你现在做的事情和两年前做的事情没有任何区别...

刘瑜在的《送你一颗子弹》中写道:一个人就像一支队伍,对着自己的头脑和心灵招兵买马,不气馁,有召唤,爱自由。

程序员就应该有这样的心力,可以动,可以静,能面对复杂的算法沉吟,也能面对简单的结构轻叹,有处理万千数据的能力,也有写出优美界面的功夫。

可下五洋捉鳖,可上九天揽月,程序员应该就像孙猴子,追求的永远应该是更快的算法、更优的结构、更美的交互。

技术千变万化,全栈需要这种向上的力量。

全栈要有快速入门的能力

以计算机技术为职业,某种程度上是很累的。这个行业最大的特点就是快速变化,新技术层出不穷,应接不暇,想要快速适应市场需求,程序员就必须随时准备扩充自己的技能。

2013~2015 创业热潮催生了很多懂前后端的程序员,而云计算的需求又让懂 go 和 python 的程序员逐渐多起来,小团队很容易诞生全能型程序员,github 不但带来了全新的协作方式,也为程序员技能的快速提提供了足够的知识储备。

想学的和必要学的是如此之多,该怎么办?快速入门

快速入门能帮助程序员迅速鉴别新技术的适用场景和使用范围,并投入实际生产应用。有了快速入门的能力,面对技术的日益更新才能有恃无恐,全栈就需要这样的能力,任何技术都可以快速掌握必要的知识并让其发挥作用。

快速入门不是一开始就需要全面掌握,而是只掌握了最小最必要的知识就能够投入使用。

全栈需要很强的学习力

快速入门只是一个开始, 如何才能完全掌握一门技能或者语言,让其为己所用,是全栈必须要具有的能力,这就需要全栈必备很强的学习力。

强大的学习力意味着全栈能够理清一门技能的核心脉络和细枝末节,知道有的放矢的学习而不是全盘接受,懂得如何针对自己的实际使用情况进行深入研究和投入,并且能够及时反馈和调整学习的步伐。

全栈能够实现强烈的自我驱动

不会等领导告诉来告知该怎么办,不会等事情发生了才去想怎么办,全栈有强烈的自我驱动和自我管理,知道要主动出击预判问题并追寻解决之道,而不是被动地等待问题的发生。

不妥协,不将就,外界的环境和条件只是推波助澜的作用,全栈有着原生的动力。

如果你还是一个靠别人鞭策或者条件刺激才能行动的人,全栈不是你的菜。

全栈不对自己的能力设限

现在写前端并不意味不能写后端,写 java 并不意味着不能写 go,写后端并不意味不能写 Android 或 IOS,全栈不会对自己应该是什么设限,公司出于需要设立了前后端的岗,并不意味着全栈一定要用自己的能力去迎合这样的制约,全栈是自由的,全栈能够根据自己的兴趣,自己的需要在各个领域自由游弋。

不设限,全栈才能会有机会去开拓自己的技术视野,学习更多的技能,在这个变化多端的市场中树立自己的竞争力。

成为全栈很难,但不是不可能,程序员不同于医生、建筑师这些依靠经验积累会越来越吃香的职业,本身的可替代性比较强,如果不能树立自己的独特竞争力,在残酷的市场竞争中将会逐渐被淘汰,所以要想成为不可替代的全栈,首要的是转变自己的认知,意识到全栈对自己的真正意义,主动出击,果断行动,尽快踏上真正的全栈之路。

预告

下篇一起探讨如何快速入门一门语言。

本文首发于 wecatch 公众号,欢迎关注,获取最新文章信息