全栈工程师就是一棵歪脖子树

 

一个故事

老张有一个林场,专门种植树木,待树木成材后销到城里做家具。林场里有不少杉树,长得都非常挺拔,偏偏不知怎的长了一棵歪脖子树,长得倒是郁郁葱葱,偏偏造型奇特,别的树都力争上油,可这棵歪脖子树不仅横着长,还长得颇为怪异。老张几次都想挖掉它当柴火烧,看它那怪异的造型又忍住了,心想等这批杉树成材,一起砍掉吧。

一到晚上夜深人静的时候,林场里就炸开了锅,杉树们极力取笑歪脖子树。“你知道作为一棵树,我们的终极目标就是成为有用之材吗,你看旁边那个,可以做梁柱,小歪脖子,你丫能干啥啊?”;”这个臭歪脖子树,抢了我们的养分和阳光,长成这样,完全是丢我们的脸,我呸!”。

歪脖子树有自己的梦想,它要长成它喜欢的造型,如此日复一日,林场里的杉树渐渐长大了,老张决定逐步卖掉这些杉树。随着一批批杉树被运出去,奚落与嘲笑更多了。“瞧睢人家,你左边的那棵,现在在被打造成前台,在知名大企业,右边的那棵更牛逼了,它被做成了老板桌,你知道天天用的老板是谁吗,说出来吓死你。你个臭傻逼,作为一棵树,你居然不向上长?”

林场里的树越来越少了,歪脖子树也有些失落,对自己的未来产生了怀疑,当初为什么不和他们一样长呢。

有一天,一个老板和他弟弟过来买树,他弟弟是个园艺家。园艺家正在筹划一个大型的园林,一切都弄好了,唯独还差一棵造型奇特的树作为点睛之用,他找了很多地方,不是造型不满意就是人为痕迹太过于严重。终于,他看到了这棵歪脖子树,立马柏板重金购买。

老张觉得不可思议,林场里的杉树们更是炸开了锅,“凭什么啊,我们长这么高,它就那么点高,还长得这么怪,凭啥卖了这么高的价钱”。原来,随着经济条件的的变好,人们有闲钱了,也愿意花钱去欣赏园艺了,长得高的树木很多,但长得怪的树木却是极为难得。

一棵歪脖子树

有些人一听这个字满腔怒火,凭啥你的职业中带一个全字,你是要前端后端通吃吗,还要吃掉移动端,你是不是要抢我的饭碗。你凭什么啊,做技术就应该专精,你知道茴香豆的茴字有几种写法吗?

记得三年前我在一篇文章《两个重要而又容易被忽视的角色》中有谈到前端工程师和产品工程师的重要性,结果有一大波后端工程师批评我,他们认为前端就是一个低端的职位,切切图写写JS就完事了,重要个屁啊。现在你来看,到处都在招前端,而且工资不比后端低,甚至略高,还不一定能请到人。

全端工程师不是什么高大上,它只是一种职业,和DBA运维产品工程师一样,只是职业的细分。全端工程师不是要吃掉前端更不是要吃掉后端,它是环境发生到一情况况所催生的一种新的职业,它恰恰是市场更细分的结果。我能理解某些工程师的那种紧张与孤傲,早些年出现前端吞掉我们的一部分工作,现在又要炒全端吃掉我们的一部分工作,你让我们这些垂直发展的人怎么活,连茴字有几种写法你都不知道,你有什么资格拿着和我们一样的工资?

与新技术的任何方面打交道的人,他们确信自己是在做天生的高科技业务……在我们两人看来,他们一般都不是。在这些领域中,那些有根本性突破的研究人员是在做高科技业务。我们所有其他局外人只是他们工作成果的应用者。我们用计算机和其它新技术组件来开发我们的产品或者组织我们的事务——《人件》

很抱歉,不管你同不同意,我们大多数人都是技术的使用者,除了极少数的牛人之外,我们都在为产品服务。我们的客户并不想知道你有多么牛逼的算法,也不想知道你用了多少种设计模式,他们要的是,你能给我带来什么价值,能不能让我用得爽用得值。

一幢房子

我很喜欢把软件工程与建筑业相比,我很抱歉又把大家和农民工相提并论了,其实我们与他们,并没有本质上的区别,他们在搬砖,而我们在搬bit,他们晒着太阳累一点活得长一点,咱们吹着空调死得早一点。做得好一点的工程师,无非就是一个代码工匠,我们都是手艺人,手熟而已,无它。

