文档章节

你自己是全栈工程师吗

PHP开发学习门户
 PHP开发学习门户
发布于 2014/09/25 08:48
字数 2106
阅读 219
收藏 4

个人原创网址: http://www.phpthinking.com/archives/435

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

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

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


© 著作权归作者所有

PHP开发学习门户
粉丝 11
博文 39
码字总数 39233
作品 0
海淀
私信 提问
加载中

评论(8)

PHP开发学习门户
PHP开发学习门户 博主

引用来自“wangming1993”的评论

引用来自“ksly”的评论

引用来自“wangming1993”的评论

我PHP用的不多,现在专注于Java

@wangming1993 用PHP做网站的比较多,在学校一般菜用Java的jsp
现在实习的时候公司用的是Java ,我等有时间就要系统的学学PHP,到时还望大神能够给与指导

@wangming1993 我也是学了3年Java 工作了才明白PHP的工作相对好找,而且转型也容易
落雪有声踏地无痕
落雪有声踏地无痕

引用来自“ksly”的评论

引用来自“wangming1993”的评论

我PHP用的不多,现在专注于Java

@wangming1993 用PHP做网站的比较多,在学校一般菜用Java的jsp
现在实习的时候公司用的是Java ,我等有时间就要系统的学学PHP,到时还望大神能够给与指导
PHP开发学习门户
PHP开发学习门户 博主

引用来自“wangming1993”的评论

我PHP用的不多,现在专注于Java

@wangming1993 用PHP做网站的比较多,在学校一般菜用Java的jsp
落雪有声踏地无痕
落雪有声踏地无痕
我PHP用的不多,现在专注于Java
PHP开发学习门户
PHP开发学习门户 博主

引用来自“wangming1993”的评论

我一直在走全栈型的路线,但是真的感觉什么都会有时就是什么都不会

先精后广!可以关注一下 http://www.phpthinking.com
落雪有声踏地无痕
落雪有声踏地无痕
我一直在走全栈型的路线,但是真的感觉什么都会有时就是什么都不会
PHP开发学习门户
PHP开发学习门户 博主

引用来自“David_Lee_”的评论

要走得快,一个人走。要走的远,一起走

@David_Lee_ 欢迎关注小站 http://www.phpthinking.com/ 一起走!
David_Lee_
David_Lee_
要走得快,一个人走。要走的远,一起走
阿里巴巴年薪800k大数据全栈工程师成长记

阿里 大数据全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full Stack (需fanqiang)。他把全栈工程师定义为对性能影响有着深入理解的技术通才。自那以后全栈这个词便流...

qq_39658251
2018/03/26
0
0
2016 年最值得程序员阅读的开源书:《全栈增长工程师指南》

这本书来源于在《Repractise简介篇:Web开发的七天里》中所说的 Web 开发的七个步骤而展开的电子书。当然它也是一个 APP,是一本关于如何成为全栈增长工程师的指南。 编写过程 昨天,我终于把...

Phodal
2016/04/15
19.2K
49
北京尚学堂|全栈工程师到底有什么用

版权声明:本文为北京尚学堂原创文章,未经允许不得转载。 全栈工程师到底有什么用 最近国内外都在流行一个词叫Full Stack,中文翻译过来叫全栈工程师,也叫全端工程师。微博上很多专业人...

SXTkaifa
2016/10/28
38
0
[淘宝玉伯]说说全栈工程师

全栈工程师(Full Stack Developer)好像突然就火了,知乎、微博上都有讨论。这个概念在 2012 年时就有提出:What is a Full Stack Developer?,主要观点是: 有这么一批人,他们对软件开发的...

邪云子
2014/01/21
2.7K
15
《你是全沾,全站,还是全栈程序员呢》

与其他互联网热词一样,”全栈“程序员也是英译过来的,英文全文是:Full-Stack Developer,你想啊,中国人民怎么会用客栈的栈、堆栈的栈来形容工程师呢? 谈论一个概念,首先得给伊个定义,...

前端小攻略
01/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PCB设计-Allegro软件入门系列-铺铜操作(下)

铺铜是PCB很常见的操作,PCB的敷铜一般都是覆地铜,增大地线面积,有利于地线阻抗降低,使电源和信号传输稳定,在高频的信号线附近敷铜,可大大减少电磁辐射干扰,起屏蔽作用。 本讲讲解啊一...

demyar
29分钟前
4
0
如何通过WASI SDK 在Linux上编译ZXing C++

Mozilla在今年三月份的时候公布了WASI。WASI的目标就是让WebAssembly在任何地方都可以运行,而不仅仅像现在这样只能运行在Node.js和Web浏览器中。WASI目前依然处于初级阶段,这篇文章分享下如...

yushulx
30分钟前
3
0
.Net界面开发神器—DevExpress官方汉化包免费下载!还在等什么?

点击获取DevExpress v19.1.7新版试用下载 DevExpress Localization Service允许您创建一组自定义的附属程序集,要将语言包添加到程序集中,请查看本文中为大家列出的对应版本的汉化包,下载并...

FILA6666
31分钟前
4
0
php生成二维码

        header('Content-Type: image/png');        //清除缓冲区,防止之前面不知道的情况下被加头部信息导致不显示图片内容        ob_clean();        $...

横着走的螃蟹
36分钟前
3
0
伪类和伪元素

伪类和伪元素 伪类和伪元素,对于绝大多数同学来说,都是耳熟能详的名字,但确实又有很多人搞不清楚它们之间的区别,以致于混淆概念。而当概念都混淆的时候,也往往意味着你不会经常使用它,...

不负好时光
38分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部