1. 聚能聊>
  2. 话题详情

所谓的“全栈工程师”的未来和价值到底体现在哪儿?

bafuneff

和业界主流的前端团队相比,天猫的前端工程领域从15年开始慢慢从以PC Web/Mobile Web工作对象thw延伸到了Native端、服务层.

尤其是16年的双11,很多跨体系的技术方案都是由前端工程师推进,那么,当处于这种环境下,每个人可能需要掌握的技能面越来越宽,深度要求越来越高,是否合理且值得?

全栈是一个正确的选择和方向吗?
我们怎么看待它的发展和怎么评判其价值?

参与话题

奖品区域 活动规则 已 结束

120个回答

10

世幽谷 复制链接去分享

我觉得全栈工程师是不给自己设置界限,而是所需要的知识都进行系统化深入化的学习,将每一项业务的整个流程所涉及到的知识都掌握,而不是说我必须会android、iso等各种端的开发技术,我记得我看过一本书上面说全栈工程师是掌握一个技术栈,比如掌握J2EE技术栈的人就掌握J2EE所涉及到的技术,不局限于服务端软件开发还要掌握相应的前端技术开发,以便更好地与其他层次上的开发人员进行配合与有效沟通,这在我参加培训的机构也有所体现。以我的经验与阅历,我对全栈工程师的定义是为了更好地进行开发,而对所需要的技术进行系统化深入化地学习。要说价值的话可能就是沟通不用对着一个不了解专业特性的人说话了吧,优化沟通路径。我挺期待成为一个全栈工程师的,可惜还只是一个还没入门的小白,说错不准打我。

牛奶小白 回复

不打你,你说的很好。

世幽谷 回复

谢谢鼓励,嘿嘿

丶孔先生 回复

说的挺好的,其实全栈工程师是要求的并不是去一个人了解各种开发技术,一个人顶几个开发人员,而是技术面广,理解各种语言、技术能做些什么,能做到什么。因为对各种技术都有一定的理解,在对语言,对技术的选型时,能站在不同的角度去看待,能提出良好的选型方案和实现过程。

shangkai007 回复

赞同楼上的思路

评论
4

spacepace 复制链接去分享

全栈就来点狠的,从物理基础到材料开发,从电气工程到硬件配置,从环境部署到软件开发,从团队管理到市场调研,从财政避税到法律保护,从危机公关到国际交流,你都要统统学会,统统学会!!

我的大拇指 回复

两个中指 一个神之鄙视👎

idealities 回复

还有基础物理,天文,航空发动机设计,流体力学,汽车电路系统。

muni 回复

航天科研满分

云栖技术 回复

全栈工程师最重要的是能给团队起到很大作用,并不是一个大拿,影响力才是关键。个人意见,勿喷

spacepace 回复

一言以蔽之,没钱穷折腾

it_entiy 回复

不敢认同啊,那不是相当一个人从制造电脑,再编译系统,最后一个人做好底层,服务层,应用层。 基本不可能。

gaogaoyanjiu 回复

不是太认同,哪来那么大的功力和精力,参与的多,出的错误也就越多,领域太广,必定不够精通。。。

云栖技术 回复

负能量太严重了,

ice_hulk 回复

最近的确是在学量子物理、汽车结构和驱动开发……

评论
2

西秦说云 复制链接去分享

不在阿里,无法讨论全栈对阿里的作用。但是在我看来,主要的场景是两种情况
1.创业团队,一个熟练的全栈工程师,可以作为技术总监,带队进行开发。在出现问题时,可以由全栈工程师进行难点攻关。
2.大型公司,作为模块负责人,带领团队进行技术开发。

云栖技术 回复

全栈工程师是一个学习的漫长的道路,对项目起着重要的作用。但合理分配项目模块,专业的人做专业的事、毕竟项目靠的不是一个人,团队的力量才是决胜的关键,全栈工程师起着重要的作用,学习是会感染的,互相学习,取长补短,这样团队会越来越强大,每个人都是全栈,才是最可怕的团队。@西秦 说的运用场景,赞同,从俩个不同团队,充分发挥出全栈的工程师的作用与影响力,666。加油!

tst 回复

说的很好

tst 回复
回复@tst:

团队中有一个全栈,其他负责专业模块,这样的团队就很了不起了。

牛奶小白 回复

牛逼

评论
2

hahoo 复制链接去分享