垂直发展是钢筋,而横向发展可能就是水泥。没有钢筋的房子建不高,没有水泥的房子也是有的,不过水泥+钢筋还是多数了吧。无需你自己是钢筋就指责水泥,就象Node.js刚出来的时候,被人指责是一班臭前端搞出来玩的的东西。任何技术都有它的适用场景,离开某个场景可能一文不值,人也一样。

不要因为自己用Java就批评ASP.net,也无需自己开发Android就骂果粉,我知道,PHP是全世界最好的语言。如果我们能在各自喜欢的领域有更好的发展,不是更好么。你觉得横向发展不好,你不跟就是,他强由他强,清风拂山冈;他横由他横,明月照大江。

为什么会需要全端工程师

我们需要有全局视野的人

老板们都说,开发人员要有产品意识,要有用户意识,如果你只做后端,恐怕你是不能理解前端对用户的重要性。其实说来惭愧,很多人误以为我是个臭前端,其实我从来没有专职做过前端,我很抱歉我站错了队。这么多年,我一直是在写点前端并厚着脸皮混在后端,作为一个低水平的臭后端,我只是更喜欢和用户接近一点而已。

IT行业的鄙视链是很严重的,大家之间相互鄙视,或者,你换个岗去做对方的工作,我相信你就能了解到他们的工作价值了。前端说用户体验重要,后端说没有后端你前端屁都不是,彼此对调一下,你能感受更多。

一种技术不能解决所有问题,我们需要从多种技术中权衡,到底是用Hybrid还是用Native,这是要根据你的业务场景和人员配置情况来判断的,不是说看别人写的几篇教程或者指南就能决定的。

创业公司越来越多

IT的创业公司越来越多,除了少数真正玩技术的公司,恐怕还是要玩产品的。既然是玩产品,就免不了各种设备各种平台各种兼容。新公司的资源总是有限的,单个工种的工作量又没那么饱和。所以有一个多面手在创业初期是很有帮助的,不可能为了一个iOS的客户端去专门请一个月薪上万的人来做iOS应用,再花上万的月薪找人来做Android客户端,省钱是创业公司的主流,但又希望自己的产品能全面铺开,所以全端工程师是不二之选。

硬件设备的发展

有人一定会说,硬件设备和全端工程师有半毛钱关系,还真有那么一些关系。软件最初的时候是单机版,要求的只是软件工程师,后来因为网速的提升与网络的普及,B/S取代了C和C/S,所以就演变成了后端工程师占主流地位。到现在,客户的硬件设备越来越强大,网速也越来越快,所以Web前端会占主流,而所谓的后端会越来越萎缩。不管你愿意不愿意,我认为,未来的后端,会发展到只提供Web API的数据,只需要少数工程师就能搞定。大部工作会由所谓的前端和各种客户端来完成,这就是我讲的后端已死。

移动设备的发展和云的概念以及第三方平台,肯定对这种需求起到了推波助澜的作用。一方面,企业需要一个能掌握多种技术的人以降低成本,另一方面,也需要一个有全局视野的人来参与,他需要对产品中用到的多种技术都熟悉,所以,全端工程有时候会是一个胶水的作用。

结语

全端工程师不会替代后端工程师,也不会替代替代前端工程师,这个职业不是要替代谁,它只是让我们更好的工作,只是一种新的职业而已。胶水有胶水的价值,催化剂有催化剂用处。积极地拥抱变化吧,唯一不变的是变化的本身,你我都无法阻止。

专精是一个方向,横向也是一个方向,没有谁比谁厉害。不用担心别人呼吸你就没有氧气了,坚持自己的发展方向,你总会有价值的。尺有所长寸有所短,不必因为彼此的发展方向不一就大动干戈,有这力气,还是多搬个砖吧,多动一下,总是要活得长一点的。我知道Master Wugui是不会同意我这个看法的。

 

 

原文出处: 涂雅的博客   

 

时间: 2024-09-15 00:42:04

全栈工程师就是一棵歪脖子树的相关文章

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

技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快.今天技术的门槛下降得越来越快,原本需要一个团队做出来的Web应用,现在只需要一两个人就可以了. 同时,由于公司组织结构的变迁,也决定了赋予每个人的职责将会越来越多.尽管我们看到工厂化生产带来的优势,但是我们也看到了精益思想带来的变革.正是这种变革让越来越多的专家走向全栈,让组织内部有更好的交流. 你还将看到专家和全栈的两种不同的学习模式,以及全栈工程师的未来. 技术的革新史 从开始的CGI到MVC模式,再到前后端分离的架构模式,都在不

你是否应该成为一名全栈工程师?

