全端工程师是种啥体验

比如我最近谢了一个社区o2o的项目,是自己一个人写的,包括产品,美工,前后端,android什么的都包括。做前端实际上就不是为了大公司打工去的,你要么自己创业,要么去创业公司。我的最初原因是受不了其他小伙伴的效率,现在觉着是自己负责一条产品线也挺好。说一下几个只有全端才会知道的事情。1、知道切什么样的图更合适放在程序里。2、知道什么样的产品设计才是实现起来最高效。3、知道什么地方不用画图,用控件自带风格更好。4、知道什么样的接口和参数用着最合适。5、修改式样瞬间完成,不用像以前那样协调一堆人,还要等到。6、能少写很多文档。而且最大的好处是,对产品的理解会变得非常深入,因为你知道所有的细节。
■网友
我只是立志成为全栈工程师,目前还是没有达成这个成就的……梦想还是要有的,万一哪一天实现了再来回答这个问题……
■网友
先说下自己,本人08年商科毕业,去了一系列广告公司做各种网站,当中做了很多种事情,甚至客户经理,项目经理,连设计师都干过。后来各种机缘巧合到了微博,做码农。08年做PHP为主,09年做了好多前端的工作,还写了好多Flash AS3,那些3D的货什么的。10年离开了广告界做了1年市场营销,后来做了项目经理,但帮助一些超高并发网站解决了一些系统问题。12年到微博,期间研究了好久大数据,写了好些算法,和计算问题,比如什么梯度啊,LDA啊,ID3/C4.5/Kmeans/SVM啊之类之类。现在管理一个团队,从前端到数据库都在做,之中管理一个存储超过400亿条记录的小集群,一大堆几百个api,和一个由Backbone/Grunt管理的前端感觉仍然不够全栈,我不是自吹,你知道的越多,你发现你不知道的越多,现在写PHP, Python, JAVA, SQL, JS多了,但C/C++基本全忘记。基本只能搞掂插件啥的,最近在看scala,但各种不适应,几近放弃。同时,你还要不停看如信息论,学习算法之类的东西,否则你马上不记得那些积分微积分,梯度,导数,牛顿法,随机梯度,马尔科夫链之类的东西。前几周和一个同事在讨论MCMC(蒙特卡洛马尔科夫)被弄的不要不要的。以下是感受:全栈码农基本上开始脱离对代码的研究,因为他们发现全栈了以后考虑各种代码特性其实没有意义,比如申明方法,有些是func,有些是function,有些是def。反正是个方法更有甚者,对什么OOP也开始缺乏兴趣,比如什么全OOP(Java),不完全OOP(PHP),等等。这些有时候没啥意义更多关心的是这些代码如何运作的。比如说Prototype Chain之类的东西,什么event driven啊,会比较有意思一点。另外,全栈码农基本上有个固定的模式,也就是他无论写什么代码都是一个模子,而且较少使用很多新特性。这种人,面试基本是吃亏的。原因很简单,东西太多了,记不住,只要能高效达到目的就好,所以导致的结果就是全栈码农的代码并不像专一于某个领域的人写的,他们的代码看起来笨,知识栈短。但并不一定是坏事,化很少的资源能达到目的,比你使用很多资源很多新特性达到目的要有效的多。好了,言归正传:本人并不认为真正存在全能码农,要存在,真的好难。能力也没有可比性,或者说感兴趣的是2个层面上的问题(我没有说不去了解基础知识是不好的,有些时候你不该管CPU,那你就不要管)。同时交付物上也没有可比性,你会经常听到PHP码农全栈的说,"哎~,有array_flip()你干嘛自己写一个"。得到的回答是,"我不知道他存在。。。谢谢你提醒,不过写一个也挺简单,但效率肯定不如原生。。。"
■网友
别人一群人盖一栋大厦,自己一个人造一栋三层小洋房。
■网友
不用写文档
■网友
感觉全端压力特别大。但所应用的东西特别多。而且,技术应用占有率也很高。比如,一个项目可能用 .net,你就要会 .net。如果是PHP的,你就要用PHP,如果是JAVA,那么就要用JAVA。单机版的,有可能要用 C。而且,运行环境你也要会整理。完全走需求。而且前端你要都能上,比如,前端动画效果,用户的突发奇想,你都要自己整。有时,你在网上都找不到,特别郁闷。。。为了更好的有效率的开发,一些新技术的使用也不是可缺少的。个人感觉怎么做都不如多人一起效率高——因为你一个人整一个项目,而且,公司里要有与电有关的设备出问题,你都要进行修理(很多项目你还要处理,硬生生地从思路中拉出),再者,很多人还不理解你。一个字“累”,两个字“太累”,三个字“真太累”。最后想说得是:工资不高。。。


推荐阅读