青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 一个更加牛逼的科技媒体将如何崛起具有“自主知识产权”的国产操作系统COS发布 »

全栈工程师到底有什么用

  最近国内外都在流行一个词叫Full Stack,中文翻译过来叫全栈工程师,也叫全端工程师。微博上很多专业人士都在讨论全端工程师,有赞有毁的。我对全端工程师的定义是:掌握多种技能,并 能利用多种技能独立完成产品的人。打外比方,全栈工程师就是一个能独立盖一幢10层小洋楼的人,而普通工程师,则是可以和一群人盖一幢摩天大楼的人。至于 要掌握哪些技能,我觉得这个要跟从事的行业与技术方向有关,做互联网的和做软件的是不一样的,即使是做互联网的,后端也可以分为很多种技术流派。

  8/2定律在哪都适用,全栈工程师就是掌握20%常用技能的人,但这20%的技能会有80%的几率被用到,剩下那80%不常用的,让我们Google吧。

  有人说,全栈工程师在中国已经很多年了,他们叫站长。这个说话有点靠谱但又不那么靠谱,我自己也做过站长,深知作为一名站长需要掌握很多种技术。不靠谱的是,很多站长其实并没有真正写过多少代码,而是熟练利用一些建站软件来建站。

  全栈工程师的价值

  有人说了,你再牛逼,你懂五种技术,你能干五个人的活吗?全栈工程师并不是说一个人能干几个人的活,而是要从多个方面来看这个问题。

  全局性思维

  现代项目的开发,很少说只用到一两种技术的,特别是移动互联网大潮下。随便一个互联网项目中用到的技术,就会需要用到后端开发、前端开发、界面设 计、产品设计、数据库、各种移动客户端、三屏兼容、restFul API设计和OAuth等等,一些比较前卫的项目,可能会用到Single Page Application、Web Socket、HTML5/CSS3这些技术,还有像第三方开发像微信公众号微博应用等等。

  Web前端也远远不是从前的切个图用个jQuery上个AJAX兼容各种浏览器那么简单了。现代的Web前端,你需要用到模块化开发、多屏兼容、MVC,各种复杂的交互与优化,甚至你需要用到Node.js来协助前端的开发。

  所以说一个现代化的项目,是一个非常复杂的构成,我们需要一个人来掌控全局,他不需要是各种技术的资深专家,但他需要熟悉到各种技术。对于一个团队特别是互联网企业来说,有一个全局性思维的人非常非常重要。

  像如果是我经手的项目,我肯定会注意到网页优化,也会考虑到API来兼容各种客户端,更会考虑到三屏兼容的问题。不会说项目中完全使用AJAX而不顾SEO,也不会为了功能性而忽略访问速度,我会很好的把握这个平衡,因为我知道它们的权重与实现成本。

  沟通成本

  项目越大,沟通成本越高,做过项目管理的人都知道,项目中的人力是1+1<2的,人越多效率越低。因为沟通是需要成本的,不同技术的人各说各话,前端和后端是一定会掐架的。每个人都会为自己的利益而战,毫不为已的人是不存在的。

  而全栈工程师的成本几乎为零,因为各种技术都懂,胸有成竹,一不小心自己就全做了。即使是在团队协作中,与不同技术人员的沟通也会容易得多,你让一 个后端和一个前端去沟通,那完全是鸡同鸭讲,更不用说设计师与后端了。但如果有一个人懂产品懂设计懂前端懂后端,那沟通的结果显然不一样,因为他们讲的, 彼此都能听得懂。

  创业公司

  对于创业公司来说,全端工程师的价值是非常大的,创业公司不可能像大公司一样,各方面的人才都有。所以我们需要一个多面手,各种活都能一肩挑,独挡 多面的万金油。对于创业公司,不可能说DBA前端后端客户端各种人才全都备齐了,很多工作请人又不饱和,不请人又没法做,外包又不放心质量,所以全端工程 师是省钱的一妙招。虽然说全端工程师工资会比一般的工程师会高很多,但综合下来,成本会低很多。

  全栈工程师的困境

  我讲技术有两个发展方向,一种是纵向一种是横向的,横向的是瑞士军刀,纵向的是削铁如泥的干将莫邪。这两个方向都没有对与错,发展到一定程序都会相互溶合,就好比中国佛家禅修的南顿北渐,其实到了最后,渐悟与顿悟是一样的,顿由渐中来。

  如果一个公司不太懂全栈工程师的价值,那么全栈工程师的地位将会很尴尬,说得不好听一点,全栈工程师就是什么都会,都么都不会。曾经有一次面试,对 方问我很基础的问题,我答不上来,我能做出产品,也知道什么是怎么一回事,我也不会犯那些错误,但我就是答不上概念,要考倒我非常容易。所以在应聘面试的时候,有些时候会吃亏,你可能会不如哪些在某一方面钻得很深的人工资拿得高。

  由于经常在各种技术穿梭,我会经常忘记代码的语法和一些API,所以我经常需要去查API甚至查语法,我觉得没有Google我几乎没法工作。这在某些人的眼里,是技术不够的表现。我记的只是一个Key,一个如何找寻答案的索引,而不是全部,人脑不是电脑,我不可能要求我能记下所有的东西。

  有一次面试官问我一个问题,我说我不知道,但我猜大概是如此这般,对方问我,你为什么这么猜,我说凭直觉,对方笑了笑没说话。面试完后我一查,果然和我猜的差不多。没错,我就是凭直觉,但这种直觉和女人的直觉不一样,这种直觉是技术上的直觉,是你过去技术经验累积的一个反射。

  为什么我会成为全栈工程师

  我相信很多全栈型工程师会和我一样,是因为要创业才成为全栈型工程师的。我有一颗创业和做产品的心,而且我又是一个不愿意麻烦别人的人,有些人擅长整合资源,空手套白狼,但我显然不是这种人,所以我只好自己做了。

  在经历过两次孤独的创业之后,我发现我并不是一个适合独立创业的人,所以,我成为了一个全端工程师。我最初是做ASP,后来自己创业写客户端用 Delphi,然后写了三年的ASP.Net,2010年的时候因为公司需要开始做iOS开发。Web前端是一直自己在做,项目中的的 Javascript基本都是我自己在做。

  我热爱写代码,热爱重复发明轮子,热爱新技术,我想这也是我成为一个全栈工程师的重要原因。

  于我自己来说,我觉得全端工程师的乐趣要比一般工程师来得多,因为你知道一个产品的形态,你可以去设计一个产品,你是从全局的视野来做事情,你得到的成就感会更多一些。

  来源:投稿,原文链接



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/3731.html
  • 文章排行:
  • 1.周仕杰
  • 我相信很多全栈型工程师会和我一样,是因为要创业才成为全栈型工程师的。我有一颗创业和做产品的心,而且我又是一个不愿意麻烦别人的人,有些人擅长整合资源,空手套白狼,但我显然不是这种人,所以我只好自己做了。

    原来我也是全栈工程师
  • 2014/12/3 20:44:54   支持(37)反对(16) 回复
  • 2.magicd
  • 深表同感,从大公司出来,很清楚各个岗位,各个位置螺丝钉是干嘛的,但是如果要创业,或者去创业团队,那么你必须从运维,DBA,coding,架构师,产品经理,策划各个角色中变换,有时候觉得会很多,有时候觉得又什么都不会好恐惧,如今终于明白,其实什么都懂一点什么都能做的好处只在一点,就是可以随时投入任何新的领域,不会有任何的自我束缚,懂一点不代表不能学精,而在于是否有价值,学精需要的只是时间,而学新东西的能力来源于求知欲和天赋,两者并不冲突也不矛盾。
  • 2014/1/21 11:55:16   支持(44)反对(33) 回复
  • 3.lamansun
  • 才看到这篇文章 深有感触 我也算是这类程序员吧 什么方面的技术都有涉猎 最早做web相关的 html css js php asp都会一些 后面又开始做桌面应用程序 主要是winform和wpf 还有做过一点silverlight的东西 有时候需要写一些服务端和数据库 以及网络通信相关的 去年对游戏开发感兴趣 又学了下unity3d 还会点3dmax建模 现在打算把c++学精通 研究游戏引擎和图像相关的知识 唉 这么多技术 还真没一样敢说精通的 好多学过后又忘得差不多了 但不得不说 知识面广 对遇到的很多问题都有很大的帮助 知道怎么去寻找解决办法 这么多年来一直一个人做编程 所有问题都是靠自己找资料解决的 可能大家奇怪我是干啥的 我算是一个自由开发者吧 一直也梦想创业
  • 2015/7/3 2:51:48   支持(25)反对(14) 回复
  • 4.Jeson
  • 如果我说中国大部分人看到这篇文章都会深有感触的说,自己在公司就是什么都做的全栈工程师,你信吗?
    Sigma 于 2014-5-11 0:32:44 回复
    有所好转吧。
    现在公司成规模了,分的比较细了。
    刚细分,看样子又要合并了...

    想起一个笑话:
    我们农村人刚吃上肉,你们城里人又要吃菜了。
  • 2014/1/17 9:27:17   支持(38)反对(28) 回复
  • 5.qiankunli
  • 您面试的感觉我真是感同身受,我qq是903570144,不知道有没有机会跟您交流一下
  • 2014/9/15 8:55:43   支持(24)反对(14) 回复
  • 6.leadwit
  • 这篇文章是原创的吗?
    我跟楼主有太多的相似经历
    并且文章中最后的心里路程和总结,我都非常赞同
  • 2014/7/5 11:29:15   支持(27)反对(20) 回复
  • 7.johnny
  • 我怎么觉得这里的 全端工程师不就是 不写代码的架构师吗?
    Sigma 于 2014-5-11 0:35:05 回复
    我到觉得是个写代码的架构师。
  • 2014/1/17 16:26:43   支持(29)反对(23) 回复
  • 8.sysutt
  • 对这篇文章深有同感,我大概也算四分之三个全栈工程师吧,一直在做UI设计和中前端开发的工作,也会折腾一下数据库,在工作中也还算吃得开,但始终觉得找一份真正契合自己能力和兴趣的工作太难了,还是希望有朝一日可以碰到志同道合的人,一起创业。
    Sigma 于 2014-5-11 0:34:06 回复
    兄弟牛X,UI设计和数据库兼并,这够跨界的~
  • 2014/1/16 17:08:01   支持(31)反对(27) 回复
  • 9.asj
  • 怎么看都忍不住看成金钱工程师
    我这是多缺钱啊
  • 2014/1/17 10:55:14   支持(29)反对(25) 回复
  • 10.yukon12345
  • 其实这种人适合做项目经理或者CTO不适合做程序员。因为效率太低了。投稿人有点面试错了方向。
  • 2015/2/23 19:19:09   支持(24)反对(23) 回复
  • 11.wkl17
  • 啊哈..原文链接却打不开了..404..
  • 2015/12/26 2:43:31   支持(1)反对(0) 回复
  • 12.总在变
  • 不能用一两句话说清楚深表理解,希望网站越来越好。。。
  • 2015/8/12 9:22:04   支持(12)反对(13) 回复
  • 13.simonez
  • 潜力股都是被逼出来的啊···
  • 2014/1/17 12:00:12   支持(30)反对(32) 回复
  • 14.姜小贤
  • 不仅技术好,文采也不错,赞!我还是一名小菜鸟,非常希望向你学习~
  • 2015/3/12 11:16:45   支持(19)反对(21) 回复
  • 15.宋是非
  • 太杂了,无法一两句说清楚, 深表理解
  • 2014/1/17 18:27:52   支持(18)反对(21) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.