Asaf Yigal是Logz.io的联合创始人与产品副总裁.在Logz.io之前,Asaf与他人联合创立了Currensee,这是一个社会化交易平台,后来在2013年被OANDA收购.在 Currensee之前,Asaf在Akorri负责管理和开发一款端到端的性能监控平台,在Onaro开发过一款存储资源管理平台.后来,Akorri 与Onaro都被NetApp收购了.在Onaro之前,Asaf在以色列海军带领一个研究团队,从事人工智能系统的开发与军事化应用相关工作.近 日,Asaf撰写了一篇文

Linux全栈工程师--传智播客C++公开课之全栈工程师修成记

1.全栈工程师能干什么? 全局性思维,现代项目的开发,需要掌握多种技术.互联网项目,需要用到: 产品设计:ai, CorelDRAW 界面设计:ui ps 前端开发移动优先: ios app(oc/c++) android app(java/c++) Hrbrid app(混合式移动应用) 移动web(html5/javascript) web前端语言:html5, javascript, css3 操作系统:unix, linux web服务器:Nginx, Apache 缓存服务器:Memc

如何成为一名优秀的全栈工程师?

写在最前 我的前一篇文章<给职场新人的 10 点建议>发表后,得到了很多网友,特别是年轻程序员朋 友们的喜爱,这令我颇感意外,但又很受鼓舞.同时,我也收到了一些私信,大多来自那些毕业不久,刚步入工作岗位的职场新人.询问的内容也大多是如何选择职业方向,如何成为一名优秀的软件工程师,以及怎样快速提高自身的技能等.我在一一回复的同时,不禁想结合自身的经历,谈谈如何才能成为一名优秀的全栈工程 师. 什么是全栈工程师 全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - 

为什么说全栈工程师是未来?

谨以此文献给每一个为成为优秀全栈工程师奋斗的人.本文节选自<Growth: 全栈工程师学习手册>.  技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快.今天技术的门槛下降得越来越快,原本需要一个团队做出来的Web应用,现在只需要一两个人就可以了.   同时,由于公司组织结构的变迁,以及到变化的适应度,也决定了赋予每个人的职责将会越来越多.尽管我们看到工厂化生产带来的优势,但是我们也看到了精益思想带来的变革.正是这种变革让越来越多的专家走向全栈,让组织内部有更好的交流.   你还将看

假如你想成为全栈工程师…

让我来发挥一下剪报君的特长,下面是百度百科对[全栈工程师]的说明: 全栈工程师,也叫全端工程师,英文Full Stack developer,是指掌握多种技能,并能利用多种技能独立完成产品的人. 上面的定义,基本上已经比较直白了,我们再举两个例子就更明白了. 假如你是一个Web开发者,如果你既能做前端(需要熟悉HTML.CSS.JavaScript.H5以及Bootstrap.EasyUI等各种前端框架),又能做后端(需要熟悉Java或ASP.net或php或Node.js或Go,选项太多就不一

全栈工程师必备!Devops Tools 周期表

老外整理的 Devops Tools 周期表,可以用酷炫屌炸天形容,划分了数据库.CI.日志.安全.监控.配置管理.云服务等15个大类,120个工具.有很人多都没全听说过,你要是全学会了你就是全栈工程师! 点击这里查看原文,最好用电脑看,鼠标放上去有悬浮效果非常酷炫. 本文作者:佚名 来源:51CTO

我的全栈工程师之路

最近国内外都在流行一个词叫Full Stack,中文翻译过来叫全栈工程师,也叫全端工程师.微博上很多专业人士都在讨论全端工程师,有赞有毁的.我对全端工程师的定义是:掌握多种技能,并能利用多种技能独立完成产品的人.打外比方,全栈工程师就是一个能独立盖一幢10层小洋楼的人,而普通工程师,则是可以和一群人盖一幢摩天大楼的人. 全栈工程师的价值 有人说了,你再牛逼,你懂五种技术,你能干五个人的活吗?全栈工程师并不是说一个人能干几个人的活,而是要从多个方面来看这个问题. 全栈工程师的成本几乎为零,因为各种

全栈工程师?并没有什么卵用。每个人都应该去创业,不为别的,就为了健全你的人格(转)

  困境: 全栈工程师在实际工作中,意义并不大. 从员工角度说,工作中几乎不存在需要你全栈能力的项目或岗位,项目本身的技术跨度就不会特别大,人员配备一般也会比较健全,你的技术力通常难以得到体现,虽然你也可以为整体项目提供支援,提供建议经验,然而这并不会有什么卵用,领导很难很难认识到你的价值,你也会招来他人的嫉妒,是的,你会招来嫉妒. 从项目管理角度说,尤其是技术这一块,一般不太会让一个人全面掌握或把持一个项目,这会带来巨大的人员风险. 其次,所有的公司,薪酬都是按"岗位级别"定的,不是