全栈工程师到底有什么用

标签: 编程开发 | 发表时间:2014-01-16 16:00 | 作者:涂雅 (iove)
出处:http://www.williamlong.info/

  最近国内外都在流行一个词叫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基本都是我自己在做。

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

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

  来源:投稿, 原文链接

评论《全栈工程师到底有什么用》的内容...

相关文章:


微博: 新浪微博 - 微信公众号:williamlonginfo
月光博客投稿信箱:williamlong.info(at)gmail.com
Created by William Long www.williamlong.info

相关 [工程师] 推荐:

遭遇工程师

- Chrisoul - 槽边往事
谢谢大家的关心,几个小时前Google Plus恢复了我的帐号,看来暂时我还不用离开. 因为前一篇Blog的缘故,有些网友猜测是因为博文而使得我获释. 虚荣心让我想立即承认这一点,但是对不起,真的不是这样的,我的Blog并没有那么大影响力,尤其是在英文世界里. 而且,因为我上次张贴了一张人类进化谱系的漫画,我在国外驻京记者圈里成功赢得了“种族主义者”这一臭名昭著的称号,大概没有什么人愿意帮助一个黄种人中的“种族主义者”.

工程师效率

- - 后端技术 by Tim Yang
很好奇程序员这个群体这些年效率是变低了还高了,在社交媒体中,各个阶层的兴趣圈都有自己的段子手及内容帐号,段子手发的内容会让你笑cry,内容帐号发的内容可让你享受阅读的快感,这些快感会比写代码见效快. 写完一个模块的代码通常要一整天或者几天时间,代码调通运行没有问题才会体验到愉悦,而社交媒体只需要一些碎片时间就可以达到高潮.

知乎招募工程师

- oxygen - 知乎的博客
Python工程师  有两年以上软件开发经验. 至少一年 Python 开发经验. 对开源技术有强烈的兴趣和爱好,参与或向开发者提交过bug和patch. 热爱探索和钻研,熟悉文本挖掘、自然语言处理相关知识能使用C/C++独立实现复杂的算法结构熟悉开源搜索项目(Lucene,Sphinx等)极强的逻辑分析能力对开源技术有强烈的兴趣和爱好,参与或向开发者提交过bug和patch认为自己是技术geek有极强的责任感.

浅谈技术工程师的进步

- belltoy - caoz的和谐blog
本来发微博的,越说越多,算了,发篇博客把,说点工程师如何取得进步的问题,. 1:描述和记录问题要精确,数字化,“负载很高,连接很多,速度很卡”这种描述都是不对的,负载uptime值多少,连接数具体有多少,平时正常多少,高峰多少,访问延迟有多大,全部要数字化,而且要有问题状况下和平时的对比,养成这样的习惯,技术分析能力才会有进步.

工程师与会计 [幽默笑话]

- Liqun - 经典网文_来福岛爆笑娱乐网
  有三个工程师和三个会计一起去外地开会,上火车时三个会计买了三张车票,而三个工程师却只买了一张票,会计很不解,工程师说:“上了车你们就知道了”.   火车刚一开动三个工程师就挤进了一个厕所,列车员开始检票最后走到了厕所外边,她敲了一下门说:“检票”. 然后门开了一个小缝,从里面递出一张车票.   在外地开完会后在返回的时候会计们觉得工程师们的方法很不错于是也只买了一张车票,而这次工程师一张票也没有买,会计们又很不解,工程师还是说:“上了车你们就明白了”.

[北京]python工程师 - 创新工场

- Ken - python.cn.jobs
创新工场旗下旅游SNS网站团队招聘python工程师. 职位要求:1、两年以上软件开发经验.                     2、一年以上python开发经验.                     3、有强烈的责任感,对开源技术有强烈的兴趣和爱好,有创业兴趣.                     4、算法强大,有大规模数据处理经验优先.

SOPA、PIPA——工程师应该担心吗?

- - InfoQ cn
1月18日,与其他大约10,000家网站一起,wikipedia.org停止了他们的服务,以抗议美国立法机构对SOPA和PIPA的背书. 尽管投票最近被延迟,互联网社区仍需担心. 软件工程师可能认为:他们不会被这次立法所影响,特别是如果他们处于美国之外的话. 但是考虑到Big Data、云计算以及其他趋势,这么想可能很傻很天真.

Hadoop工程师成为热门职业

- mazhechao - Solidot
JP摩根大通总经理Larry Feinsmith在纽约举行的Hadoop World 2011会议上发表了主题演讲,公开声明高薪招聘精通Hadoop的软件工程师. Hadoop是一个顶级Apache开源项目,主要被应用于分析大数据集,被eBay、Facebook、Yahoo、AOL和Twitter等互联网公司广泛采用,今年微软、IBM和甲骨文也都纷纷拥抱Hadoop.

我眼中的工程师文化

- - ITeye博客
现在HR和猎头也懂得,挖程序员不能光讲钱和项目了,多少号称工程师文化的公司花开北京上海,可是到底什么是“工程师文化”. 有人说,什么文化就是什么说了算的意思,工程师文化就是工程师说了算. 也有人说,工程师文化就是自由上下班、松散管理,做喜欢的项目. 我想这依然是不恰当的,这些人只说出了工程师文化给工程师带来的权利,更何况这种对权利的认定还是片面的.

前端工程师技能汇总

- - 博客园_新闻
还记得@jayli 的这幅前端知识结构图么. 缺失源图的我们,无法为此图贡献些什么,随着时间的迁移,或许有些技术点会发生改变,所以有了这个 github 项目. 我们可以通过协作的方式来共同维护这个项目. Git 的历史记录也可以见证前端行业的一些变迁. 尽管会变成文字的方式来维护这些内容,但是我承诺写一个小工具帮大家生成更好玩的图形(基于 DataV 项目).