全栈project师的毁与誉

全栈(Full Stack)project师。也可以叫全端project师,无论是前端知识,仍是后端架构你都要了解。甚至有些调皮的程序猿这样理解全栈project师:全栈project师 = 屌丝战斗机 = 系统 + 网络 + 研发 + dba + 架构 + 安全 = 没女友,拿一份工资作三份事情的典型。每个站长都是一个全栈project师,每个站群的站长都是超级全栈project师。前端

本文转自个人独立博客: 全栈project师的毁与誉后端

曾经,软件project师最在乎的是成为某个领域的专家或者高手;现在。随着软件技术的发展以及需求的变化。尤为是愈来愈多的程序猿出来本身创业,因为各类条件限制,不少技术上的问题不得不亲力亲为地去完毕。所以。很是多程序猿慢慢地就练就了精通多门技术的本领。浏览器

full-stack-engineer

这不,就有位程序猿在知乎上提问:“ 怎样成为全栈project师(Full Stack Developer)?,在OSCON会议上。一名Facebook的project师说他们仅仅聘请“全栈(Full stack)”的程序猿。”此话题一出。引发了你们的热烈讨论。安全

不少经验丰富的project师纷纷在如下留言。讨论成为全栈project师的价值在哪里,你们是否需要成为全栈project师,笔者就知乎上的精彩回答进行了整理,最好仍是一块儿来看下:性能优化

Cat Chen网络

既然原文是说,Facebookproject师说Facebook仅仅招Full Stack Engineer,那我就来讲说Facebook Engineer都是怎样的人。架构

我以为不论什么一方面的详细经验都不重要,重要的是思惟方式和学习能力app

首先说思惟方式,那就是不为本身设限,不会想着本身是前端project师,因此后端的东西我就一点也不碰。Facebook 的project师,级别越高就需要保持越大的影响力。编辑器

怎样创造更大的影响力。就是寻找当前杠杆效应最明显的问题来解决。性能

有些问题你攻克了的话,投入进去的时间每小时能换回来一千美圆;有些问题你攻克了的话,投入进去的时间每小时能换回来一百万美圆

然而哪些问题更值得解决,这是动态的。每每还存在衰减效应。假设现在性能瓶颈在后端,你作了一个季度两个季度优化后,瓶颈就已经不在后端了,你再优化下去衰减效应就会愈来愈明显。

等瓶颈变成前端了,你是否是就说因为你不懂,因此不肯意碰?那就至关于寄望于公司有个前端很是懂性能优化的人来解决,但假设公司没有这种人那就没有人来攻克了。

Facebook的众多海报其中,有一张写的是「不论什么一个Facebook 的问题。都不是别人的问题」。有问题,你就需要去评估是否值得解决。

假设值得解决,你就应该着手去解决,而不是假设公司内会有另一我的比你更合适解决问题。这时候很是可能你就需要去作你历来没有作过的事情,需要学习你本来可能全然不懂的技术。

假设你是个专门作数学模型的博士,增长Facebook 本来是打算作搜索结果优化的,结果发现这不是最急需解决的问题。JavaScript 性能才是最需要解决的问题。你怎么办?假设你觉得 Facebook 需要的是你作数学模型的经验。那你就错了。Facebook 需要的是你完毕博士学位的学习能力。你历来没作过JavaScript并且以为JavaScript很是恶心?正确的作法是当即在网上买几本JavaScript入门的书连夜看完,而后着手分析性能瓶颈并且解决。在你完毕手动优化后,你还可以思考一下是否能把这作成本身主动化,好比说在代码提交时分析JavaScript语法树并且指出可能成为性能瓶颈的地方,又或者说从用户浏览器那里收集性能数据扔到Hive而后再从中分析产生瓶颈的特征。这些均可能涉及到一些你没有作过也没有学过的东西。但问题摆在那里你就需要去解决,而无论这要求你去钻研什么。

这就是我所说的学习能力。

顾鹏

设计后台开发、前端开发、移动开发、运营维护、PS、文案… 好像都会了。这算Full Stack Engineer了么?

不,这仅仅是踏上成为Full Stack Engineer的第一步。你知道眼下仅仅是每个stack都懂一点,离senior或者expert还差得远,而要每个stack都作到极致。需要大量的时间和精力。

精力有限,产品开发紧迫。力不从心啊,这条道路也太孤独。因为你不需要与不论什么人进行协做。

难道要把一些stack的任务交给别人作么?这样算是放弃成为Full Stack Engineer么?

不。这不是。

什么是Engineer?Engineer的本质工做是设计,开发出应用于大众的产品。

一个真正的Full Stack Engineer,他从生活中发现问题。洞察需求。他设计解决方式,并开发出初始版本号的产品

为了达到目标,他愿意去学习不论什么领域的技能和知识。同一时候他不追求一我的完毕所有工做。假设有人可以比他在某方面作得更出色,便会十分热情的邀请他们增长。

终于他的职位也许再也不是Engineer,他再也不设计UI。再也不写代码… 他的工做再也不是设计/开发一款应用/产品,因为他有更大更重要的任务要作——design and building a team or a company which builds great products。

