技工父親教會我的5堂課_人生感悟

  技工父親教會我的5堂課
  
  我的父親是一名工程師——是機械工程師,不是軟件工程師。在他成為機械工程師之前,他也做過技工和木工。他很聰明,同時在建築和維修方面也很有天賦(隻要不涉及到電氣即可,不過那就是另外一回事瞭)。他甚至在60歲時依然能做圍墻、工棚和甲板之類的工作。
  
  當我和我的兄弟還小的時候,他就開始讓我們接觸一些他工作用的工具,因此,當我們發現需要修復或制作一些東西時,我們有能力做好它。好吧,雖然他在我身上的教育幾乎失敗,但一路走來,我還是學到瞭很多重要的東西,而且,不管你信不信,這些我學到的東西,在我成為一名優秀的開發者和企業傢的路上,讓我受益良多。
  
  下面就是我從他那裡學到的知識。
  
  第一課:三思而後行
  
  砍柴是一個一次性的工作。隻要樹木被砍掉,它就不可能再保持原樣。因此,很重要的一件事就是,確保你每一次的刪除操作是無誤的。甚至即使你確定你的做法是正確的,也請你無論如何再做一次評估。重新檢查你的評估,確保它正確無誤,這樣你就可以避免犯一些本可以規避掉的錯誤,付出的代價也要小的多。
  
  開發產品也是同樣的道理。如果事先不測量書架要占用的空間的大小,你怎能做出與之大小相適合的書架?如果事先不知道用戶的需要,你又何必去開發一個無用的產品?
  
  這個道理已經提過很多次瞭,我在這裡略過。但有個不被經常提及的事情是,你的產品是一組功能的集合體,就像書架是一堆貨架的集合體一樣。每一個功能都應該被認真對待,細心評估,以確保它適用於受眾人群。重要的是不僅僅在項目開始就收集反饋,在整個項目的開發階段,我們都要重視反饋,而不是等到結束瞭,才想起還有一些不錯的創意沒有實現。
  
  第二課:粉刷一座建造好的涼亭會很困難
  
  有一次,幾個工人在傢裡修涼亭,他們在涼亭建好後才開始粉刷。爸爸看到後指出,如果這些工人能在這些木頭放在地面上就開始粉刷的話,他們就能節約1/10的時間,而且效果也會更好。粉刷之後隻需做一些連接工作,就可以很快的建造起這座涼亭。粉刷已經建造好的涼亭不僅又慢又不方便,而且還可能導致出現一些不易刷到的地方,最糟糕的是,如果不幸的話,還會把這一切弄得一團糟。
  
  在產品的開發過程中,很容易忘記設計和UI(User Interface用戶界面的簡稱),但這些很重要。以用戶為中心的設計就是在設計頁面時,以服務用戶為第一要務,然後再開發相應的應用來支持這一設計。而以軟件開發為優先並把設計放到最後,你將做更多的工作,產品也會存在潛在的缺點。UX(User Experience用戶測試)應該是一個持續不斷的過程,不是某個可以隨意丟棄的東西。
  
  第三課:讓你的項目和工作空間始終保持整潔
  
  在一個雜亂的環境中工作一定會讓你的項目結果變得一團糟。如果碎木屑到處都是,你就不可能粉刷好;如果你的工具都滿覆油污,你就不可能把拆散的發動機零件再組裝到一起;如果你用完工具後不搜集整理好,你可能永遠都找不到你想要的螺絲刀。任何一個機修工都會告訴你工作在一個整潔的環境中有多麼重要。糟糕的不止是你將花更多的時間用於尋找放錯位置的工具,還會導致更多的損失。
  
  每一個開發者的代碼中都可能會有一些bug。很多開發者都知道“代碼債務”這個名詞,它實際上隻是從開發者的角度來看待這一塊工作混亂的區域。如果你在源頭埋下隱患,所造成的後果不僅僅是更難發現bug,而且在將來會更容易造成更多的混亂。最終你將不得不清理它們(特別是在你開始你自己的工作前,你將不得不去清理其他人留下的這些bug!)。
  
  想必每一個開發者都知道修改別人代碼時那種恐怖的感覺,並會意識到他們留下瞭一堆麻煩等著你去解決。現在花一點時間去整理你的工作空間,將來你會節約更多的時間。
  
  第四課:始終使用正確的工具(而且在你的工具上別吝嗇)
  
  搞砸工作的一個主要原因就是使用瞭不恰當的工具。這雖然顯而易見,但很多人就是意識不到這一點。用錯瞭工具後的下場通常是一個災難。別心疼錢,工作一展開就應該找到合適的工具。
  
  工具選用不當雖然通常都是管理層犯下的錯誤,但我們開發者也要為此事負責。毫無疑問,一個用瞭6年的筆記本運行起來肯定會很慢。即便為一款文本編輯器花瞭10美元,但卻選用瞭最蹩腳的一款,也不會有助你的工作。節省的這幾塊錢不會幫你贏得客戶的心。最糟的是,利用盜版軟件幫你賺錢,這是完全錯誤的做法。
  
  今天你可能覺得你節省瞭一些,但在以後的運營中一定會花掉你更多的錢。找出最適合你項目的開發工具,然後花一些錢(除非它是開源的!)。當項目開始後,節約會特別具有挑戰性。除非你需要,否則別亂花錢,但如果有些工具需要花錢才能使用,那就要選最好的。
  
  第五課:如果方法都不奏效,那麼去找一個更大的錘子
  
  有時候你卡住瞭,這意味著你碰到瞭難題。有時候不管你多麼用力,都無法將螺栓擰入螺孔中。有時候不管你多麼用力敲打,釘子都不會被敲入。這時候你僅僅需要一把更大、更合適的錘子。
  
  作為BugHerd的創始人之一,我過去常碰到一些本該尋求幫助的情況。(
人生感悟  www.share4tw.com)但我掙紮著,我通讀手冊,看視頻錄像並參閱博客文章。然後我清醒瞭,並意識到無論我做什麼,肯定有其他人在這方面做得比我好。
  
  目前,我們有2位精通JS的同事,他們做的工作,比我們任何時候做的都要好。有很多為遠程團隊協作而準備的優秀的工具,因此,不要找借口說沒有合適的同事和你一起工作。有時候,你僅僅需要接受現實,並找到相應的解決辦法。
  
  作為一個活躍在專業開發設計社區裡的創業者,我常感到像活在培養皿裡。偶爾停下來,觀察一些較為傳統的行業,看看我們能從那些做出卓越貢獻的前輩那裡學到什麼,這也是一個不錯的做法。無論我們認為我們有多聰明,也不論他們有哪方面的優點,我們總是能從這些前輩這裡學到很多。

Comments are closed.