• 我為什么喜歡獨自編程

    0
    程序員 IDE 數據庫 C/C++ Go 3642 次瀏覽

    我已經在加利福尼亞科學院工作有5個月了。我正在開發一個由國家科學基金會支持的螞蟻分類學網站:antcat.org

    這是我25年的程序員工作中最好的一個。

    有好些理由:我工作在一個博物館里,每天我可以四處走走觀賞奇異的魚,蜥蜴,和蝴蝶。這是一個用柵欄圍住的綠區,老板聰明和善,用戶都是科學家。博物館就 在金門海峽公園,距我居住的地方只有10分鐘的路程。我的年薪“只有”1百萬,比我好些年前的薪水都少。但他們給我醫療保險,每周我還可以去幾次 tidepool展覽會。

    但這最重要的原因是我喜歡獨自編程。

    我并沒有覺得獨自編程有什么特別好的。其實我喜歡工作在一個有活力和創新精神的團隊里 — 甚至結對編程。但我沒有選擇這樣。

    原因非常的簡單,現在的工作我可以按我想要的方式進行。也就是95%的驅動測試開發。也就是敏捷開發 — 用最簡單的方式完成工作。也就是我可以按照我自己的意愿在項目里使用Solr。也就是我可以真正的開始學習Javascript。也就是我可以把這些年在 這個領域里積累下來的知識和經驗完全應用到工程里。同時也就是我做這些事情時不需要和別爭論這些事情。

    也許是我一直不太走運,在lean開發,敏捷開發,OOP,數據庫設計,或甚至結構化編程上,我從沒有遇到與我有共同思想的人。我的觀念都學自于閱讀 Martin Fowler 和 Kent Beck等人的文章。很顯然,有些理論都是這些人想當然出來的,例如避免過度優化,或遵循單一責任原則。

    所以在跟我的同事的接觸中總是為這些事情爭論不休。這么多年來我的脾氣已經變得圓滑和禮貌的多了,而且在某些觀點上愿意采取一種讓步的態度(畢竟,也許我的觀點是錯誤的)。可是慢慢的你會有時候厭倦了做OOP“純粹主義者”(我不是)。有時候你只是想把事情做“好”。

    現在,我十分的清楚當你一個人工作的時候你失去的是什么。我做的事情常是錯誤的。其實有很多其它的我應該知道的方法但我一個人無從得知。毫無疑問我寫出來 很多bug。有時候我弄出的錯誤的設計浪費了我很多的時間。如果我工作在一個團隊中,或者結對編程,這些全都可以避免或減少。談到結對編程,有一個事實, 我現在的工作效率沒有我在Pivotal公司里結對編程時的效率高。當時我們的成績是如此的顯著,解決任務是過關斬將。唯一的問題是我不喜歡這種方式。

    我也知道我在贊成一種“牛仔編程者”風格的開發,這種風格的人在團隊合作中確實令人頭痛。但在沒有團隊的情況下呢?

    我知道人們從我們這代人中能更多的聽到這種聲音。這是相對于年輕的伴隨著敏捷開發方法長大的年輕一代是這樣的。我要說的是我在努力擁抱那些前沿的思想方法 — 1989年誕生的OOP,2000年誕生的TDD,現在的lean。這也導致了我更多的對這些東西產生了不同的觀點。

    當然,歸根結底,我深信唯一明智的判斷一種行為方式的標準是看它是否能使你快樂。一個人選擇去做某種事情的唯一理由是它能使你快樂(從長遠的視角看)。

    對于我來說快樂是我的底線。

    來自:http://www.vaikan.com/why-i-love-solo-programming/

    相似問題

    相關經驗

    相關資訊

    相關文檔

  • sesese色