0
本文作者: 董飛 | 2016-05-20 09:34 |
雷鋒網(wǎng)按:本文作者Edmond Lau。
不是每一個(gè)優(yōu)秀的工程師都能在創(chuàng)業(yè)公司做得很好。過(guò)去六年里,我在三個(gè)創(chuàng)業(yè)公司(Ooyala,Quora,如今在Quip)面試過(guò)很多有希望的候選人,他們都有著在頂級(jí)的技術(shù)公司(比如谷歌)5年以上的工作經(jīng)驗(yàn),但在我們的面試中卻表現(xiàn)得不好。這些人肯定不是差;事實(shí)上,他能勝任目前的工作。我們只是認(rèn)為,他不會(huì)成為特別好的創(chuàng)業(yè)公司工程師。
在多年面試候選人,培訓(xùn)和指導(dǎo)其他工程師工作的過(guò)程中,我發(fā)現(xiàn)某些特質(zhì)使得工程師更容易在創(chuàng)業(yè)公司中取得成功。根本上,這些特質(zhì)源于在創(chuàng)業(yè)公司工作不同于在成熟公司的幾個(gè)關(guān)鍵環(huán)節(jié)。
1、 你有更多機(jī)會(huì)直接接觸產(chǎn)品,軟件系統(tǒng),團(tuán)隊(duì)和文化。
2、你的成功主要取決于團(tuán)隊(duì)的表現(xiàn)而不是個(gè)人。在一個(gè)更大、更成熟的公司,可能你獲得晉升純粹基于你個(gè)人貢獻(xiàn)的力量;在一個(gè)創(chuàng)業(yè)公司,甚至可能都沒(méi)有一個(gè)職業(yè)階梯。
3、時(shí)間是非常關(guān)鍵的,一方面是因?yàn)閯?chuàng)業(yè)公司往往還沒(méi)有達(dá)到盈利能力,因?yàn)樗麄兣c競(jìng)爭(zhēng)對(duì)手相比的主要優(yōu)勢(shì)是敏捷。在有限的時(shí)間意味著你必須迅速提升,并不能磨磨蹭蹭地工作或把太多時(shí)間浪費(fèi)在低優(yōu)先級(jí)需求上。
我曾經(jīng)跟最有效率的創(chuàng)業(yè)公司的工程師工作,他們有能力和決策能力,有效把控局面。
工程時(shí)間的很大一部分實(shí)際上是花在調(diào)試和了解一個(gè)復(fù)雜的系統(tǒng)中去的。一位顧客報(bào)告一個(gè)緊迫的問(wèn)題,你必須盡快將其修復(fù);服務(wù)器的CPU負(fù)載高峰,你必須找出原因;數(shù)據(jù)被破壞,你必須找出罪魁禍?zhǔn)?。良好的調(diào)試技巧讓你更快地完成工作。
有效的調(diào)試需要采取嚴(yán)謹(jǐn)、科學(xué)的心態(tài)面對(duì)問(wèn)題:制定一個(gè)出錯(cuò)地方的假設(shè),然后找出最有效的方式或者最小化重復(fù)情景以檢驗(yàn)這一假設(shè)。另一部分是熟練使用各種工具:一個(gè)性能分析器可以幫助識(shí)別瓶頸,調(diào)試器遍歷代碼執(zhí)行,git bisect縮小可能的地方,UNIX命令行去分析發(fā)生了什么。
調(diào)試的范圍更廣泛的應(yīng)用不僅僅是技術(shù)方面。當(dāng)產(chǎn)品增長(zhǎng)已趨于穩(wěn)定,你怎么制定和測(cè)試假設(shè)有關(guān)用戶行為和調(diào)試這些趨勢(shì)?團(tuán)隊(duì)沒(méi)達(dá)到他們的項(xiàng)目目標(biāo),你怎么調(diào)試其根本原因?是項(xiàng)目估算能力太差?團(tuán)隊(duì)溝通不夠?太多的上下文切換?還是其他什么?招聘沒(méi)招到你想要的工程員工,你怎么知道問(wèn)題是否在源頭系統(tǒng)中,你的面試,發(fā)出的Offer,等等? (提示:先從數(shù)據(jù)中看)。
作為創(chuàng)業(yè)工程師,你經(jīng)常需要跳入大又不熟悉的代碼庫(kù)??赡苄枰芯恳恍╅_(kāi)源工具,因?yàn)樵摴ぞ卟话茨愕脑O(shè)想工作。或者你可能需要了解另外同事的代碼,因?yàn)樗麤](méi)有修改的時(shí)間??焖贋g覽大量的代碼庫(kù),并定位相關(guān)部分的能力變得至關(guān)重要。大部分的這種能力來(lái)自于閱讀大量的代碼的經(jīng)驗(yàn)。另一部分來(lái)自于熟悉的工具來(lái)搜索代碼庫(kù),跳轉(zhuǎn)到相關(guān)的部分,并查找相關(guān)的提交歷史版本控制,所有這些快捷鍵可以減少了解不熟悉代碼的時(shí)間。這種勇敢同樣適用于更成熟的公司,但你通常只專注于代碼庫(kù)的一部分并很好了解那一塊。
你跳水到未知領(lǐng)域也不見(jiàn)得是代碼。在創(chuàng)業(yè)公司,處理客戶的支持、與銷售人員討論客戶要求的可行性、培養(yǎng)新的工程師等其他不熟悉的事情都是有可能的。這種積極心態(tài)能幫助做好工作。
3、對(duì)決策的務(wù)實(shí)態(tài)度
像代碼審查和單元測(cè)試維護(hù)是良好的軟件工程實(shí)踐,這上面堅(jiān)持己見(jiàn)在大公司很重要,它可以幫助組織擴(kuò)大規(guī)模。 但在創(chuàng)業(yè)公司,做什么使團(tuán)隊(duì)更快地完成工作更務(wù)實(shí)。實(shí)用主義意味著知道什么時(shí)候打重要的戰(zhàn)役,有時(shí)即使你不同意,也請(qǐng)接受決定,因?yàn)樗寛F(tuán)隊(duì)作為一個(gè)整體能夠取得進(jìn)展。
我已經(jīng)看到了很多爭(zhēng)吵:在編碼風(fēng)格上、在源代碼行是否應(yīng)該是80,100或120個(gè)字符以及是否花括號(hào)應(yīng)該開(kāi)始一個(gè)新行。但也有不少更難,更重要的決定花費(fèi)你的時(shí)間和精力。
指導(dǎo)啟發(fā)式評(píng)估的最終評(píng)價(jià)標(biāo)準(zhǔn)應(yīng)是:“什么樣的行動(dòng)最終將增加團(tuán)隊(duì)成功的概率?”許多因素可能會(huì)影響這個(gè)問(wèn)題:產(chǎn)品選擇,架構(gòu)的權(quán)衡,團(tuán)隊(duì)文化,人、等等。不過(guò)也可能不會(huì)影響。最簡(jiǎn)單的做法是,限制討論時(shí)間,對(duì)決定做承諾,并繼續(xù)往前走。
工具讓你爭(zhēng)取到的最重要的資源就是你的時(shí)間。高效的工程師建造了大量的工具,這在創(chuàng)業(yè)公司尤為重要,因?yàn)槟愕臅r(shí)間更有限,需要完成的事情更多。大型機(jī)構(gòu)可能有專門(mén)的工具團(tuán)隊(duì)來(lái)幫助工程團(tuán)隊(duì)更有效做事。在創(chuàng)業(yè)公司,你搭建工具能力越強(qiáng),更多的手動(dòng)工作可以自動(dòng)化完成。如果這些新工具被其他團(tuán)隊(duì)成員采用,那么這是另一個(gè)生產(chǎn)力系數(shù)的提升。
特別是在創(chuàng)業(yè)早期階段,大量面臨的問(wèn)題不需要專門(mén)的知識(shí),而是更廣泛的技能。即使它只是一個(gè)最低限度,你會(huì)發(fā)現(xiàn)工作熟悉的技能越多,你的執(zhí)行路徑瓶頸越少。一個(gè)前端Web工程師擁有一些基本的服務(wù)器技術(shù)將能更有效實(shí)現(xiàn)原型系統(tǒng),而不會(huì)從繁忙的服務(wù)器工程師那里尋找?guī)椭?/p>
后端工程師會(huì)基本的HTML,CSS和JavaScript技能可以搭建一個(gè)Web界面讓更多的團(tuán)隊(duì)成員可以使用它,而不是阻塞在一個(gè)網(wǎng)頁(yè)設(shè)計(jì)師那里。一個(gè)用戶增長(zhǎng)工程師熟練使用數(shù)據(jù)分析工具可以分析運(yùn)行試驗(yàn),而不會(huì)被一個(gè)數(shù)據(jù)分析員所阻礙。
也有例外,當(dāng)你在一個(gè)特別的技術(shù)空間工作,專家可能是能最大限度發(fā)揮作用的。如數(shù)據(jù)庫(kù)的啟動(dòng)調(diào)試,這里需要深厚的專業(yè)知識(shí)。并且創(chuàng)業(yè)公司越后期,越有可能去填補(bǔ)這些專業(yè)領(lǐng)域,那么你就要找到特定角色來(lái)幫助完成。
Fred Kofman在他的書(shū)《有意識(shí)的企業(yè)》中描述了兩種我們可以對(duì)任何問(wèn)題采取的態(tài)度。我們既可以是受害者——將任何問(wèn)題(項(xiàng)目的最后期限錯(cuò)失,產(chǎn)品推出搞砸,或與隊(duì)友沖突)歸于外部原因;或者,我們可以當(dāng)參與球員——確定我們的能力范圍后集中精力去解決一些問(wèn)題。受害者心態(tài)可以讓我們?cè)诙唐诟杏X(jué)好些,但參與者心態(tài)是最終有成效取得進(jìn)展的唯一途徑。
在創(chuàng)業(yè)公司工作可能很緊張。隨著高度緊張,很容易陷入指責(zé)的游戲,躲避責(zé)任,而不是在你能力范圍能去承擔(dān)責(zé)任。不幸的是,這條道路只會(huì)導(dǎo)致失望和不滿。
對(duì)以上特質(zhì)的一個(gè)重要發(fā)現(xiàn)是,如果你有足夠的動(dòng)機(jī),那都是可學(xué)習(xí)的技能。長(zhǎng)期學(xué)習(xí)這些技能的動(dòng)力來(lái)自“磨礪”這種品質(zhì)。安杰拉·李,在她的TED談“成功的關(guān)鍵——磨礪“給出了偉大的定義:
對(duì)非常長(zhǎng)遠(yuǎn)的目標(biāo)是需要激情和毅力。磨礪堅(jiān)持你的未來(lái),不僅是一天、一周、一個(gè)月,是多年來(lái)的努力,最后努力工作把未來(lái)成為現(xiàn)實(shí)。
如果你愿意定期回顧過(guò)去,你就會(huì)明白你的弱點(diǎn)以及在哪些地方需要改進(jìn)。隨著時(shí)間的推移和經(jīng)驗(yàn)增長(zhǎng),你會(huì)成為一個(gè)更好的創(chuàng)業(yè)公司工程師。在正確的道路上及早得到輔導(dǎo)和指導(dǎo)也可以讓你走很長(zhǎng)的路。
這些技能對(duì)更成熟的公司都有用;只是在創(chuàng)業(yè)公司更加重要,因?yàn)闀r(shí)間很有限。此外,缺乏這些技能并不一定意味著你是一個(gè)糟糕的工程師。它只是意味著你可能不太適合在創(chuàng)業(yè)公司。但是,如果你確定是一個(gè)很好的創(chuàng)業(yè)公司工程師,不要讓這些阻止你。找出行動(dòng)的計(jì)劃去改進(jìn)這些技能。
雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。