什么是全栈工程师 做全栈工程师真的好吗

工程师人生 2018-10-09 10:40 次阅读
最近参加一个技术社区活动,在讨论到“CTO的技术深度和广度哪个更重要”的话题时,我想起社区里面常常提到的“全栈工程师”的事情,于是表达了一些观点。临场未必能够清晰表达,所以下笔,希望能够引起一些讨论,避免年轻工程师误入歧途。 长期以来,社区就有人在提“全栈工程师”,还有一些公司直接挂出名为“全栈工程师”的招聘职位。那什么是全栈工程师? 什么是全栈工程师 做全栈工程师真的好吗 百度百科的解释是:全栈工程师,英文叫Full Stack Developer,是指掌握多种技能,并能利用多种技能独立完成产品的人。说白了就是啥都懂的人,左青龙右白虎老牛在腰间,人挡杀人佛挡杀佛。想想,一个项目从前到后要包含多少技术?就拿TalkingData来说,就至少有H5、JavaScript、CSS、Java、Kafka、MongoDB、Redis、MySQL/MariaDB、Vertica、Hadoop、Spark、Tychron等等,这些研发目前需要数据可视化团队、计算平台团队、存储平台团队、数据挖掘团队和运维团队来共同完成。要是出现这么一个全能王,把活一揽子全部接下来,那要省掉多少沟通代价和薪资成本?——这简直就是救世主! 想到这里,我顿觉惭愧,十几年的技术算是白搞了,要是刚毕业即以此为目标,每个月学一门,学完一门换一门,那用不了两年就能转职“全栈工程师”这个终极职业,站上技术巅峰,俯瞰芸芸众生——是不是有一种游戏开挂的快感?想想做个架构师都需要四五年的辛苦积累,现在能两三年速成,岂不是很爽? 终于,在这样自我催眠,加上一些舆论的刻意引导下,大批有志青年开始走上全栈工程师的自我修炼之路。没有多少人愿意脚踏实地积累自己的技术经验,或者潜心去研究开源技术的底层代码,或者做更深入的性能对比分析。很多人闪电般的在不同公司之间跳来跳去,走马观花,狂热浮躁。 这几年,因为大数据需求的不断成熟和数据业务的持续发展,TalkingData研发团队一直保持高密度的招聘,我们对这个现象的感觉是比较明显的。因为我们在面试中越来越多的发现,年轻人的简历写得愈发琳琅满目,这也“精通”,那也“擅长”,数量不等的“多年经验”或“长期从事”……恨不得2年工作经验比干10年的简历还要长,几乎称得上当代常用技术巡展。不要太强!只看简历就想赶紧招进来,再开掉现在这些“尸位素餐”的非全栈员工,世界肯定清净了吧? 但是情况真的是这么好吗? 在面试中,我们会通过问答,检验候选人在技术上思考的深度、理解能力、学习能力和解决问题的能力。所以研发人员面试一般会遵循以下流程: 1. 介绍一下背景和职业经历。 2. 选择一个你最熟悉或擅长的项目,详细描述一下整体架构和你做的工作。 3. 讨论一下你遇到的挑战以及怎么去解决的。 4. 然后从这一步开始,我们就会不断地挑战,不断追问“为什么”,直到通关或者回答不出来为止。 在这个流程中,每一步都有大批候选人失败,比较典型的失败原因包括: 1. 跳槽频繁 最常见的理由是“我想学习新的东西”。想学新东西是值得赞赏的,但是我很难想到正常人在短时间就能把一门新的技术学通。尤其是开源技术,基本属于入门容易精通难,很容易找到一些教程101,帮你5分钟学会安装部署,但是一旦用上生产系统,就很容易出现各种各样的突发问题,配置的、架构的、网络的、代码的、甚至还可能有硬件的——逼迫你绞尽脑汁上各种论坛找各种谷哥度娘去解决。经验就是从不断填坑的过程中积累起来的。只会安装部署,距离真正掌握还差八千里。 最夸张的见过2年换了6个公司。所以到后来,只要一看到简历中最近3次工作经验中没有超过2年的,直接就略过了。 2. 缺乏对架构的感觉 先不说一个技术人员(尤其是大数据技术人员)必备的好奇心或逻辑性,也只有对整体架构有清晰的认识,才能更加准确的了解自己要实现的需求对整个业务线的意义,从而在功能边界定义和技术选型上有相对合理的判断。如果对于自己熟悉项目的整体架构缺乏了解或者描述不清晰,我们认为这样的研发人员比较缺乏整体感和全局观,成长一般都会比较有限。 实际上画不出整个产品线技术架构图的大有人在,能画出来但是各个模块画的稀里糊涂的也不在少数。 3. 技术浮于表面 说起遇到的挑战时,很容易能够看出候选人对于技术掌握的深度。说不出挑战的情况,要么是任何技术都挡不住的大牛,要么就是没有经历过比如计算瓶颈、数据淤积、磁盘爆满、内存不足、架构调优这样的战斗洗礼。对于后者,面试官辨就一定要小心,因为这样的人即使用过的技术和框架再多,为你带来的坑也可能比填的坑还多。 想起一个印象比较深的例子,一个候选人简历上充满了说自己长于各种大数据技术的明示,然后在面试中请他找个最擅长的项目深入聊聊的时候,他说,呃…这个…那我们来聊聊之前做过的一个网站项目吧,我在里面做web前端……当时我就无语了。 4. 细节禁不住挑战 为什么要选择这个方案?和别的方案对比有什么优势?这个方案有什么问题?如果让你来研发这个方案的新版本,你准备做什么样的优化,为什么?数据量如果增大一个数量级,你觉得这个方案会出现瓶颈吗?再增大一个数量级呢?BlaBlaBla……这些都是例行问题,如果没有对技术熟悉并研究到一定程度,是很难有条理的说清楚的。 曾经遇到过一个牛气哄哄的年轻人,刚毕业工作1年就找亲戚投资创业担任CTO,瞎折腾了一年公司黄了,然后出来找工作。第一年的薪资算正常,担任CTO的时候就给自己工资翻倍,然后在翻倍的基础上期望我们再涨50%。也就是说,经过这一年创业过程,他觉得自己做了CTO,接触了好多技术,增值了,“我什么都能干”,理应比第一年涨3倍。实际问起来,每项技术都是泛泛,没什么细节,自然就fail了。 作家格拉德威尔在《异类》一书中指出,“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。”他将此称为“一万小时定律”。 要成为某个领域的专家,需要至少10000小时。如果每天工作八个小时,一周工作五天,那么成为一个领域的专家至少需要五年。就算是一直搞“996”,也差不多需要3年。这符合任何一个有经验的技术人员的认知:一门技术,没有两三年以上的熟悉和研究,是根本谈不上精通的。尤其是大数据行业是一个比较新的行业,很多技术和方法都在摸索阶段,需要更多的时间来积累。TalkingData也是经过了4年多和海量数据以及各种大数据技术的斗争,趟过了无数的地雷阵,到今天才可以说是有了一些积累,培养出一批在大数据领域比较有经验的技术专家。即使这样,我们从来也不认为我们研发团队里面有“全栈工程师”。 大数据行业一定是靠经验靠积累,没有任何速成的做法,所以我们始终控制研发团队能够更加聚焦一些而不是更发散一些,做的更深而不是更广一些。 那说回来,到底有没有全栈工程师存在?肯定是有的。但是我见过的能称得上“全栈”的工程师,基本都在某一个领域写过大量代码,或者解决过大量问题,积累了非常深厚的功底,然后在精深之后,把知识转化成为常识,才能真正触类旁通。这时候看起来应该就是大家说的“全栈”吧。但是这显然不适合经验较少的菜鸟工程师。 所以,希望年轻的技术人员能够更加踏实一些,不要轻信“全栈工程师”的美丽神话。只有为自己打好技术基础,才能飞得更高。
收藏 人收藏
分享:

