全栈project师的毁与誉
全栈(Full Stack)project师。也能够叫全端project师,不管是前端知识,还是后端架构你都要了解。甚至有些调皮的程序猿这样理解全栈project师:全栈project师 = 屌丝战斗机 = 系统 + 网络 + 研发 + dba + 架构 + 安全 = 没女朋友,拿一份工资做三份事情的典型。每一个站长都是一个全栈project师,每一个站群的站长都是超级全栈project师。
本文转自我的独立博客: 全栈project师的毁与誉
曾经,软件project师最在意的是成为某个领域的专家或者高手;如今。随着软件技术的发展以及需求的变化。尤其是越来越多的程序猿出来自己创业,由于各种条件限制,很多技术上的问题不得不亲力亲为地去完毕。因此。非常多程序猿慢慢地就练就了精通多门技术的本领。
这不,就有位程序猿在知乎上提问:“ 怎样成为全栈project师(Full Stack Developer)?,在OSCON会议上。一名Facebook的project师说他们仅仅聘请“全栈(Full stack)”的程序猿。”此话题一出。引起了大家的热烈讨论。
很多经验丰富的project师纷纷在以下留言。讨论成为全栈project师的价值在哪里,大家是否须要成为全栈project师,笔者就知乎上的精彩回答进行了整理,最好还是一起来看下:
Cat Chen:
既然原文是说,Facebookproject师说Facebook仅仅招Full Stack Engineer,那我就来说说Facebook Engineer都是怎样的人。
我觉得不论什么一方面的详细经验都不重要,重要的是思维方式和学习能力。
首先说思维方式,那就是不为自己设限,不会想着自己是前端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管理?)
然后从广度和深度的组合看,我觉得好的开发人员大概有两种类型:
- 手术刀
- 代码专家。
手术刀是业务驱动的,最须要全栈的人;他们的核心价值在于:懂业务。技术全面,都能拿的起来,而且能选择最合适的技术。
代码专家是技术驱动的,即使不够全栈也能够用,可是技能树点的越多当然有优点。
以下要讲的是创业逼出来的全栈,对于创业团队而言,手术刀更加重要。代码专家要依靠各种开源组织的贡献,或者暂时聘请。创业的最大需求技能是整合资源的能力,找合适的人做事的能力。
所以我说的,是说对于我,种子期,天使期,最重要的都是我自己作为手术刀。而不是资源整合者。
全栈project师不是为了工作本身,是为了方便实现自己的梦。
假设不是创业。我的价值可能也就是个2w 多工资的架构师或者技术经理。这个价格远远对不起我这13年的付出。一个真正的全栈project师,目标仅仅有一个:创业。
看了上面的回答,你是否知道了怎样成为一名全栈project师呢?关于该问题的很多其它讨论,欢迎大家訪问知乎讨论页。
随着工作经验的逐年增加。程序猿/软件project师所接触的技术领域会越来越广泛,无形中就会对某个技术有所了解,对于上进、想闯出一番天地的程序猿而言。他们非常乐意而且会主动去学习这些技术,这样。自然而然的就学会了多门技术,精通多种语言。
立即就要春节放假了,很多人都在做年终总结和新一年的规划。很多程序猿都希望自己在新的一年里能做出更好的产品、学到很多其它知识、进一步提升自己的技能和综合能力。这也许也是全栈project师成为热门的原因之中的一个。那么,这是否也说明。要想在软件开发领域走的更远。就必须掌握很多其它的技能,成为一名全栈project师呢,这会成为未来程序猿的职业趋势吗?大家最好还是一起来讨论下。
參考推荐:
全栈project师的毁与誉
全栈project师的悲与欢
中国第一代程序猿列传
转载于:https://www.cnblogs.com/bhlsheji/p/5112695.html
全栈project师的毁与誉相关推荐
- 【新年礼物】阿里资深p8教你学习Web全栈架构师!
2017年,互联网行业风起云涌,IT工程师如果仅凭传统开发思维,无法突破固有知识体系,终将会被社会所淘汰.会跨平台混合应用开发.微信小程序.Web应用.pc以及手机炫酷网页的HTML5全栈开发工程师应 ...
- web全栈架构师所需技术栈_统一架构–一种构建全栈应用程序的简单方法
web全栈架构师所需技术栈 Modern full-stack apps – like single-page apps or mobile apps – usually have six layer ...
- 【SDCC讲师专访】全栈工匠老曹:如何去认识全栈架构师?
2016年11月18日-20日,由CSDN重磅打造的年终技术盛会,SDCC 2016中国软件开发者大会将在北京举行,大会面向国内外的中高端技术人员,聚焦最前沿技术及一线的实践经验,从而助力企业的技术升 ...
- python26章_44G-26章节Python盖世修炼最新实战 全新升级版Python全栈架构师高级课程 从零实战...
44G-26章节Python盖世修炼最新实战 全新升级版Python全栈架构师高级课程 从零实战 ===============课程目录=============== 课程目录过长,下面只列出了章节目 ...
- 开课吧WEB全栈架构师【6期,9-12期】
课程目标 帮助那些追求卓越的初级前端工程师(至少-年以上经验)系统提升研发实力,达到一线互联网企业中高级前端工程师的技能水平.( 技能水平对标:百度T6-T7 ) 适合人群 1-3三年经验前端开发工程 ...
- 从全栈工程师到全栈管理师——全栈管理师诞生记
近年来,全栈这个概念似乎在IT圈子里面被炒得火热,耳濡目染之后,自己也就慢慢的开始关注全栈这个新鲜的事物.记得早些时候,流行的是一些Web栈.移动栈.服务栈.技术栈等等这些概念.慢慢的,这些纷繁复杂的 ...
- Web 全栈架构师学习路线
什么是Web全栈架构师? 通晓后端语言比如JAVA PHP go,前端语言,js html css 前端框架 vue react 常用的数据库 中间件,有比较强的运维能力,架构设计能力. 那我们该如何 ...
- 拿不到offer免费学,廖雪峰的“Web 全栈架构师”开班了
互联网时代已进入后半场,行业环境发生了显著变化.互联网人,尤其是技术人员,如何在加速更迭的技术浪潮中持续充电,提升自身价值,是当下必须面对的挑战. 业内知名的 廖雪峰老师 联合了 开课吧 专门为工作1 ...
- 拿不到offer退全款,廖雪峰的“Web 全栈架构师”开班了
互联网时代已进入后半场,行业环境发生了显著变化.互联网人,尤其是技术人员,如何在加速更迭的技术浪潮中持续充电,提升自身价值,是当下必须面对的挑战. 业内知名的 廖雪峰老师 联合了 开课吧 专门为工作1 ...
- 哔哩哔哩殷汶杰:合格的多媒体技术工程师有成为全栈架构师的潜质
英雄会是CSDN旗下针对国内IT技术领域专家展示和交流的平台.通过线下线上的互动形式,为CSDN社区专家提供更多学习.合作.宣传的机会.英雄会后续将在北上广深等国内一二线城市建立分会,各个分会后期将组 ...
最新文章
- exchange2007收件人管理
- 前端JS: 通过代码-看函数作用域this对象
- SQL Server 中的ROWID
- AGAGA XOOORRR CodeForces - 1516B
- 【算法图解|5】javaScript求两个数的最大公约数
- nginx源码阅读(二).初始化:main函数及ngx_init_cycle函数
- android客户端下载图片的方法
- 【前端性能优化】不用 setTimeout 实现防抖
- Origin下载安装教程(亲测有用)
- 电脑cpu电压测试软件,CPU-Z(cpu检测工具)
- 外国参考文献计算机类,计算机毕业设计外文参考文献.docx
- Linux下连接mongoDB出现no reachable servers以及mongoDB创建用户
- 微型计算机显示器接口,微型计算机接口技术8-2LED显示器接口-Read.PPT
- aws课程_AWS DeepRacer,Reinforcement Learning 101和一门关于AI管治的小课程
- PDF怎么压缩到最小?有在线压缩的方法吗
- HC32L072 ADC 性能测试
- jquery 筛选选择器 下拉菜单
- 百度鹰眼轨迹和虎鲸数据平台之浅谈
- 跟班学习JavaScript第二天———流程控制、分支、循环、函数
- 世事洞明职场“行”(上篇)——刘墉力作《我不是教你诈》花絮采撷
热门文章
- 【往届已EI稳定检索】第二届计算机科学与管理科技国际学术会议,多主题征稿!...
- 损失函数的“噪音免疫力”
- 【综述】跨语言自然语言处理笔记
- 【NLP】语义角色标注(Semantic Role Labelling)
- PyTorch学习—14.PyTorch中的学习率调整策略
- 机器学习基础算法25-SVM实践
- 吴恩达深度学习——机器学习策略(二)
- notepad++反向查找/向上查找
- 项目经理要提升需求分析的能力
- 嵌入式系统硬件原理设计与审核