我近来要自己做个全平台的产品,如果用以前自己造的一堆轮子,可以很快。但是一旦建立起来,就要不断在这些老技术上迭代,很不好,以后用新技术重构要花更多时间精力。所以,花了段时间,研磨新玩法。前端react,redux,webpack等,后端node.js做规范的restful api,app用RN,一个人在组装一堆轮子,所有js都用es6,异步用async/await,promise,建立了一些脚手架和模块放到github上和npm中,还在陆续的开发准备。服务器都用docker部署,搭建持续集成环境,git上去,自动化部署迭代,近来在研究阿里云的api结合到自己后端api中,全部静态用oss,配合cdn,发现阿里oss的node.js sdk不是很爽,都是用Generator弄的异步,所以要自己封装个。微信接口也要封装个,其它语言有封装过所以比较快,github上别人做好的大多是老语法,不是很喜欢,还是用es6搞,以后也方便维护使用。后端缓存redis,数据库pg,当然做了个数据库调用抽象,以后切换数据库,比如换mysql,代码不用大面积改,尽量用标准sql。后面还要搞微信小程序,到时花时间弄一套流程脚手架。为了阿里云安全,正在弄RAM和Policy,而且esc在安全组里设置屏蔽一些端口只能自己访问,比如22,gitlab等持续集成的相关端口。前端ui resct也在模块化积累组件,css module很不错,一个组件js和相关css放到一起,非常模块化,通过postcss webpack打包一个css,还有前后端同构,可服务端渲染这些架构都ok了。还有顺便整合了bootstrap,做后台管理界面电脑手机都能操作。还整合了electron脚手架,为做跨平台pc软件做准备。还在不断的研究和思索各种方案,比如docker集群,go语言的场景,等等。太多了,所有一切只因为一个理由,喜欢技术,从硬件到软件,从组装电脑到idc维护服务器,给路由刷wrt,把电视盒刷linux,想研究得越多发现不会的越多,感觉时间不够用,所以我觉得自己会玩技术到老那种,没什么青春饭一说。我觉得技术领域太广泛了,感觉时间不够用,自己水平差太多,不过很多技术有重合,比如编程语言,都差不多那些规则,面向对象语言要面向接口和抽象,要运用到一些设计模式,其实不管什么语言,都有抽象出来的共性和规则,而只要花点时间,就能玩起来。而且很多规则是和语言无关的,比如一些算法,一些解决方案,其实什么语言都能实现。所有的一切,就是出于喜欢和爱好,从精神角度,不追求什么成功,喜庄子,无为、顺其自然。我觉得我很幸福,因为一直在做自己喜欢的事情。全栈就是全方位研究技术,甚至关键时刻为了性能用c做些底层。不喜欢争论什么语言好坏,什么对错。,就像android和iphone哪个好,全有就是了,管它哪个好。

hahoo 回复

还有说到广度和深度,我觉得并不是广了就没深度,深了就不广。如果真的爱好,坚持持续研发,时间可以积累出深度。如果玩了5年,开始不怎么做技术了,或者就在一个技术混日子,没广也没深,或者坚持不过10年,不会玩到老,谈何广度和深度。基本上全栈不靠打工,没有广度自己玩不起来,没有深度做不出产品化的东西,还是玩不起来。最终的全栈的目的,是自由的。

牛奶小白 回复

赞同

suo 回复

赞同

sky666666 回复

全栈是追求自由的

评论
2

烧菜大师 复制链接去分享

从自身经历来讲, 全栈工程师很多情况下是顺其自然下的结果, 因为对技术充满好奇,不对技术设限 ,持续不断努力成长为全栈工程师(其实不太认同这个称谓, 觉得研发工程师或更为合适【有研发能力的工程师其实并不多】)。 一个优秀的全栈工程师会有很强的学习能力 ,研发能力, 对未知领域的探索能力, 能够根据业务中的问题, 解决或者预见一些好的技术方案, 即使从未接触过这个领域的技术。 另外,技术本身是融汇贯通的, 了解更多的技术栈, 会让工程师有更开扩的视野,遇到问题会从多角度考虑 , 在整体层次上提出方案。 But , 这条路很难走, 因为进入每个领域都是需要时间努力学习的, 不能只浮于皮毛, 整体的成长会比较慢, 同时感觉面试会吃亏, 因为大公司细分严重, 对某个技术方向可以会考察特别细致, 而对全栈工程师来讲, 这方面可能会有所不足, 因为不能对各种语言/技术的细节都很了解 , 了解的更多的是原理 ,架构 更抽象的层次。 不啰嗦了 ~ 找个一个优秀全栈(研发)工程师是leader 的幸事