评论

相关推荐

十年工程师生涯分享

再过几天就是我从业十年的纪念日啦,回首这过去的十年,个中辛酸和快乐只有经历过后才有切肤的体会,有加班的烦劳,有择业的困惑...
发表于 11-08 09:46 63次 阅读
十年工程师生涯分享

解决芯片工程师的两大痛点

看看今天的物联网和智能设备领域,你可能会觉得现在是成为芯片工程师最好的年代。设备越来越小,将越来越多....
发表于 11-07 16:38 367次 阅读
解决芯片工程师的两大痛点

开关稳压器LT1766EGN#TRPBF主要应用于哪些产品

开关稳压器  LT1766EGN#TRPBF 这是料号  主要应用于哪些产品 ...
发表于 11-07 11:36 109次 阅读
开关稳压器LT1766EGN#TRPBF主要应用于哪些产品

为什么说未来是全栈工程师的世界

技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快。今天技术的门槛下降得越来越快,原本需要....
的头像 工程师人生 发表于 11-05 14:20 189次 阅读
为什么说未来是全栈工程师的世界

从一个毕业技术小白,到现在资深工程师,他获得这些!

无论当我在网上、论坛上、还是实际生活碰到的种种电子毕业生的时候,我学的有必要把我的路写写,大家可以扔鸡蛋也可以拍砖哈!先...
发表于 11-05 09:32 318次 阅读
从一个毕业技术小白,到现在资深工程师,他获得这些!

