天天看點

《軟體随想錄-Joel on Software》書摘

  • 比爾蓋茨對技術的了解令人驚歎,他了解可變資料類型,COM對象,IDispathch接口以及Automation與虛表有何不同,他明白這種不同可能會導緻雙重接口,是以他擔心日期 函數并非心血來潮,如果他信任那個幹事的人,他就不會幹涉軟體,但是,你不要糊弄他,哪怕是一分鐘,因為他也是一個程式員,一個真正的,現實的程式員
  • 不懂程式設計的人管理軟體公司,就好像不懂沖浪的人硬要去沖浪
  • 優秀的人才從不在市場上求職
  • 如果你不尊重程式員,你就不會得到優秀的程式員
  • 老實說,隻要有兩個以上的人待在一起,就會有政治,這很自然,我說“不搞政治”的真正意思是“不搞惡性的政治”程式員早就練出了對公正有非常良好的判斷力,代碼要麼能運作,要麼不能,坐在那裡争論代碼是否有問題,是毫無意義的,因為你可以運作代碼,答案自然就有了,代碼的世界是非常公正的,也是非常嚴格有序的,許許多多人選擇程式設計,首要原因就是,他們甯願将自己的時間花在一個公平有序的地方,一個嚴格的能者上庸者下的地方,一個隻要你是對的就能赢得争論的地方
  • 當你引入新的績效測量方法時,會有兩個階段的發展,第一階段,你實際上得到了你想要的東西,因為人們還沒有想出作弊的方法,但是,到了第二階段,你實際上讓事情變得比原來更糟,因為每一個人都想出可如何将你測量的名額值最大化的對策,即使代價是毀掉公司,他們也在所不惜
  • 如果不是授課老師SE教授讓一些人明白自己其實不具備程式設計的能力,他們就會有悲慘的職業生涯,一生忙于複制和粘貼大量他人編寫的java代碼
  • 我職業生涯中的一個重大發現,周而複始得,你會注意到,當程式員遇到問題的時候,他們會把問題重新定義,使得這些問題可以用算法解決,這樣一來,問題轉化他們可以解決的形式,但是實際上,那些問題是一種“瑣碎”問題,也就是說,程式員解決的隻是問題的某種外在形式,而并沒有解決真正的問題,原因是這些問題非常難,不是表面的算法可以概括的
  • 一個普通的程式員與一個優秀的程式員的差別,不在于他們懂得的程式設計語言誰多誰少,也不在于他們喜歡用Python語言還是喜歡用java語言,而在于他們能否與他人交流思想,如果你能說服其他人,你的力量就可以得到放大,如果你能寫出清晰的注釋和技術規格說明書,其他程式員就能夠了解你的代碼,是以他們就能在自己的代碼中使用,而不必重寫,如果你做不到這一點,你的代碼對其他人就沒有價值,如果你能為最終使用者寫出清晰的使用手冊,其他人就能明白你的代碼是用來幹什麼的,這是唯一讓别人明白你代碼有何價值的方法
  • 為什麼計算機系的學生應該學經濟學,因為,從經營一家公司的角度來看,比起那些不懂的程式員,一個了解基本商業規則的程式員将會更有價值
  • 計算機科學與軟體開發不是一回事
  • 你為麻煩的事情找到了解決方法市場就會向你支付報酬,解決輕而易舉的事情是拿不到錢的

繼續閱讀