| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx

[淘宝玉伯]说说全栈工程师

1
程序员 Git Github C/C++ Go 17076 次浏览

全栈工程师(Full Stack Developer)好像突然就火了,知乎、微博上都有讨论。这个概念在 2012 年时就有提出:What is a Full Stack Developer?,主要观点是:

有这么一批人,他们对软件开发的很多层未必精通,但对每一层都很熟悉,他们对软件技术充满热情,这种人就是所谓的全栈工程师。

对每一层都熟悉,究竟包含哪些层呢?作者的观点是:

  1. 服务器、网络、运维。
  2. 数据模型。
  3. 业务逻辑。
  4. API 层、Action 层、MVC。
  5. UI 层。
  6. 用户体验。
  7. 理解用户与商业需求。

如果对以上七层都很熟悉,同时精通一二,就是全栈工程师了。

这样来看其实并不难。比如对 Java 开发来说,第 3 层是工作重点,稍微有点追求的工程师,对 1、2、4、5 层也都会有一定的熟悉。对前端工程师来说,第 5 层是工作重点,然后对 3、4、6、7 层也会有一定熟悉度。其他职位,运维、DBA、测试等,也都有精通点,同时对周边的层会有熟悉度。

也就是说,大部分有点追求的工程师已经是四分之三栈工程师。反而单栈工程师很少很少,甚至不可能存在。

回到全栈工程师的定义,可以分解为三点:

  1. 精通若干层。
  2. 熟悉所有层。
  3. 对软件技术充满热情。

第 3 点很重要。未必要刻意去让自己熟悉所有层,如果能「对软件技术充满热情」,那么遇到陌生领域时,一个优秀的工程师会有能力去快速学习,从而慢慢地自然而然地就熟悉所有层,就莫名其妙成为全栈工程师了。

全栈工程师是不给自己设限,是永远保持激情和学习欲望的一批人。

另外想说一点,全栈工程师并不违背《国富论》提到的社会分工。在软件开发领域,分工依旧是提高效率的重要手段。但分工后,还有影响效率的一个重要因素:

分工是否合理,是否已达成让合适的人做合适的事。

从分工合理性的角度去考虑,会发现一些传统的分工未必是合适的。比如第 4 层 MVC 中的 View 和 Controller 层,Java 开发工程师真的是最合适的人选吗?这一层或许可以细化为:

4.1、Service、API、Model 层。
4.2、View、Router 等处理。

这样,4.1 依旧是后端开发擅长的领域,4.2 则很可能交给前端工程师来负责更合理。再次分工、分工合理性的判定,经常就需要跨界了解,需要全栈工程师的视角。

如果 4.2 交给前端来负责,Node 很可能就是当下更合适的技术选型。基于 Node 可以达成更合理的分工,有如 NCZ 的想法:

[淘宝玉伯]说说全栈工程师

全栈视角可以让我们重新去审视、去思考各个角色最合适去做什么,从而有可能促进更合理的分工协作。一旦发现了更合理的分工、需要对分工做出调整时, 全栈就是一种自然而然的要求。比如基于 Node 的前后端分工协作,就需要前端工程师勇敢地去承担原来只是熟悉却并不精通的领域。如果能承担下来,无论对前端还是后端,效率上都会有提升,甚至带来一系列 研发交付方式的变革。

全栈的背后,是自由,是分工的更细化,是分工的更专业。

(完)

原文链接:https://github.com/lifesinger/lifesinger.github.com/issues/185

1个答案

0

作者:hiring
链接:https://www.zhihu.com/question/27486227/answer/128647461
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

在线教育创业公司招聘全栈工程师

公司简介:

UniCareer于2014年初在美国纽约成立,坐落在曼哈顿最繁华的商业中心华尔街,2016年拿到千万级A轮融资并在上海正式设立分部。作为一个在线职场技能教育科技平台,我们致力于提高所有在校学生的职场竞争力,并为国内外在校学生以及在职精英提供一站式人才输送解决方案。现有导师团队成员均为来自摩根史坦利,贝莱德,中信证券,普华永道,贝恩咨询,麦肯锡,谷歌等世界五百强企业的职场精英。

UniCareer已联合150多家高校以及100多家优质企业,致力于打造属于大学生以及在职精英的职场生态圈。


 

全栈工程师


 

【岗位职责】

1. 开发网站前后端新功能模块,对已有代码重构和优化;

2. 负责网站功能和架构设计;

3. 负责网站测试,部署,发布等一些列流程。

【任岗要求】

1. 本科及以上学历,计算机等相关专业;

2. 热爱前后端,对web技术钻研有强烈兴趣,有良好的学习能力, 编码习惯以及开发文档书写习惯;

3. 熟悉Node.js,JavaScript, CSS, HTML, MongoDB, Linux, Git;

4. 熟悉Meteor, React, Redux, Webpack 优先;

5. 熟悉国内,国外主流云服务平台优先;

6. 喜欢快节奏的工作环境,对O2O教育科技企业有热情者优先。


 

简历请发至hiring@unicareer.org。

邮件主题:“知乎-姓名-全栈工程师”。


 

在UniCareer

1. 公司管理层为国际顶尖咨询公司/金融行业精英,可在日常工作中,学习到专业的思维方法、商业知识、市场运营等方面知识;

发布回答

2. 个人成长速度=企业发展速度 x 个人贡献率 。UniCareer就是这么一家快速发展的创业型企业。只要你积极努力,一定会获得比同龄人更快速的成长;

3. 扁平管理、五险一金、带薪病假、Team building、节日福利。

我们致力于提高国内高校生以及海外留学生的职场竞争力,帮助同学们获得优质的实习/工作机会。愿意加入我们富有希望和活力的团队吗?