后端:所有跟业务逻辑权限控制数据处理有关的都是后台做的,比如权限控制,订单管理,数据库交互。
全栈:前端后端都有一定的了解和能力,能够前后端独立工作。
通过三者的综述,大家可以清晰的分出前端和后端的工作内容和所需技术,但是对全栈还是不是很了解,至少他不是简单的前端+后端技术的叠加。那么全栈到底工作内容是什么呢?他的价值又在哪呢?我们是否需要成为这样的人呢?
3、全栈工作内容是什么?首先全栈是掌握多种技能,并能利用多种技能独立完成产品的人。他们掌握着独立完成产品常用的20%技能,另外的80%需要的时候有能力获得。而另外两个工种是掌握着专业领域80%的技能,甚至是90%,另外的10%通过其他渠道获得。
4、全栈价值是什么?全栈工程师的工作内容和价值融在一起。全栈工程师就算是各方面都是80%(确实有这样的人存在),但是精力有限,他一个人不能长期干3-5个人的活儿。所以他们工作的大部分内容在全局性把握和沟通,特别优秀的全栈能做到关键性技术指导。
Web前端也远远不是从前的切个图用个jQuery上个AJAX兼容各种浏览器那么简单了。现代的Web前端,你需要用到模块化开发、多屏兼容、MVC,各种复杂的交互与优化,甚至你需要用到Node.js来协助前端的开发。所以说一个现代化的项目,是一个非常复杂的构成,我们需要一个人来掌控全局,他不需要是各种技术的资深专家,但他需要熟悉到各种技术。对于一个团队特别是互联网企业来说,有一个全局性思维的人非常非常重要。
在恰当的时机用恰当的技术开发实现恰当的产品常常要远比具体某个功能实现要复杂和重要的多,而这是全栈工程师需要考虑的。
沟通成本项目越大,沟通成本越高,做过项目管理的人都知道,项目中的人力是1+1<2的,人越多效率越低。因为沟通是需要成本的,不同技术的人各说各话,前端和后端是一定会掐架的。每个人都会为自己的利益而战,毫不为已的人是不存在的。
而全栈工程师的成本几乎为零,因为各种技术都懂,胸有成竹,一不小心自己就全做了。即使是在团队协作中,与不同技术人员的沟通也会容易得多,你让一个后端和一个前端去沟通,那完全是鸡同鸭讲,更不用说设计师与后端了。但如果有一个人懂产品懂设计懂前端懂后端,那沟通的结果显然不一样,因为他们讲的,彼此都能听得懂。
全栈工程师的机会创业型公司和中小型公司的发展,尤其是万众创业的风潮,会促进全栈工程师的发展,也会更加凸显他们的价值,因为虽然单个全栈工程师的工资很高,但是远比专业性分工团队的成本要低得多,而且全栈工程师更能应对多变的创业公司需求,降低团队沟通成本。
5、全栈面临的困境是什么?
武侠里面有两个全栈工程师,一个是鸠摩智,号称会少林七十二绝技,结果呢,最后变成了“打残哥”,虚竹来了把他打残了,段誉来了把他打残了,最后乔峰来了又把他打残了,所以想通过学习变成全栈肯定会死的比鸠摩智还惨。那怎么办?武侠最强全栈是扫地僧,这家伙是bug级存在,但是大家发现人家是靠年头熬出来的。所以这个是正路,全栈是经验不是课本,是一种思维。为什么说国外全栈很多呢。因为很多人都是10年以上工作经验,一开始是后台工作,工作了几年跳槽了换了一家工作发现需要数据交互又做数据交互了,这个时候也会简单的切图了,然后工作又变动发现切图和套js太麻烦了。用vue试试一不小心又会vue了,vue写多了,发现后端是不是也可以用js啊,有了node和koa,那数据库是不是可以呢,上MongoDB,最后发现这个语言不好用,我自己写个吧。所以很多全栈都是大胡子中年。
全栈应该是业务需求催出来的,而不是学出来的。可是现在很多提全栈的人都是什么人呢?大部分是工作3-5年想转管理的。
其实全栈和技术大牛是殊途同归的,就像《人月神话》里面技术专家和手术刀其实最后都融合了。你学吃饭的过程想过是只学用筷子还是勺子吗?
因为当专到一定程度的时候自然就融会贯通了,反过来当你博采众长的时候,自然就知道哪里自己薄弱需要加强了,全栈和专业并不冲突,他们的目的都是为了完成工作这件事。从外因看,科技节奏的飞速发展,万众创业催生出了一系列小型公司,从成本催生了对全栈的热捧,另外知识行业的贩卖焦虑,培训行业的推波助澜,加剧了前端行业对全栈的急功近利的追求。