全棧工程師源于Facebook,是指能在任何能在一個(gè)技術(shù)棧的任何層次完成工作的工程師。
- 知道計(jì)算機(jī)操作系統(tǒng)的基本運(yùn)行原理
- 知道如何操作數(shù)據(jù)庫
- 用一種語言寫后端的 API 代碼
- 前端合適的技術(shù)可以實(shí)現(xiàn)業(yè)務(wù)邏輯
- 工程管理,包括不限于需求分析、敏捷開發(fā)、文檔管理等等
這種說法最開始源于 Facebook,“Nothing at Facebook is Somebody Else’s Problem”,換句話說,有問題就馬上評(píng)估是否值得解決。如果值得解決,你就應(yīng)該著手去解決,而不是假設(shè)別人比你更合適解決這個(gè)問題。
舉個(gè)例子,你原本是一個(gè)后端工程師,在做響應(yīng)時(shí)間的調(diào)優(yōu),初期后端上改進(jìn)很大,后期效果已經(jīng)不明顯,但是你發(fā)現(xiàn)網(wǎng)絡(luò)傳輸和前端有很大空間。假設(shè)現(xiàn)在前端的工程師對(duì)這兩塊也不是很了解,這個(gè)時(shí)候怎么辦?
- 順其自然,不了了之。
- 從外面招一個(gè)會(huì)的工程師。
- 自己學(xué)相關(guān)知識(shí)然后直接去調(diào)整。
Facebook 之所以選擇第三種,有這么幾點(diǎn)理由:
- 本身的挑戰(zhàn)已經(jīng)非常大了,極大的用戶量帶來極大的問題,很難從市面上直接找一個(gè)能解決問題的人。
- 如果解決掉新發(fā)現(xiàn)的一個(gè)問題大于手里正在做的事情,哪怕它不是自己擅長的,也應(yīng)該自己去把它做好。
- 真正高素質(zhì)的人不僅僅是掌握知識(shí),而是擁有學(xué)習(xí)知識(shí)的知識(shí),也就是學(xué)習(xí)能力。有了學(xué)習(xí)能力,具體的知識(shí)總能學(xué)會(huì)。
- 每個(gè)技術(shù)都有自己的背景和優(yōu)勢劣勢。有時(shí)候強(qiáng)行規(guī)定使用的技術(shù)反而會(huì)限制大家的產(chǎn)出。倒不如根據(jù)需求去選擇合適的技術(shù)。
- 關(guān)注整個(gè)公司的產(chǎn)出和效率。大部分提升效率的地方往往來源于別人沒有思考過的問題,不如誰發(fā)現(xiàn),誰解決。






