全栈真的只需要掌握一门前端和一门后端吗?

发表时间: 2017-04-08 00:20

↑点击“谢大炮的技术烹饪手册”头像,获取更多技术猛料! “要先关注哦,不然以后找不到”

目前全栈工程师的概念火遍全球,不过大家对全栈工程师都有自己的定义。有人觉得全栈等于前端web+后端服务器,也有人认为全栈应该是前端(web,ios,安卓)+后端(java,sql)+ DevOps(Shell, Linux, Jenkins, CI)等等。然而各有各的说法,没有统一的论述。

就有网友在网上发出这样的疑惑:

随着 facebook 整出全栈这个词儿,发现最近好多人会一门前端+一门后端就可以说自己是全栈;所以向问问大家对全栈是怎么定义的?

都说程序员圈堪比娱乐圈,一天一花样,一天一概念。此问题一下子钓出大批潜水党。

atnopc

全栈是什么,从业快十年了我的简历和介绍里从来都没用过精通这类词


loading

只有“全干”。


crysislinux

能把公司某个主要业务的技术栈都搞通就算啊。


AlisaDestiny

百度百科:

全栈工程师,也叫全端工程师(同时具备前端和后台能力),英文 Full Stack developer 。是指掌握多种技能,并能利用多种技能独立完成产品的人。


BoiledEgg

小公司打杂的都这么干,写前端,写后端,设计数据库,部署,运维。

嗯,全栈。


wyntergreg

架构师的逼型产物


freeminder

爱叫什么叫什么,你爱叫自己什么就叫自己什么,无非一个定位。我之前就偶然看到一个文章里面写一类人是团队里面的“ go to guy ”,就觉得很犀利。然后我就觉得我在工作前 3 年能成为这样的一个人就好了。我不是前端,也不是后端,也不是全栈。我就希望自己是“ go to guy ”,我就希望自己是问题解决者(problem solver)。


chuanqirenwu

产品经理+视觉设计师+交互设计师+开发经理+项目经理+开发工程师+前端开发工程师+数据库工程师+数据分析师+服务器运维+产品运营等产品一条龙。


sagaxu

我这样算不算全栈?服务端比较熟悉,前端和运维只能说会用一点。

主力语言是 Java/Kotlin/PHP 和 Python/Go ,大部分时间写服务端,从 OS 底层到数据库都很熟悉。

管理后台只要能用就行,所以也会顺便写点业余的 html 和 js ,不可能找个前端一起做的,

CSS 我只会套 bootstrap 的几个类,要我自己写是完全不会。为了解决 js 语法丑陋,我学了 CoffeeScript ,

为了双向绑定,我又学了 vuejs ,常见的 js 库基本上也都会用。

我项目只有不到 10 台机器,所以运维和部署的工作,也会顺便做点,虽然也比较业余,

我会用 fabric 写点自动化运维脚本,也能弄点简易的监控和集群。

以前在小公司做的时候,有很多项目是我从零开始,前后端都是我搭,有疑难杂症也是我解决的。


jarlyyn

装机+剪网线整路由+装各式系统(win/linux)+搞定各大云服务器+N 个公司内网服务器+
mysql/ldap/redis/postgresql/iis/nginx/apache/samba/gitlab/iptables 配置+3 套语言后台+N 个前端插件+N 个内部系统开发+经常和客户会议+面试招聘+偶尔进行遣散活动

这不叫全栈,这 tm 叫苦逼……


ss0xt

小心栈溢出。。。


SakuraKuma

从开发到部署到运维到辞职。


jun4rui

上次看到一个三线城市招收全栈的要求,要会多种后端语言+前端牛逼+云架构。唉哟哟,这么写对得起你们开出的 4k 工资吗?


MengiNo

我觉得全栈是“全沾”本来就是合理的。

一能在需要的时候独当一面 单独完成某个任务;

二能在出现问题的时候 能解决或者提供思路促进解决;

三能协调各种职位工作提高效率。

看起来好像这三样很厉害超牛逼 但是其实很泛 完成功能大功能小功能? 解决问题 大问题小问题? 还是得结合业务实际。

大公司容易培养出专家,小公司就容易出这种人 特别是小公司创业公司的技术负责人 从接网线到上线全得干 一边负责整体布局 一边还得帮下面处理篓子。


Lpl

当个喷子,嘲讽两句。

往往技术越不行,或者性格越偏执越容易纠结这些事。全“栈”工程师又名全干工程师。

小公司 JD 上写着招全栈工程师,其实就是要你做需求分析、数据库设计、写前端后端,从需求到发布整个过程走一遍。总不能 JD 上写着“招 前端+后端工程师”吧。

小公司有小公司的玩法,大公司有大公司的玩法,大公司不可能让你一个写接口的去给他们搞运维去。

回到题目,看别人说的:从计算机网络及安全、计算机硬件、操作系统及组成原理,到底层语言,再到上层高级语言都能搞的比较明白的人。

这种说法也是 too naive !程序员这方面发展有两种:广度和深度。上边的说法就是广度 + 深度。当然,非术业内的也需要了解基本原理。

再比如说,我生活中没见过谁自称自己是全栈工程师的。简历上可能会写,但是大家看到笑笑知道这个人以前在公司都做啥的就行了,没那么多纠结的。


8023

我是个计算机专业的艺术特长生, 跟一个微型公司关系不错, 经常帮他们做一些奇奇怪怪的事情:

一开始是他们公司是学校采购商, 当时兴什么创客, 代理买了个什么导电膜水, 让我画个画, 好我画. 还有什么触摸钢琴没人会弹好我弹.

几乎同时, 学校购买了一堆 Arduino 的东西, 让他们提供技术支持, 写个简单的 Arduino 程序什么的, 我就帮他们写了.

然后他们发现很多"开源硬件"很好赚钱, 就问我会不会做电路, 于是我就帮他们 Layout PCB, 做各式各样的模块, 写各式各样的库.

3D 打印技术兴起, 修了不知道多少个 3D 打印机之后可以自己设计制作 3D 打印机(还会简单的建模)了...

之后发现想法很多, 想做一些市面上没有的电子制作, Arduino 不方便做成商品, 我又给他们搞 AVR/Microchip 单片机和模拟 /数字电路.

再以后, 他们的一个硬件需要 App 控制, 我就用 Qt 写了
Windows/Mac/IOS/Android/Ubuntu 客户端...

没过两天, 他们又要与服务器通讯, 推送数据什么的, 然后我就用 Apache+php+mariaDB 捣鼓了个数据库...

之后就说有了服务器为啥不弄个官方网站呢? 于是就拿 WordPress 扒了个皮仿了个站...

再之后网站改啊改, 无意间发现了前后端通吃的 js, 本来脑子就不够使的我抛弃了 php, 正在用 nodejs 重写了.

期间还不断穿插: P 图(GIMP), 写 bash(WSL 批处理), python(刷票, 爬数据), excel(报表宏), 写众筹文案, 运维(网站 /应用数据 /NAS/梯子 /svn/VPN), 微信公众号, 淘宝, 甚至修手机电脑(元件级)之类的...

如果网页前 /后端+运维就算全栈, 我 TM 算个啥...

Q: "你说了这么多, 全栈到底是个啥?"

A: "样样都会,样样不精."