|
我已經(jīng)在加利福尼亞科學(xué)院工作有5個(gè)月了。我正在開發(fā)一個(gè)由國家科學(xué)基金會(huì)支持的螞蟻分類學(xué)網(wǎng)站:antcat.org。
這是我25年的程序員工作中最好的一個(gè)。
有好些理由:我工作在一個(gè)博物館里,每天我可以四處走走觀賞奇異的魚,蜥蜴,和蝴蝶。這是一個(gè)用柵欄圍住的綠區(qū),老板聰明和善,用戶都是科學(xué)家。博物館就在金門海峽公園,距我居住的地方只有10分鐘的路程。我的年薪“只有”1百萬,比我好些年前的薪水都少。但他們給我醫(yī)療保險(xiǎn),每周我還可以去幾次tidepool展覽會(huì)。
但這最重要的原因是我喜歡獨(dú)自編程。
我并沒有覺得獨(dú)自編程有什么特別好的。其實(shí)我喜歡工作在一個(gè)有活力和創(chuàng)新精神的團(tuán)隊(duì)里—甚至結(jié)對編程。但我沒有選擇這樣。
原因非常的簡單,現(xiàn)在的工作我可以按我想要的方式進(jìn)行。也就是95%的測試驅(qū)動(dòng)開發(fā)。也就是敏捷開發(fā)—用最簡單的方式完成工作。也就是我可以按照我自己的意愿在項(xiàng)目里使用Solr。也就是我可以真正的開始學(xué)習(xí)Javascript。也就是我可以把這些年在這個(gè)領(lǐng)域里積累下來的知識(shí)和經(jīng)驗(yàn)完全應(yīng)用到工程里。同時(shí)也就是我做這些事情時(shí)不需要和別爭論這些事情。
也許是我一直不太走運(yùn),在lean開發(fā),敏捷開發(fā),OOP,數(shù)據(jù)庫設(shè)計(jì),或甚至結(jié)構(gòu)化編程上,我從沒有遇到與我有共同思想的人。我的觀念都學(xué)自于閱讀Martin Fowler 和 Kent Beck等人的文章。很顯然,有些理論都是這些人想當(dāng)然出來的,例如避免過度優(yōu)化,或遵循單一責(zé)任原則。
所以在跟我的同事的接觸中總是為這些事情爭論不休。這么多年來我的脾氣已經(jīng)變得圓滑和禮貌的多了,而且在某些觀點(diǎn)上愿意采取一種讓步的態(tài)度(畢竟,也許我的觀點(diǎn)是錯(cuò)誤的)。可是慢慢的你會(huì)有時(shí)候厭倦了做OOP“純粹主義者”(我不是)。有時(shí)候你只是想把事情做“好”。
現(xiàn)在,我十分的清楚當(dāng)你一個(gè)人工作的時(shí)候你失去的是什么。我做的事情常是錯(cuò)誤的。其實(shí)有很多其它的我應(yīng)該知道的方法但我一個(gè)人無從得知。毫無疑問我寫出來很多bug。有時(shí)候我弄出的錯(cuò)誤的設(shè)計(jì)浪費(fèi)了我很多的時(shí)間。如果我工作在一個(gè)團(tuán)隊(duì)中,或者結(jié)對編程,這些全都可以避免或減少。談到結(jié)對編程,有一個(gè)事實(shí),我現(xiàn)在的工作效率沒有我在Pivotal公司里結(jié)對編程時(shí)的效率高。當(dāng)時(shí)我們的成績是如此的顯著,解決任務(wù)是過關(guān)斬將。唯一的問題是我不喜歡這種方式。
我也知道我在贊成一種“牛仔編程者”風(fēng)格的開發(fā),這種風(fēng)格的人在團(tuán)隊(duì)合作中確實(shí)令人頭痛。但在沒有團(tuán)隊(duì)的情況下呢?
我知道人們從我們這代人中能更多的聽到這種聲音。這是相對于年輕的伴隨著敏捷開發(fā)方法長大的年輕一代是這樣的。我要說的是我在努力擁抱那些前沿的思想方法——1989年誕生的OOP,2000年誕生的TDD,現(xiàn)在的lean。這也導(dǎo)致了我更多的對這些東西產(chǎn)生了不同的觀點(diǎn)。
當(dāng)然,歸根結(jié)底,我深信唯一明智的判斷一種行為方式的標(biāo)準(zhǔn)是看它是否能使你快樂。一個(gè)人選擇去做某種事情的唯一理由是它能使你快樂(從長遠(yuǎn)的視角看)。
對于我來說快樂是我的底線。
[英文出處]:Why I love solo programming (and why I hated working for Pivotal)
it知識(shí)庫:我為什么喜歡獨(dú)自編程,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。