国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
facebook是如何管理代碼的

我對facebook的運轉(zhuǎn)著迷。這是一個很獨特的環(huán)境,不容易被復制(他們的體系并不適合所有的公司,即使他們努力嘗試過)。下面是我和facebook的朋友們關于他們?nèi)绾伍_發(fā)和管理項目的記錄。

現(xiàn)在距離我收集的這些信息又過去6個月了,我相信facebook肯定又對他們的項目開發(fā)實踐進行了改進。所以這些記錄可能會有點過時。同時facebook的工程師驅(qū)動文化也越來越為大眾所知。非常感謝那些幫助我整理這篇文章的facebook的朋友們。

記錄:

  • 截止到2010年6月,facebook有將近2000名員工,10個月前只有1100名,一年之間差不多翻了一番。
  • 兩個最大的部門是工程師和運維,每個部門大概都是400-500人。這兩個部門人數(shù)大約占了公司的一半。
  • 產(chǎn)品經(jīng)理與工程師的比例大約為1-7到1-10。
  • 每個工程師入職時,都要接收4-6周的培訓,通過修補bugs和聽高級開發(fā)工程師的課程來熟悉facebook。
  • 培訓結(jié)束后,每個工程師都可以接觸線上的數(shù)據(jù)庫(更大的權(quán)力意味著更大的責任,也有一份"勿做清單",不然可能會被開,比如共享用戶的隱私數(shù)據(jù))。
  • 有非常牢靠的安全體系,以免有人不小心/故意做了些不好的事。
  • 每個工程師可以修改facebook的任何代碼,隨時可以遷入。
  • 濃厚的工程師驅(qū)動文化。"產(chǎn)品經(jīng)理基本可以被忽略",這是facebook一名員工的話。工程師可以修改流程的細節(jié),重新安排工作任務,隨時植入自己的想法。
  • 在每月的跨部門會議上,由工程師來匯報工作進度,市場部和產(chǎn)品經(jīng)理會出席會議,也可以做些簡短的發(fā)言,但如果說得太多,很可能就會被打小報告。他們確實想讓工程師來主導產(chǎn)品的開發(fā),對自己的產(chǎn)品負責。
  • 項目需要的資源都是自愿的
    • 一個產(chǎn)品經(jīng)理把工程師們召集到一起,讓他們對他的想法產(chǎn)生興趣。
    • 工程師們決定開發(fā)那些讓他們感興趣的特性。
    • 工程師跟他們的經(jīng)理說:"我下周想開發(fā)這5個新特性"。
    • 經(jīng)理會讓工程師獨立開發(fā),可能有時會讓他優(yōu)先完成一些特性。
    • 工程師獨立完成所有的特性——前端/后端/數(shù)據(jù)庫,等等所有相關的部分。如果需要得到設計人員的幫助,需要先讓設計人員對你的想法產(chǎn)生興趣。其他如架構(gòu)之類的也一樣。但總體來說,工程師要獨立完成所有的任務。
  • 對于某個特性是否值得開發(fā)的爭論,通常是這么解決的:花一個星期的時間完成他,并在小部分人群中(如1%)進行測試。
  • 工程師常常希望解決難題,這能獲得聲望和尊敬。他們很難對前端項目或UI設計產(chǎn)生太大的興趣。這跟其他公司可能正好相反。在facebook,后端任務,比如新的feed算法,廣告投放算法,memcache優(yōu)化等等,是工程師真正感興趣的。
  • 所有的代碼修改都要進行審核(通過一個或多個工程師),但News Feed是個例外,因為太重要了,Zuckerberg會親自review。
  • 所有的修改至少要被一個人審核,而且這個系統(tǒng)可以讓任何人很方便地審核其他人的代碼,即使你沒有邀請他
  • 工程師負責測試,代碼修復,和維護自己的項目。
  • 每個辦公室或通過VPN連接的員工會使用下一版的facebook,這個版本的facebook會經(jīng)常更新,通常比公開的早1-12小時。所有的員工被強烈建議提交bugs,而且通常會很快被修復。
  • 很奇怪只有很少的QA或自動測試——"大部分工程師都能寫出基本沒有bug的代碼,只是在其他公司他們不需要這么做。如果有QA部門,他們只要把代碼寫完,扔給他們就行了"
  • [針對上一條]我們有自動測試,代碼發(fā)布前必須要通過測試。我們不相信"所有的工程師都能寫出沒有bug的代碼",畢竟這是一個商業(yè)公司。
  • 很奇怪,缺少產(chǎn)品經(jīng)理的影響和控制——產(chǎn)品經(jīng)理是很獨立的和自由的。產(chǎn)生影響力的關鍵是與工程師和工程師的領導們們搞好關系。需要大致了解技術,不要提一些愚蠢的想法。
  • 所有提交的代碼每周二打包一次。
  • 只要多一分努力,終于一天會發(fā)生改變。
  • 星期二的代碼發(fā)布,需要所有的提交過代碼的工程師在場。
  • 代碼打包前,工程師必須在一個特殊的IRC channel上。
  • 運維執(zhí)行打包過程
    • facebook有大約60000臺服務器
    • 有9個代碼發(fā)布級別
    • 最小的級別只有6臺服務器
    • 星期二的代碼發(fā)布會先發(fā)布到6臺服務器上,運維組會檢測這6臺服務器的反應,保證代碼正常工作,然后再提交到下一級
    • 如果發(fā)布出現(xiàn)了一些問題(如報錯等等),那么就停止下一級的部署,提交出錯代碼的工程師負責修復問題,然后從頭繼續(xù)發(fā)布。
    • 所以一次發(fā)布可能會經(jīng)歷幾次重復:1-2-3-fix. 回到1. 1-2-3-4-5-fix. 回到1. 1-2-3-4-5-6-7-8-9
  • 運維組是受過嚴格訓練,倍受尊敬,而且有商業(yè)意識的。他們的工作包括分析錯誤日志,負載和內(nèi)存狀態(tài)等等。還包括用戶行為。
  • 代碼發(fā)布期間,運維組使用IRC-based頁面系統(tǒng),可以通過facebook/email/irc/im/sms ping每一個工程師,如果需要他們注意的話。對運維組不做回應是一件很羞愧的事。
  • 代碼一旦發(fā)布到第9級,并且穩(wěn)定運行,就算發(fā)布成功了。
  • 如果一個特性沒有按時完成,也沒什么大不了的,下次完成時一并發(fā)布即可。
  • 如果被svn-blamed,public shamed或工作經(jīng)常疏忽就很可能被開除。"這是一個高效的文化"。不夠高效或者不夠聰明的員工會被剔除。管理層會在6個月的時間里觀察你表現(xiàn),如果不 合格,只能說再見。每一級都是這個待遇,即使是C級別和VP級別,如果不夠高效,也會被開除。
  • 被責罵不會導致解雇。我們特別尊重別人,原諒別人。大部分高級工程師都或多或少犯過一些嚴重的錯誤,包括我。但沒有人因此被解雇。
  • 我也沒有遇到過因為上面提到過的犯錯誤而被解雇。有些人犯了錯,他們會非常努力地去修復,也讓其他人得到了學習。
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
新兵訓練營 - 如何將你的新工程師迅速調(diào)教成一只老鳥
Facebook如何進行質(zhì)量控制的?
迦太基必須被消滅:扎克伯格如何領導Facebook擊垮了Google+
【敏捷4.2】相關方的溝通與協(xié)同
FB前員工:小扎是個領導天才
我眼中的工程師文化
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服