而这时。社会给了他们还有一个称呼——创业者。

虽然众人已忘记他们engineer的身份,但在他们骨子里,心里深处,本身始终都是一个engineer。

当他们需要从头再来时,他们绝不犹豫从设计开发产品作起。Nikola Tesla。Ferdinand Porsche。Henry Ford,Jack Dorsey,Mark zuckerberg,Elon Musk… 细数那些改变了或正改变世界的创业者。他们大多数是engineer背景,热衷于设计创造。

他们学习技能和知识,不是为了成为某个领域的专家;而是因为那些是完毕本身目标所需要的。

李楠

Full Stack Developer在国内不被接受的一个主要缘由是公司缺少稳定的T线(技术职位晋升路线)。很是多有才华的人写了几年代码后去作了管理。今天的网络相关技术,聪明又能持续学习的人。在三年以内可以在一个领域作到很是高的水准。那么假设你作五年,十年甚至十五年呢?我以为成为Full Stack Developer是很是天然的选择,并且可以尾随最顶尖的技术。

Full Stack Developer的核心并非否认团队和协做,而是不少其它的体现在架构设计。高速原型和TroubleShooting方面

随着今天的分层愈来愈清晰,平台和语言愈来愈有特色,更加全面的技术人员可以依据不一样的语言搭建整个架构。

Full Stack Developer并非杂而全——Facebook也不会雇庸手。他要求的是一种更加全面的深刻。 一方面,他是技术人员不断学习的结果。

还有一方面,他也是对本身事业的一种责任。 

kubisoft

既然叫project师,就是应该负责技术的,而不只仅是写代码。

各方面的技术,各方面的技术架构。

比方,关卡编辑器里面的图层该怎么搭,怎样定义?美工PS出来的图片应该是什么规格?这些都是技术架构,都是project师要去作的。project师应该帮美术作好图,作好动画;帮策划作好关卡。填好数据。这才是project师。所有跟技术相关的东西。括Photoshop的使用细节,3dmax的使用细节。都是project师需要去搞定的。美术仅仅是在project师作好的基础上让它更美丽更好看,策划让它更好玩。

 

假设仅仅局限在本身的代码中。就仅仅能是程序猿。

假设仅仅关心client而不关心server,就没法对技术负责。就仅仅能是一个程序猿。

每个实际问题,都有可能涉及各方面的技术。举个样例来讲,作格斗网游,要作出良好的打击感,你就不只要关心渲染技巧,还要关心美术特效,还要关心网络,关心server应该传送过来哪些数据。还要关心哪些东西是对玩家实用的必须表现出来的东西…当你的关注重心从代码移到详细实际的问题的时候,就成为了一个project师了。继续努力下去。就很是easy变成全能的project师。

 

匿名用户

首先我以为好的开发人员,即便不是全栈。也要融会贯通多种技术。我历来不以为一个仅仅专精一种技术的人有可能成为好的开发人员,即便是C,即便是汇编。(固然事实上反过来看。那些大神们哪一个不会搞点其它的?比方几个作server端开发的大神居然不懂server管理?)

而后从广度和深度的组合看,我以为好的开发人员大概有两种类型:

  1. 手术刀
  2. 代码专家。

手术刀是业务驱动的,最需要全栈的人;他们的核心价值在于:懂业务。技术全面,都能拿的起来,并且能选择最合适的技术

代码专家是技术驱动的,即便不够全栈也可以用,但是技能树点的越多固然有优势。

如下要讲的是创业逼出来的全栈,对于创业团队而言,手术刀更加剧要。代码专家要依靠各类开源组织的贡献,或者暂时聘请。创业的最大需求技能是整合资源的能力,找合适的人作事的能力。
因此我说的,是说对于我,种子期,天使期,最重要的都是我本身做为手术刀。而不是资源整合者。

全栈project师不是为了工做自己,是为了方便实现本身的梦

 

假设不是创业。个人价值可能也就是个2w 多工资的架构师或者技术经理。这个价格远远对不起我这13年的付出。一个真正的全栈project师,目标仅仅有一个:创业。 


看了上面的回答,你是否知道了怎样成为一名全栈project师呢?关于该问题的不少其它讨论,欢迎你们訪问知乎讨论页。

随着工做经验的逐年增长。程序猿/软件project师所接触的技术领域会愈来愈普遍,无形中就会对某个技术有所了解,对于上进、想闯出一番天地的程序猿而言。他们很是乐意并且会主动去学习这些技术,这样。天然而然的就学会了多门技术,精通多种语言

当即就要春节放假了,不少人都在作年终总结和新一年的规划。不少程序猿都但愿本身在新的一年里能作出更好的产品、学到不少其它知识、进一步提高本身的技能和综合能力。这也许也是全栈project师成为热门的缘由之中的一个。那么,这是否也说明。要想在软件开发领域走的更远。就必须掌握不少其它的技能,成为一名全栈project师呢,这会成为将来程序猿的职业趋势吗?你们最好仍是一块儿来讨论下。



參考推荐:

全栈project师的毁与誉

全栈project师的悲与欢

中国第一代程序猿列传

相关文章
相关标签/搜索