牛奶小白 回复

赞同

阡陌浮云 回复

同意

辰羽 回复

同意

评论
2

1067481372073503 复制链接去分享

全栈工程师有时候是逼不得已的。

五香梅干 回复

太正确了,没人会只有硬着头皮学了

佚仙 回复

都是被逼的。。。

评论
2

初码 复制链接去分享

旗帜鲜明的反对全栈工程师!!!!!!!!!
1、一个优秀的软件工程师,不在于学习的技能和掌握的能力的广度,而在于深度,如果一个软件工程师,连最基本的算法、数据结构、数据库原理、操作系统原理、设计模式等都搞不清楚,学再多的东西,也只浮于表面,结果就是垃圾设计、垃圾代码、无数bug,给公司带来隐性巨大成本增加
2、并非不存在全栈工程师,一个优秀的工程师,在一个领域做好一件事就很不容易了,能够几十年如一日的做程序,静下心来 做研究而恰好又接触过很多技术实践的人,才有可能成为全栈工程师
3、别学了点开源技术,到github上提交过代码,用过几门语言,做过点网站和应用,就称自己为全栈工程师!!!!!!这很丢人!!!!!!!!!

qqqqppppp 回复

唉 又一个死马努

初码 回复

再补充一句,架构师是架构师,全栈工程师是全栈工程师,不要以为全栈工程师就是架构师,架构也只是编程技能的一种。很牛的资深架构师也不一定是全栈工程师

永久指针 回复

前端作为全栈解决了学习深度的问题,前端核心语言是js,用的多了,很多深层次的问题慢慢也就融会贯通了。

评论
2

idealities 复制链接去分享

全栈不符合社会分工细化的潮流。但如果作为个人兴趣,当然可以。

1

san_jiang 复制链接去分享

全栈工程师可能并不是一个准确的称呼,我理解理解的全栈工程师应当是指一个勇于钻研和学习的工程师,能够通过学习和自身能力满足需求,不畏惧困难。

云栖技术 回复

您说的,更偏向于极客

评论
2

1187881122114583 复制链接去分享

程序员不能将自己局限在某一方向上,或者某一门语言上,难道全栈就不能精通某一门技术了?居然有人说自称全栈工程师可笑,我实在是找不到笑点,我反而觉得这是一种进步,他们不懒,不依赖某一门技术,学习能力极强,我相信大部分全栈工程师,不是为了称号去的,而是奔着技术去的,难道会唱红歌的就不能唱流行歌曲了?难道就不能唱R&B了???(ง •̀_•́)ง跟不上节奏注定要被淘汰,适者生存。

1

辅导费· 复制链接去分享

初码
1
旗帜鲜明的反对全栈工程师!!!!!!!!!
1、一个优秀的软件工程师,不在于学习的技能和掌握的能力的广度,而在于深度,如果一个软件工程师,连最基本的算法、数据结构、数据库原理、操作系统原理、设计模式等都搞不清楚,学再多的东西,也只浮于表面,结果就是垃圾设计、垃圾代码、无数bug,给公司带来隐性巨大成本增加
2、并非不存在全栈工程师,一个优秀的工程师,在一个领域做好一件事就很不容易了,能够几十年如一日的做程序,静下心来 做研究而恰好又接触过很多技术实践的人,才有可能成为全栈工程师
3、别学了点开源技术,到github上提交过代码,用过几门语言,做过点网站和应用,就称自己为全栈工程师!!!!!!这很丢人!!!!!!!!!

矮穷丑 回复

一个优秀的软件工程师,不在于学习的技能和掌握的能力的广度,而在于深度。这句反对,一个优秀的工程师,应该是有广度的情况下,在某一领域深入,才能做到个技术调配,否则会变成,你炉火纯青的算法技术,却不知道最基本的计算机原理。不是说不行,只是也不比全栈高明

评论
2

寒喵 复制链接去分享

