全栈工程师源于Facebook,是指能在任何能在一个技术栈的任何层次完成工作的工程师。
- 知道计算机操作系统的基本运行原理
- 知道如何操作数据库
- 用一种语言写后端的 API 代码
- 前端合适的技术可以实现业务逻辑
- 工程管理,包括不限于需求分析、敏捷开发、文档管理等等
这种说法最开始源于 Facebook,“Nothing at Facebook is Somebody Else’s Problem”,换句话说,有问题就马上评估是否值得解决。如果值得解决,你就应该着手去解决,而不是假设别人比你更合适解决这个问题。
举个例子,你原本是一个后端工程师,在做响应时间的调优,初期后端上改进很大,后期效果已经不明显,但是你发现网络传输和前端有很大空间。假设现在前端的工程师对这两块也不是很了解,这个时候怎么办?
- 顺其自然,不了了之。
- 从外面招一个会的工程师。
- 自己学相关知识然后直接去调整。
Facebook 之所以选择第三种,有这么几点理由:
- 本身的挑战已经非常大了,极大的用户量带来极大的问题,很难从市面上直接找一个能解决问题的人。
- 如果解决掉新发现的一个问题大于手里正在做的事情,哪怕它不是自己擅长的,也应该自己去把它做好。
- 真正高素质的人不仅仅是掌握知识,而是拥有学习知识的知识,也就是学习能力。有了学习能力,具体的知识总能学会。
- 每个技术都有自己的背景和优势劣势。有时候强行规定使用的技术反而会限制大家的产出。倒不如根据需求去选择合适的技术。
- 关注整个公司的产出和效率。大部分提升效率的地方往往来源于别人没有思考过的问题,不如谁发现,谁解决。
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。