未来的工程师会做些什么

更新: Grace和Noah一直忙于他们的夏季项目。 查看他们的工作,并在每个星期的8月份回来看看更多。 我参加工程课已经很长时...
发表于 11-01 15:45 58次 阅读
未来的工程师会做些什么

全栈工程师的定义

大约在 2013 年,“全栈开发”这个词开始出现在招聘描述和博文之中。很多公司也意识到,雇用一个仅仅....
的头像 工程师人生 发表于 11-01 09:30 151次 阅读
全栈工程师的定义

工程师每天工作很长时间真的好吗

减少些压力,提高些效率:每天别工作太长时间,对你和公司都有好处
的头像 工程师人生 发表于 11-01 09:26 175次 阅读
工程师每天工作很长时间真的好吗

工程师写技术博客有哪些好处

没有读者,写技术博客文章感觉不到太多的作用,是浪费时间的事情,是这样吗?
的头像 工程师人生 发表于 10-31 11:21 192次 阅读
工程师写技术博客有哪些好处

工程师怎样关注自己的健康问题

我发现很多程序员都认为敲代码对他们的身体健康貌似没什么影响。我真的非常希望,大家能对程序员面临的健康....
的头像 工程师人生 发表于 10-31 10:54 273次 阅读
工程师怎样关注自己的健康问题

关于放大器设计工程师必须知道的100个基本问题(ZT)

网上看到以对答形式总结的基本原理、概念及实用经验,非常棒的资料,转发分享,放大器应用是个经验活,希望大家多分享交流: ...
发表于 10-31 09:04 101次 阅读
关于放大器设计工程师必须知道的100个基本问题(ZT)

工程师写博客有什么好处

客文章,是种与自我的对话,也是种与外界的联繫,也是获得 level up 或 skill learn....
的头像 工程师人生 发表于 10-30 15:11 654次 阅读
工程师写博客有什么好处

一个老工程师给新毕业大学生的几点建议

作为一个二十年前毕业的大学生,我和现在的许多人一样走过了,迷茫,选择,再迷茫,再选择的过程。现在把我所经历的一些东西写出...
发表于 10-29 09:32 176次 阅读
一个老工程师给新毕业大学生的几点建议

如何成为更优秀的工程师?

来自Heap(一家主要为企业提供用户数据分析架构的企业)早期员工Michael Malis,就如何成....
的头像 嵌入式资讯精选 发表于 10-28 09:51 372次 阅读
如何成为更优秀的工程师?

工程师面试创业公司的真实经历

硅谷充满了下面这种创业公司,它们疯狂崇拜在面试中能够答对几道编码难题的候选人,并认为雇佣这些人最终会....
的头像 工程师人生 发表于 10-27 09:43 262次 阅读
工程师面试创业公司的真实经历

