相似这样的问题还有其余变种问题,是否是到了30岁最迟35岁就要转管理了,是否是技术年龄大了就没有优点,精力跟不上了?这些都是从业者广泛存在的问题,反应了技术发展的两个方向,一种是纵向一种是横向的,横向的是瑞士军刀,纵向的是削铁如泥的干将莫邪。 到底选哪一个呢?
不少人对前端、后端、全栈都是按能力排名的,排名方式以下:
前端>后端>全栈,而后人们都喜欢最牛掰的,就像没人知道第二个登上月球的人同样,而后全栈就火了。小编先把这三个工种该作什么不应作什么,你们就清楚怎么作了。
前端:
全部你能看到的东西都是前端作的,好比界面、交互,固然还有数据从后台读取展现和向后台发送数据。
(具体对好比图,一图抵万言。)

后端:
全部跟业务逻辑权限控制数据处理有关的都是后台作的,好比权限控制、订单管理、数据库交互。

全栈:
前端后端都有必定的了解和能力,可以先后端独立工做。

经过以上三者的综述,你们能够清晰的分出前端和后端的工做内容和所需技术,可是对全栈还不是很了解,至少他不是简单的前端+后端技术的叠加。那么全栈到底工做内容是什么呢?他的价值又在哪呢?咱们是否须要成为这样的人呢?
首先全栈必须是掌握多种技能,并能利用多种技能独立完成产品的人 。
他们掌握着独立完成产品经常使用的20%技能,另外的80%须要的时候有能力得到。而另外两个工种是掌握着专业领域80%的技能,甚至是90%,另外的10%经过其余渠道得到。

全栈工程师的工做内容和价值是融在一块儿的。
全栈工程师就算是各方面都是80%(确实有这样的人存在),可是精力有限,他一我的不能长期干3-5我的的活儿。因此他们工做的大部份内容在全局性把握和沟通,特别优秀的全栈能作到关键性技术指导。
全局性把握
项目的开发,不多是只用到一两种技术的,特别是在移动互联网大潮下。随便一个互联网项目中用到的技术,就会须要用到后端开发、前端开发、界面设计、产品设计、数据库、各类移动客户端、三屏兼容、restFulAPI设计和OAuth等等,一些比较前卫的项目,可能会用到SinglePage Application、Web Socket、HTML5/CSS3这些技术,还有像第三方开发像微信公众号微博应用等等。
Web前端也远远不是从前的切个图用个jQuery上个AJAX兼容各类浏览器那么简单了。现代的Web前端,你须要用到模块化开发、多屏兼容、MVC,各类复杂的交互与优化,甚至你须要用到Node.js来协助前端的开发。
因此说一个现代化的项目,是一个很是复杂的构成,咱们须要一我的来掌控全局,他不须要是各类技术的资深专家,但他须要熟悉到各类技术。对于一个团队特别是互联网企业来讲,有一个全局性思惟的人很是很是重要。
在恰当的时机用恰当的技术开发实现恰当的产品经常要远比具体某个功能实现要复杂和重要的多,而这是全栈工程师须要考虑的。
沟通成本
项目越大,沟通成本越高,作过项目管理的人都知道,项目中的人力是1+1<2的,人越多效率越低。由于沟通是须要成本的,不一样技术的人各说各话,
前端和后端是必定会掐架的。每一个人都会为本身的利益而战,绝不为已的人是不存在的。
而全栈工程师的成本几乎为零,由于各类技术都懂,成竹在胸,一不当心本身就全作了。即便是在团队协做中,与不一样技术人员的沟通也会容易得多,你让一个后端和一个前端去沟通,那彻底是鸡同鸭讲,更不用说设计师与后端了。但若是有一我的懂产品懂设计懂前端懂后端,那沟通的结果显然不同,由于他们讲的,彼此都能听得懂。
全栈工程师的机会
创业型公司和中小型公司的发展,尤为是在万众创业的风潮,会促进全栈工程师的发展,也会更加凸显他们的价值,由于虽然单个全栈工程师的工资很高,可是远比专业性分工团队的成本要低得多,并且全栈工程师更能应对多变的创业公司需求,下降团队沟通成本。
可是,不少人为了成为全栈工程师或者已是全栈工程师面对着巨大的困境。
1.一个工做两年的切图都比一个全栈工程师切图好,一个8k的Java都比3W的全栈写的代码快,他们经历着博而不精的煎熬。
2.成为全栈不少人须要花费大量的学习时间,到最后依然是无功而返。
最后形成了一个现象是,你确实什么都会,问题是我要的是一个8k的切图,而不是一个3万什么都会一点的全栈。
形成这两个现象的缘由有内因和外因两个方面。
内因看我的定位不清晰,在该专精的时候选择了全栈。
不论是前端仍是后台,全栈的意思是你可以独立工做,不是你前端会切个图,后端你会写个sql就行的,而一个领域没有三年是达不到上述状况的,而不少人工做三年切图或者js就想着全栈了。
全栈不是一不当心成为的,是你的工做经验堆出来的,不是学出来的,全栈是经验不是课本,而是一种思惟。

为何说国外全栈不少呢。由于不少人都是10年以上工做经验,一开始是后台工做,工做了几年跳槽了换了一家工做发现须要数据交互又作数据交互了,这个时候也会简单的切图了,而后工做又变更发现切图和套JS太麻烦了。
用vue试试一不当心又会vue了,vue写多了,发现后端是否是也能够用JS啊,有了node,那数据库是否是能够呢,上MongoDB,最后发现这个语言很差用,我本身写个吧。因此不少全栈都是大胡子中年。
全栈应该是业务需求催出来的,而不是学出来的。但是如今不少提全栈的人都是什么人呢?大部分是工做3-5年想转管理的。
其实全栈和技术大牛是异曲同工的,就像《人月神话》里面技术专家和手术刀其实最后都融合了。你学吃饭的过程想过是只学用筷子仍是勺子吗?
由于当专到必定程度的时候天然就融会贯通了,反过来当你博采众长的时候,天然就知道哪里本身薄弱须要增强了,全栈和专业并不冲突,他们的目的都是为了完成工做这件事。
因此全部前端从业者应该明白,技术是为解决问题服务的,找准本身的位置,经过时间去不当心成为全栈,而不是成为书本里的全栈,作一个务实的技术从业者,那么他的明天必定是光明美好的。
最后一句,技术是为解决问题服务的。