反对全栈工程师!
1、隐形成本过高,无法精通某某个领域,无法做到细分化领域的专精。
2、现在的全栈工程师大都是广义上的全栈工程师(也可以称之为伪全栈工程师)无法做到都精通,而只是略懂略懂。达不到那个高度,看东西就片面化处理问题就呈现出代码过时,功能构件无法紧跟需求,代码无法按照某一领域特点标准书写。
3、现在人人都喊全栈工程师其实都是被逼的,各种被辞,各种项目换语言,放弃开发,转做其他产品而导致单语言系无用武之地惨遭项目组剔除,公司剔除(我们不养不干活的人 唉)。而为了解决各种高福利高待遇不被辞退(玛德我的房贷经不起我换工作找工作,新的公司要报的少我不是想死的心都有了),等等理由强行完成全栈工程师的转变。不为别的,只为了钱!又在各种炒作下(你看我全栈一个顶5个什么都能干,必须给高工资),就看到全栈工程师这个流派在中国越来越吃香。
你们还记得之前过劳死的工程师吗?真以为公司是为了你的本领而花高价买宝马吗?

某公司人力资源:老总想法就是高,招三个全栈工程师让他们把之前15人的项目各种端都做了。刚好公司另一个项目组有人闹要涨工资,发期权。嘿嘿!真以为没人能顶得了你们的职位?发给这三个做又省几份工钱,算上各种补助,房补等真是赚了。

2

iskenhuang 复制链接去分享

网站开发看来纯前端想要做更大幅的突破势必要能够获得更多前端上下游一同配合来达到下一个等级,在这基础上 "全栈工程师" 我认为是一个方向,但是未必每一位 "全栈工程师" 都需要精通整条链路。至于是否上下游都能够有足够深入后就必须称为 "全栈工程师" 这点我是采保留态度

2

玩站网 复制链接去分享

往后走,前端和后端似乎越来越紧密。现在前端能够处理的事情比以前更多了。
全栈工程师,进可到大公司进行前端和中间件开发,退可以到小公司做全杂工。
精通某一项,熟悉其他相关的人才需求越来越强烈了。

跨平台开发,往往需要统一的接口。如果有全栈工程师,接口自己做,方便各种平台接口标准的定义、开发。
如果让他们分开,pc做pc接口,移动端做移动端的,app做app的,到后面归根到底还是要把接口统一,到时候吵架不知道要吵多少架哦。

前端需要什么接口,自己定义,统一标准,一方面便于维护,其他便于前端方案的改变。(现在后端接口一般都是很少做大的变化的,前端的技术更新那么快,新事物不停涌现,需要那么一些精通前端也熟悉后端业务的人才来综合处理一些接口。)

关于以上两个问题:
全栈工程师的发展很光明的,“进可到大公司进行前端和中间件开发,退可以到小公司做全杂工”。做一个全栈工程师完全是一个很有前景的职业。不过也有一个坑,不要啥都不专,深度不够。 你总要有那么一两把刷子才行。
在天猫团队,这个问题则不是我可以分析的啦,不过在我们公司团队,全栈工程师就是宝啊,啥懂。

1

xnumb 复制链接去分享

全栈 并非目的 而是结果

1

langk 复制链接去分享

全栈体现出的是对技术的热情,愿意去学,不局限某一开发语言。

1

啊地晕 复制链接去分享

全栈工程师,对老板的价值来说就是1个人干3个人的活,给0.8个人的工资(这也不精哪也不精),省一个人的工资。

1

小楼蓝月 复制链接去分享

  首先我觉得好的开发者,即使不是全栈,也要融会贯通多种技术。我从来不认为一个只专精一种技术的人有可能成为好的开发者,即使是C,即使是汇编。(当然其实反过来看,那些大神们哪个不会搞点其他的?比如几个做服务器端开发的大神居然不懂服务器管理?)
  然后从广度和深度的组合看,我认为好的开发者大概有两种类型:手术刀。代码专家。
  手术刀是业务驱动的,最需要全栈的人;他们的核心价值在于:懂业务,技术全面,都能拿的起来,而且能选择最合适的技术。代码专家是技术驱动的,即使不够全栈也可以用,但是技能树点的越多当然有好处。

1

一然芭比 复制链接去分享

我觉得全栈开发应该是前端想往更高方向发展的一个途径,当然以后可能会独立出来,就像现在的前端开发这个职业一样,看各人兴趣了,想学就充实一下自己,但全栈工程师,个人觉得不久的将来应该是炙手可热的职业

1

为了爱1号 复制链接去分享

就比如我只会前端,好多事情都要和后端沟通,有时还不能达到预想的效果,设计师总说我们的代码没有达到她的预想效果,有时真想抽她,不相互体谅,如果是一个全栈工程师各部门就能很好的在一起了。

6