30岁仍一事无成,为什么你没时间看看这个“失败”工程师的独白?

  回想我刚毕业那年的春节后,招聘现场也异常火爆,我艰难地挤到了第一排,递上简历,得到两个问题,第一,学什么专业,会干啥...
发表于 10-26 14:15 1670次 阅读
30岁仍一事无成,为什么你没时间看看这个“失败”工程师的独白?

工程师如何在工作之余做副项目

在 IT 资讯聚合网站 Hacker News 上花超过 5 分钟,你就会看到那些在兼职创业的人。这....
的头像 工程师人生 发表于 10-25 10:54 169次 阅读
工程师如何在工作之余做副项目

工程师面试被拒的真实经历

我做了很长一段时间的技术招聘后,我可以向你保证,招聘过程中的随机因素和干扰因素(false nega....
的头像 工程师人生 发表于 10-25 10:12 299次 阅读
工程师面试被拒的真实经历

一名资深IT工程师的面试经验

我已经在 IT 领域工作了相当长时间,有 12 年了。作为一个曾经的求职者和面试官,我对面试有一个客....
的头像 工程师人生 发表于 10-24 10:02 298次 阅读
一名资深IT工程师的面试经验

IT工程师怎样利用副项目找工作

为了在 IT 科技领域谋求一份工作而做副项目,这要不就是极好利用时间,就是在极大浪费时间。
的头像 工程师人生 发表于 10-24 09:41 175次 阅读
IT工程师怎样利用副项目找工作

IT工程师如何高效的学习

IT 行业是一个变化非常快的行业,它需要我们持续去学习新的知识和技能。 但是,工作以后,我们经常会发....
的头像 工程师人生 发表于 10-23 10:46 353次 阅读
IT工程师如何高效的学习

为什么有的公司总是抱怨找不到好的工程师

几个月前,我参加了一场针对技术领域女性的活动。很多参加者中是新的开发者,毕业于编程学校或者计算机科学....
的头像 工程师人生 发表于 10-23 10:37 290次 阅读
为什么有的公司总是抱怨找不到好的工程师

一位Java工程师的找工作经历

作者从业 10 几年,经历过大大小小的面试也去过一些大公司,还经历过一些大的找工作浪潮,也看到过很多....
的头像 工程师人生 发表于 10-22 10:56 341次 阅读
一位Java工程师的找工作经历

一名前端工程师的从业经历

四年之前,我也是从原生Js开始,HTML,CSS,浏览器兼容,操作DOM,Ajax交互,慢慢到后来,....
的头像 工程师人生 发表于 10-21 09:51 354次 阅读
一名前端工程师的从业经历

产品开发别侥幸——该来的一定会来的

注:本文是作者以前发表在其个人博客,现在发布到电子发烧友专栏开发的产品越多,就越相信这个世界不存在完....
的头像 聚丰开发 发表于 10-19 11:26 232次 阅读
产品开发别侥幸——该来的一定会来的

一名JAVA工程师的八年从业经验分享

在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子....
的头像 工程师人生 发表于 10-19 10:28 355次 阅读
一名JAVA工程师的八年从业经验分享

一位Java工程师的职业规划

一位哲人说过:“走好每一步,就是你的人生。”,人生之路说长也长,是因为这是你一生所要走的艰难险阻的跋....
的头像 工程师人生 发表于 10-19 10:17 257次 阅读
一位Java工程师的职业规划

成为高级工程师的必备素质有哪些

之前很多人问过我这么个问题,说怎样才能成为一名高级工程师?我觉得这是一个很好的话题,技术人的职业规划....
的头像 工程师人生 发表于 10-19 09:42 274次 阅读
成为高级工程师的必备素质有哪些

美企“相中”中国副教授, 芯片设计人才告急!

美企“相中”中国副教授 Cadence向福州大学副教授陈建利伸出橄榄枝,他是业内一位先进人才。在芯片电子设计自动化领域,陈建...
发表于 10-17 13:48 784次 阅读
美企“相中”中国副教授, 芯片设计人才告急!

工程师和码农的最大区别在哪

工程师和码农的区别并不在于技术水准的高低。
的头像 工程师人生 发表于 10-17 09:15 375次 阅读
工程师和码农的最大区别在哪

嵌入式工程师的真实现状,有人月薪8千,有人年薪快40万!

一名一线企业嵌入式软件工程师的笔者,想通过自己的实际经历理性地评论当今嵌入式行业的真实状况。 目前国内一个普遍被认同的定...
发表于 10-16 13:42 1164次 阅读
嵌入式工程师的真实现状,有人月薪8千,有人年薪快40万!

请不要随意做全栈工程师

很简单就是最近越来越多的人想做【全栈工程师】,他们的目标就是全栈,他们才入行短短1-2年,甚至刚从培....
的头像 工程师人生 发表于 10-16 11:59 394次 阅读
请不要随意做全栈工程师

全栈工程师在生活中的真实状态

从小米辞职出来创业的两个多月里,通过猎头或自己投简历,先后面试了知乎,今日头条,豌豆荚,美团,百度,....
的头像 工程师人生 发表于 10-16 11:51 334次 阅读
全栈工程师在生活中的真实状态

怎样才算成为一名合格的算法工程师

本科生非ACMER 需要什么程度才算算法合格?
的头像 工程师人生 发表于 10-16 11:08 440次 阅读
怎样才算成为一名合格的算法工程师

全栈工程师和架构师有什么区别

全栈工程师和架构师往往具备一专多能,不但专业技能扎实,还得熟悉掌握前端到后端各种主流技术环节的实现能....
的头像 工程师人生 发表于 10-16 11:04 288次 阅读
全栈工程师和架构师有什么区别

前端工程师面试技巧

我在Twitter和Stripe的一部分工作内容是面试前端工程师。其实关于面试你可能很有自己的一套,....
的头像 工程师人生 发表于 10-15 10:57 270次 阅读
前端工程师面试技巧

前端工程师的价值到底体现在哪里

其实豆瓣的克军的理解也很不错,很有前瞻性,一个好的前端工程师到底应该做什么,具体的价值体现又是怎样的....
的头像 工程师人生 发表于 10-15 10:41 200次 阅读
前端工程师的价值到底体现在哪里

网页工程师应该怎样规划自己的技术之路

如今网页的重要性毋庸置疑,在商业上,好的网站已经是企业保持竞争力的重要环节。伴随着网页开发技术的日新....
的头像 工程师人生 发表于 10-12 10:26 862次 阅读
网页工程师应该怎样规划自己的技术之路

成为Python工程师需要哪些技能

掌握计算机的构成和工作原理
的头像 工程师人生 发表于 10-12 09:54 454次 阅读
成为Python工程师需要哪些技能

PM应该把工程师作为伙伴而不是工具

过节前看到一篇文章,讲产品项目就应该由工程师来主导,但国内让PM去驱动项目,搞得乱七八糟,很恼火,怎....
的头像 工程师人生 发表于 10-12 09:38 393次 阅读
PM应该把工程师作为伙伴而不是工具

PHP工程师怎样自我突破

身边有几个做PHP开发的朋友,因为面试,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长....
的头像 工程师人生 发表于 10-11 09:36 337次 阅读
PHP工程师怎样自我突破

怎样成为一名优秀的web前端工程师

它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化、SEO和服务器端的基础知识,而....
的头像 工程师人生 发表于 10-11 09:31 251次 阅读
怎样成为一名优秀的web前端工程师

前端工程师的岗位职责有哪些

前端开发工程师(下文简称前端),这个岗位我一直有些异议,异议就在前端的岗位职责有哪些?
的头像 工程师人生 发表于 10-11 09:26 321次 阅读
前端工程师的岗位职责有哪些

工程师的十条精进原则

时间回到8年前,我人生中第一份实习的工作,是在某互联网公司的无线搜索部做一个C++工程师。当时的我可....
的头像 工程师人生 发表于 10-10 10:32 284次 阅读
工程师的十条精进原则

全栈工程师的观点认知

深以为然,所以,全栈工程师应该分为Web全栈和App全栈。恰巧最近看了本有关Web全栈工程师的书,记....
的头像 工程师人生 发表于 10-10 10:08 241次 阅读
全栈工程师的观点认知

工程师面试时应该注意哪些问题

我 在 Google(以前是微软)工作期间面试了不下 300人,其中某些应聘者确实表现非凡,但有些却....
的头像 工程师人生 发表于 10-10 10:00 452次 阅读
工程师面试时应该注意哪些问题

一位架构师写给工程师的一封信

下面的邮件是某Architect发给他的Engineering团队的(来源),我觉得挺不错的,翻译过....
的头像 工程师人生 发表于 10-09 09:51 317次 阅读
一位架构师写给工程师的一封信

前端工程师的简历怎么写

虽然简历都会有一些常规信息,但职业决定了这份简历核心内容和求职成败。所以,这份简历应该尽可能体现你自....
的头像 工程师人生 发表于 10-09 09:03 538次 阅读
前端工程师的简历怎么写

怎样成为前端工程师

前端教的三大内功秘笈:Html、Css、Javascript。你必须要掌握的程度
的头像 工程师人生 发表于 10-08 10:28 336次 阅读
怎样成为前端工程师

为什么互联网行业这么缺前端工程师

现在,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,对上市公司乃至巨头这个问题也一样存在....
的头像 工程师人生 发表于 10-08 10:13 478次 阅读
为什么互联网行业这么缺前端工程师

一名数据工程师的自白

2011年,我作为一名商业智能工程师加入 Facebook。到了 2013 年离开的时候,我的职称是....
的头像 工程师人生 发表于 10-08 09:36 585次 阅读
一名数据工程师的自白

做售前工程师需要注意哪些细节

在IT界,成功的完成一个项目的需要销售人员、售前人员、项目实施人员(开发人员)、售后服务人员等密切协....
的头像 工程师人生 发表于 10-08 09:34 612次 阅读
做售前工程师需要注意哪些细节

PHP后端工程师的前景和5个阶段

1994年创建,1995年对外发表第一个版本,名为:personal home page tools....
的头像 工程师人生 发表于 10-08 09:22 543次 阅读
PHP后端工程师的前景和5个阶段

工程师必看:六招搞定常见电子元器件的检测

1. 判断晶振的好坏 先用万用表(R×10k挡)测晶振两端的电阻值,若为无穷大,说明晶振无短路或漏电;再将试电笔插入市电插孔内,...
发表于 10-04 16:52 211次 阅读
工程师必看:六招搞定常见电子元器件的检测

web前端工程师怎样定位自己

Web前端工程师可以简单将其工作概括为:在互联网领域驾弩前端技术(XHTML/CSS/Javascr....
的头像 工程师人生 发表于 09-29 11:05 371次 阅读
web前端工程师怎样定位自己

前端工程师为什么这么难找

先说下自己早年的经历吧,最早的时候跟很多现在看到的各种廉价前端程序员一样(如果那算程序员的话),就是....
的头像 工程师人生 发表于 09-29 10:20 336次 阅读
前端工程师为什么这么难找

一位资深FPGA工程师对职业的看法

昨晚无意间看到一段新闻频道对最近炒得火热的“史上最年轻教授”的专访,倒是他的一位同学对于梦想的“现实....
的头像 工程师人生 发表于 09-28 10:43 1719次 阅读
一位资深FPGA工程师对职业的看法

做IT工程师值吗

这几天一个朋友给我发了篇文章。拜读后感触颇多,诚然该文作者也是一个老IT了,他将自己或许近10年来的....
的头像 工程师人生 发表于 09-28 09:50 336次 阅读
做IT工程师值吗

前端工程师与后端工程师有什么区别

今天和同事在饭后突然聊天Web前端工程师这个职位,没想到这个小小的聊天,竟然折射出来我们对这个职位不....
的头像 工程师人生 发表于 09-28 09:30 639次 阅读
前端工程师与后端工程师有什么区别

怎样成为java高级工程师

要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可....
的头像 工程师人生 发表于 09-28 09:04 419次 阅读
怎样成为java高级工程师