星期一, 11月 26, 2012

讀約耳的小小心得

The Joel on Software: 小員工也能做大事
策略四:讓笨蛋無害
即使最好的團隊都會有一兩個笨蛋。團隊裡有爛程式師讓人頭痛的地方,就是他們的爛程式會攪亂你的好程式,另外就是好程式師得花時間幫壞程式師擦屁股。
身為底層工作人員,你的目標是損害最小化,也就是所謂的牽制策略。有時候這些天才會花兩星期寫出一點點程式,而且寫出來的東西爛到不可思議,完全不可能用。這時候你會很想花15分鐘把這段程式從頭再寫過。請忍住這種誘惑,因為這是個把這些白痴拖住幾個月的大好機會。只要一直報告那個程式的問題,他們就只好一直在這段程式卡好幾個月,直到你找不到其他問題為止。而這幾個月他們就不會在其他地方造成傷害了。
這方法實在太酷了,不過...會不會有一天發現其實我就是那個被當成笨蛋的傢伙?

The Joel on Software: 抽象滲漏法則
這實在太酷了,舉的例子實在太好,最後結論時豁然開朗這篇的重點

所有重大的抽象機制在某種程式上都是有漏洞的。
這句話實在是當頭棒喝!

The Joel on Software: 給資訊科系學生的建議
修要寫大量程式的課我還記得我發誓絕不上研究所的那一刻。
那是動態邏輯的某堂課上,教課的是活力充沛的耶魯教授 Lenore Zuck,是這出色電腦科學學府裡最出色的一位老師。

(中略)

花了好幾個小時之後,我在模仿 Zuck 博士原本的證明時發現其中有個錯誤。或許是我抄錯了,不過這讓我明白一件事:如果得花三小時寫滿幾個黑板才能證明某件小事,而且過程中會出錯的地方有好幾百個,這種機制永遠無法證明出有趣的事情。
不過這跟動態邏輯家無關:他們做這個並不是因為它有用,而是為了長聘教職(譯註:tenure,以往是終身教職,但現在未必了)。
我退掉那門課並且發誓絕不上資訊科學的研究所。
這個故事的教訓是資訊科學並不等同於軟體開發。如果你真的非常幸運,你的學校可能會有一套合宜的軟體開發課程,不過大概是不會有的,因為精英學校認為技職教育和犯人改過自新計劃才需要教導實務技能。只不過是寫寫程式而已,到處都可以學。我們可是耶魯大學,身負鑄造未來世界領袖的重責大任。你覺得 16 萬美元的學費是讓你來學 while 迴圈的嗎?你以為這是什麼?某個在機場旅館舉辦的騙人 Java 研討會嗎?哼。
問題在於我們並沒有真正的專門軟體開發學校,所以如果你想當個程式師,可能還是得主修資訊科學。這是個好的主修學科,不過跟軟體開發是兩回事
不過如果你幸運的話,可以在資訊科系找到很多密集寫程式的課程,就像你可以在歷史系找到很多能學會寫作的課一樣。這些是最好的課程了。如果你喜歡寫程式,修 lambda 演算或線性代數這種不碰電腦的課時,有些地方搞不懂不必難過。去找那些課程名稱有 Practicum 的 400 等級課程。這些課用這個拉丁文只是想弄個漂亮的課程名稱,好瞞過那些愛跩文的屁管理階層。
如果早點看到Joel on software就好了,就可以少浪費很多時間


The Joel on Software: 達到卓越
我的理論是,因為Apple很重視他們美麗性感iPod上平滑無縫的完美表面,而那些在其它便宜爛貨上所看到的恐怖電池蓋,那些總是會斷的電池門閂,那些塞滿口袋棉線的縫隙和所有那些噁心東西,都會讓它破壞無遺。iPod是我所見過消費電子產品中最無縫的。它很美。它讓人感到美,就像平滑的河石。而一個電池門閂會讓這整個河石般的效果蕩然全無。
這一段是我看過最好的描述,不過此篇看完會讓我覺得自己很平庸


Joel on Software-開發人員完全指南
這篇讓我邊看邊點頭,完全贊同!
首先: 私人辦公室
真的很有必要,我真的很怕吵,所以如果主管不在,我就會戴起耳機把自己隔絕起來,不過他裡面有提到"戴耳機聽音樂壓抑環境噪音已被證明會降低程式員的工作品質",不過不管了,能把5分變成7分也是好的
工作現場
"對於私人辦公室,工作現場有更多可談論的地方。當一個應徵者來到你的公司面試時,他們會到處看看人們在哪邊工作,並想像他們自己在那邊工作。假如辦公室空間是令人愉快的、明亮的、在一個好的地區、一切事物都是嶄新明淨的,他們會覺得快樂;假若辦公室空間狹小、地毯破爛、有些牆壁沒被油漆、且掛著划船隊的圖片和「團隊合作」四個大字,他們會覺得自己像是呆伯特(Dilbert)。"
我自己買了張椅子在公司坐,雖然沒有Aeron這麼高檔,可是也是一張國產的好椅子在我頻頻落枕跟全身酸痛之後狠下心買的。
"尤其是當你考量你一天有八個小時要坐在上面,即使是模組系列中的頂尖貨:配有腰部支撐跟那該死的尾翼,也可說是超便宜的,因為實際上你根本是買到到。"
玩具
剛開始工作時拿到的電腦是P4還有15" LCD,我一個月就受不了了,決定帶著Mac mini上下班,還買了一台19"。15"早該燒掉了,用它coding實在很痛苦,還有那台P4,trace一行aspx竟然要5秒!!! 
我能認同公司嗎?
"大部分的程式員工作並不僅是為了餬口,他們不要為工作而工作,他們想要一份有意義的工作,他們希望能和公司有一致的信念,特別是年輕的程式員會被有理想抱負的公司所吸引,許多的公司和源碼開放或自由軟體運動(這兩者是不同件事)有所關連,而這會吸引一些有理想、有抱負的開發者。其他公司會與社會理想緊密結合,或者生產就某方面對社會有益的產品。"
程式員不關心的一件事
"說實在話,除非你在某些地方搞砸了,否則他們不會在乎錢。"
"這不是說你可以在降低人們的薪資,因為他們在乎的是公正、公平,假若他們發現同工卻不同薪,或者公司內每人的薪資都比同條街上相同性質公司要少個20%,他們將會非常的憤怒,此時錢將會成為一個大問題。"
不知道你有沒有跟我一樣的共鳴,或是有自己心目中的理想工作環境?

沒有留言: