很多人都有个误区:觉得只要啥活都干,就是全栈工程师了。有人觉得,前端页面改两下、后端接口调一调、服务器重启一下、数据库查个数据,每天忙得脚不沾地,团队里所有杂活都包了,自己就是“全栈大神”;也有人自嘲,自己不是全栈,就是个“全干”——哪里缺人往哪凑,啥活都接,啥都不精通。
“全干”和“全栈”,看着都是“啥都做”,本质上完全不是一回事:全干就是别人让你干啥你干啥,被动接活;全栈是自己能主导,主动掌控;全干是啥都会点,但啥都不精;全栈是有一门最拿手的,其他的也都懂,能搞定;全干是没办法,为了谋生才啥都干;全栈是真有本事,主动提升自己的能力。
一、啥是“全干”?啥是“全栈”?
1. 全干:哪里缺人补哪里,就是个“万能补丁”
“全干”最核心的就是,别人让你干啥你就干啥,没有固定的活,本质就是“打杂”——团队里没人做的活,你上;别人搞不定的杂活,你接;前端没人,你就去做前端;后端没人,你就去补后端;运维忙不过来,你就去重启服务器,甚至有时候还要帮着画产品原型、测试找bug、对接客户。
就比如小公司里的技术,老板说“这个页面改个颜色”,你就得去调代码;“接口报错了”,你就得去查后端;“服务器卡了”,你就得去弄服务器;甚至“客户问这个功能怎么用”,你还得去当客服。一天忙下来,晕头转向,接触的东西挺多,但没有一样是钻得深的。
全干的特点,一眼就能看出来:
-
活又杂又乱,没有固定的重点,大多时候都是到处“救火”,哪里出问题往哪里跑;
-
每个领域都只懂点皮毛,简单的活能搞定,复杂的问题就抓瞎(比如前端能写个简单页面,但想让页面变快就不会了;后端能写个简单接口,但想让系统扛住很多人访问就不行了);
-
都是别人安排啥就做啥,自己不会主动去设计项目、掌控进度,说白了就是个“干活的工具人”;
-
不知道自己该往哪发展,越干越杂,到最后啥都懂一点,啥都不精通,没什么拿得出手的本事,找工作、涨工资都没优势。
举个实实在在的例子:小公司里有个技术,每天又要写前端页面,又要写后端接口,还要管服务器、备份数据库,偶尔还要帮设计画图、帮产品写需求。他确实啥都干了,但你问他“怎么让前端页面加载更快”“怎么让后端能扛住很多人同时访问”,他就说不明白了——这就是典型的“全干”,根本不是全栈。
2. 全栈:能搞定整个项目,是“掌控全局”的高手
全栈最核心的就是,自己能主导,先把一门技术学精,再打通前端、后端、数据库、服务器这些所有环节,能一个人从头到尾搞定整个项目。全栈工程师不是“啥活都干”,而是“啥活都能搞定”,有自己最拿手的本事,其他环节也都懂,能把整个项目从头到尾落地。
比如一个全栈工程师,最拿手的是前端,但他也能自己写后端接口、设计数据库、部署服务器、解决线上问题;他不用每天包揽所有杂活,但项目需要的时候,他能快速补位,还能从整体出发,把项目做得更好,而不是只机械地完成自己的那点活。
全栈的特点,也很明显:
-
有一门最精通的技术(比如前端、后端),在这方面是高手,能解决各种复杂问题;
-
懂所有环节的技术,能一个人完成从理解需求、设计方案,到开发、部署、维护的整个过程;
-
有全局思维,能站在整个项目的角度,协调好各个环节,让项目更流畅、更稳定;
-
知道自己该往哪发展,从一个领域的高手,变成能掌控整个项目的人,本事越来越硬,职业发展的空间也更大。
这里要提醒一句:全栈不是“啥都能做到最好”,也不是“万能的”,而是“一门精,其他通”。真正的全栈工程师,不会追求每个领域都做到顶尖,而是能把各个环节打通,让项目顺利落地——比如后端全栈,最精通后端,同时懂点前端、会优化数据库、能部署服务器,足够搞定整个项目就够了。
二、一张表看明白核心区别
| 对比的方面 | 全干 | 全栈 |
|---|---|---|
| 核心本事 | 别人让干啥就干啥,啥都能做一点,啥都不精 | 自己能主导,一门技术精通,其他环节也都懂 |
| 干活方式 | 到处救火、打杂,没有固定重点 | 有规划、能设计,聚焦整个项目 |
| 解决问题的能力 | 只能解决简单、表面的问题 | 能解决复杂、核心的问题,还能优化整个项目 |
| 未来发展 | 不知道往哪走,越干越杂,没什么核心本事 | 方向明确,本事越来越硬,职业上限更高 |