1. 首頁
  2. 技工

技工父親教會我的5堂課

技工父親教會我的5堂課

我的父親是一名工程師——是機械工程師,不是軟體工程師。在他成為機械工程師之前,他也做過技工和木工。他很聰明,同時在建築和維修方面也很有天賦(只要不涉及到電氣即可,不外那就是此外一回事了)。他以至在60歲時仍然能做圍牆、工棚和船面之類的工作。

當我和我的兄弟還小的時候,他就初步讓我們接觸一些他工作用的東西,因而,當我們發現需要修復或製作一些東西時,我們有才能做好它。好吧,雖然他在我身上的教育幾乎失敗,但一路走來,我還是學到了很多重要的東西,而且,不管你信不信,這些我學到的東西,在我成為一名優良的開發者和企業家的路上,讓我受益良多。

下面就是我從他那裡學到的常識。

第一課:三思然後行

砍柴是一個一次性的工作。只要樹木被砍掉,它就不成能再連結原樣。因而,很重要的一件事就是,確保你每一次的刪除操作是無誤的。以至即便你確定你的做法是正確的,也請你無論如何再做一次評估。從頭查抄你的評估,確保它正確無誤,這樣你就能夠制止犯一些本能夠遁藏掉的錯誤,付出的代價也要小的多。

開發產物也是同樣的道理。假如事先不丈量書架要佔用的空間的大小,你怎能做出與之大小相合適的書架?假如事先不知道使用者的需要,你又何必去開發一個無用的產物?

這個道理已經提過很屢次了,我在這裡略過。但有個不被經常提及的事情是,你的產物是一組功能的集合體,就像書架是一堆貨架的集合體一樣。每一個功能都應該被認真看待,細心評估,以確保它適用於受眾人群。重要的是不只僅在專案初步就蒐集反應,在整個專案的開發階段,我們都要重視反應,而不是等到完畢了,才想起還有一些不錯的創意沒有實現。

第二課:粉刷一座建造好的涼亭會很困難

有一次,幾個工人在家裡修涼亭,他們在涼亭建好後才初步粉刷。爸爸看到後指出,假如這些工人能在這些木頭放在空中上就初步粉刷的話,他們就能節約1/10的時間,而且效果也會更好。粉刷之後只需做一些連線工作,就能夠很快的建造起這座涼亭。粉刷已經建造好的涼亭不只又慢又未便利,而且還可能招致呈現一些不易刷到的處所,最蹩腳的是,假如不幸的話,還會把這一切弄得一團糟。

在產物的開發過程中,很容易忘記設想和UI(User Interface使用者介面的簡稱),但這些很重要。以使用者為中心的設想就是在設想頁面時,以效勞使用者為第一要務,然後再開發相應的應用來撐持這一設想。而以軟體開發為優先並把設想放到最後,你將做更多的工作,產物也會存在潛在的缺點。UX(User Experience使用者測試)應該是一個持續不竭的過程,不是某個能夠隨意丟棄的東西。

第三課:讓你的專案和工作空間始終連結整潔

在一個雜亂的環境中工作一定會讓你的專案成果變得一團糟。假如碎木屑四處都是,你就不成能粉刷好;假如你的東西都滿覆油汙,你就不成能把拆散的策動機零件再組裝到一起;假如你用完東西后不蒐集整理好,你可能永久都找不到你想要的螺絲刀。任何一個機修工城市告訴你工作在一個整潔的環境中有多麼重要。蹩腳的不止是你將花更多的時間用於尋找放錯位置的東西,還會招致更多的喪失。

每一個開發者的程式碼中都可能會有一些bug。很多開發者都知道“程式碼債務”這個名詞,它實際上只是從開發者的角度來看待這一塊工作混亂的區域。假如你在源頭埋下隱患,所構成的後果不只僅是更難發現bug,而且在將來會更容易構成更多的混亂。最終你將不能不清理它們(出格是在你初步你本人的工作前,你將不能不去清理其他人留下的這些bug!)。

想必每一個開發者都知道修改他人程式碼時那種恐懼的感覺,並會意識到他們留下了一堆費事等著你去處置。如今花一點時間去整理你的工作空間,將來你會節約更多的時間。

第四課:始終使用正確的東西(而且在你的東西上別吝嗇)

搞砸工作的一個次要原因就是使用了不得當的東西。這雖然顯而易見,但很多人就是意識不到這一點。用錯了東西后的下場凡是是一個災難。別心疼錢,工作一展開就應該找到適宜的東西。

東西選用不妥雖然凡是都是打點層犯下的錯誤,但我們開發者也要為此事負責。毫無疑問,一個用了6年的條記本執行起來肯定會很慢。即便為一款文字編輯器花了10美圓,但卻選用了最蹩腳的一款,也不會有助你的工作。節省的這幾塊錢不會幫你贏得客戶的心。最糟的.是,操作盜版軟體幫你賺錢,這是完全錯誤的做法。

今天你可能覺得你節省了一些,但在以後的運營中一定會花掉你更多的錢。找出最合適你專案的開發東西,然後花一些錢(除非它是開源的!)。當專案初步後,節約會出格具有挑戰性。除非你需要,否則別亂花錢,但假如有些東西需要花錢才能使用,那就要選最好的。

第五課:假如方法都不奏效,那麼去找一個更大的錘子

有時候你卡住了,這意味著你碰到了難題。有時候不管你多麼用力,都無法將螺栓擰入螺孔中。有時候不管你多麼用力敲打,釘子都不會被敲入。這時候你僅僅需要一把更大、更適宜的錘子。

作為BugHerd的開創人之一,我過去常碰到一些本該尋求協助的情況。但我掙扎著,我通讀手冊,看影片錄影並參閱部落格文章。然後我清醒了,並意識到無論我做什麼,肯定有其他人在這方面做得比我好。

目前,我們有2位精通JS的同事,他們做的工作,比我們任何時候做的都要好。有很多為長途團隊協作而籌備的優良的東西,因而,不要找藉口說沒有適宜的同事和你一起工作。有時候,你僅僅需要接受現實,並找到相應的處置法子。

作為一個活潑在專業開發設想社群裡的創業者,我常感到像活在培養皿裡。偶爾停下來,不雅察看一些較為傳統的行業,看看我們能從那些做出卓越奉獻的前輩那裡學到什麼,這也是一個不錯的做法。無論我們認為我們有多聰明,也不管他們有哪方面的優點,我們總是能從這些前輩這裡學到很多。