我在Facebook 的這三年
本周開始是我在Facebook的第四個年頭。我的經(jīng)驗在這里發(fā)生了巨大的變化:退學后我就來到了這里,在這里遇到了前所未有的挑戰(zhàn)。單從這方面講,我經(jīng)歷和遇到的挑戰(zhàn)比這里4/5的人都要多。所以,我想分享一些我的認識和見解,希望其他一些程序員能感覺這有些用處。
作 為一個軟件工程師,你的工作是開發(fā)出能解決問題的東西。初次進入公司時,你會被分配一些小任務,你可以解決它們。隨著專業(yè)技能的增加,問題的規(guī)模越大越 大。避免這種問題規(guī)模變大或問題難度增加的做法是錯誤的。程序是你用來解決問題的工具。如果你園丁,你會去種花和除草。提高你的能力發(fā)揮并不是種更多的花 和除更多的草,你的愿望應該是能更快更高效,成為更有經(jīng)驗的園丁。你真正應該做的是,抬起頭來,從整體看這個花園,思考如何布局,整體規(guī)劃這個花園。
為 了能更有效的提高能了,你需要有效的交流渠道。交流渠道代表著一個人在這個世界上活動的能力。作為一個程序員,在你的生活環(huán)境里擁有順暢的交流渠道,這對 你全面發(fā)掘遇到的問題的邊界和最有效利用問題解決方案起著至關(guān)重要的作用。這既包括你的代碼上的溝通,也包括在公司里和他人的交流。對于你參與的代碼庫, 你要快速的了解清楚各個組件是如何組合的。以這些知識為基礎(chǔ),你不能只去修復被分配的bug問題,而應該去考慮如何阻止這類問題再次發(fā)生。你不能只去想著 實現(xiàn)一個新功能,而應該考慮如何在這些老代碼和新代碼上提煉出一個公用組件,讓它們共享80%的代碼。這需要付出努力,但從長期看會有巨大的回報。
站 在更高層面看問題,將整個公司視為己有。不要允許你的同事不做到最好。理解各種決策的權(quán)衡以及原因;理解一些臨時方案的決定和這樣做的必要性,但如果你感 覺不對,一定不要在提出你的觀點以求獲取更好方案前就接受。這是你的公司(你的花園),如果你允許有人犁錯了方向,整個花園規(guī)劃將會變成一場災難。養(yǎng)成勇 于change的習慣,并有信心這些變化將向好的方向發(fā)展。
人很容易陷入認為自己無法做到無所不知的漩渦,認為周圍的人都比你聰明、有經(jīng) 驗,害怕自己說的不對,被對方看不起。事情其實不是這樣。當你有了一個想法,和你的團隊分享——即使你不能確定你的想法是否正確。錯誤的認識往往是通往正 確認識的里程碑,因為它能幫助你界定問題的真實邊界,還因為你能通過的對錯誤想法的反復推演而獲得正確的想法。
你并不能立即很明顯的發(fā)現(xiàn)跟 公司內(nèi)的其他團隊中的人保持交流、維持關(guān)系有多重要。隨機找一個你幾個月未一起工作的人,和他進行簡短的聊天。這能給你遇到的問題帶來新穎的思路,也能讓 你發(fā)現(xiàn)其它團隊已有的解決方案,你可以拿來用。團隊之間的信息交流能讓你對公司有更全面的認識,而和另一個項目里的基層程序員交談能激發(fā)新思想,新方案, 和新優(yōu)勢整合的機會。
我也是剛剛總結(jié)出這些經(jīng)驗。我希望這些能給你啟發(fā),促你進步,把它據(jù)為己有,指引你的團隊走向正確的方向。祝你在Facebook工作的開心;我知道我是的。
原文鏈接:https://www.facebook.com/ry/posts/10151494199879822
譯文鏈接:http://www.aqee.net/this-week-marks-the-beginning-of-my-4th/