《軟件隨想錄:Joel談軟件》讀書筆記

第一部分 : 人員管理

1 我的第一次BillG審查:

在這個(gè)小結(jié)里面棘捣,作者通過回憶在微軟工作的時(shí)候构眯,自己設(shè)計(jì)Excel函數(shù)語言的時(shí)候被比爾蓋茨做例行審查龙致,蓋茨在作者提交的規(guī)格說明上認(rèn)真做了筆記端礼,審查的時(shí)候問了非常細(xì)致的問題,包括一個(gè)在之前產(chǎn)品出現(xiàn)的日期函數(shù)錯(cuò)誤問題株茶。作者通過將比爾蓋茨與其他幾位不懂技術(shù)的大公司高管對(duì)比,得出結(jié)論图焰。

不懂編程的人管理公司启盛,就好像不懂沖浪的人硬要去沖浪。

我比較贊同作者的這一想法技羔,通過自己為數(shù)不多的項(xiàng)目經(jīng)驗(yàn)僵闯,我也能體會(huì)到一個(gè)內(nèi)行的leader對(duì)一個(gè)軟件項(xiàng)目的成功起到?jīng)Q定性的作用。假如團(tuán)隊(duì)的領(lǐng)導(dǎo)只遵循經(jīng)濟(jì)藤滥,管理或者其他一些行業(yè)的經(jīng)驗(yàn)鳖粟,盲目地參與到軟件開發(fā)的需求獲取,設(shè)計(jì)甚至系統(tǒng)架構(gòu)過程中拙绊,那么這個(gè)項(xiàng)目十有八九會(huì)遭遇失敗牺弹。

2 尋找優(yōu)秀的程序員

3 尋找優(yōu)秀的程序員之實(shí)戰(zhàn)指南

這兩節(jié)中,作者從理論和實(shí)踐上向管理者傳授了如何識(shí)別和招攬優(yōu)秀程序員的方法时呀。有一個(gè)觀點(diǎn)說得很有道理张漂,優(yōu)秀的程序員不會(huì)出現(xiàn)在各類招聘市場(chǎng)和求職網(wǎng)站上,因?yàn)樗麄冊(cè)谝婚_始就會(huì)早早地從一個(gè)較好的實(shí)習(xí)公司得到機(jī)會(huì),不用去找其他工作。如果它們離開了當(dāng)初的公司分预,一種情況是創(chuàng)業(yè),一種是跟著老板跳槽到另一家公司漠畜。這里我想說,優(yōu)秀的程序員也可能是因?yàn)橛泻芏喃C頭和一些公司的HR會(huì)主動(dòng)聯(lián)系他們而不會(huì)出現(xiàn)在招聘市場(chǎng)上坞靶。那么如何招攬優(yōu)秀的程序員呢憔狞?作者就給出了創(chuàng)建技術(shù)社區(qū),去名校招攬實(shí)習(xí)生作為人才儲(chǔ)備彰阴,還有就是內(nèi)部員工推薦瘾敢,當(dāng)然最好的方法還是使自己的產(chǎn)品足夠有吸引力,無論是在前景或者經(jīng)濟(jì)或者技術(shù)上尿这。同時(shí)在社交簇抵、生活等方面,要尊重程序員的成果射众,給予他們一定程度的自主權(quán)碟摆。看到這里我想起了馬云曾說過的關(guān)于人才管理的一句話叨橱,員工為什么離職典蜕?要么是錢沒給到位断盛,要么是心受委屈了。真是切中要害愉舔。

在第三節(jié)郑临,作者說程序員實(shí)際上不在乎錢,當(dāng)有人在抱怨薪水的時(shí)候屑宠,說明他不是真正地喜歡現(xiàn)在的工作。這實(shí)際上跟我所處的環(huán)境的所見所聞?dòng)兴煌鹑谩N宜吹降闹苓叺耐瑢W(xué)典奉,在找工作的時(shí)候薪資的因素會(huì)考慮比較重的分量。大概是因?yàn)閲?guó)情不同吧丧叽,我們這邊的習(xí)慣是結(jié)婚成家必須有房子卫玖,有車更好,所以大家在經(jīng)濟(jì)上的壓力還是比較大的踊淳。不過有一個(gè)現(xiàn)象是合理的假瞬,就是技術(shù)越強(qiáng)的人,能夠找到自己滿意薪資的職位的概率越大迂尝,薪水的水平也一般在最高的水平脱茉。

4 三種管理方法

5 軍事化管理法

6 經(jīng)濟(jì)利益驅(qū)動(dòng)法

7 認(rèn)同法

在人員管理中比較流行的三種方法是軍事化管理法、經(jīng)濟(jì)利益驅(qū)動(dòng)法和認(rèn)同法垄开。軍事化管理方法絕對(duì)不適用于程序員的管理琴许。因?yàn)槌绦蚬ぷ魇莿?chuàng)造性的工作,軍事化管理需要的是絕對(duì)服從和嚴(yán)明的層級(jí)關(guān)系溉躲,這只會(huì)抹殺創(chuàng)造力榜田,造成公司的人員僵化,從而極大降低工作效率锻梳。經(jīng)濟(jì)利益驅(qū)動(dòng)的缺點(diǎn)是他將工作的驅(qū)動(dòng)力從強(qiáng)大的內(nèi)部驅(qū)動(dòng)轉(zhuǎn)變?yōu)橄鄬?duì)弱的外部驅(qū)動(dòng)箭券。還有可能使程序員們具有局部利益最大化傾向,從而使他們的目標(biāo)從優(yōu)雅高效地實(shí)現(xiàn)需求轉(zhuǎn)為考慮如何使得自己獲得的酬勞最大化疑枯。而認(rèn)同法辩块,指的是使員工們認(rèn)同你希望達(dá)到的目標(biāo)。這種方法被認(rèn)為是管理程序員最好的方法荆永,但是實(shí)施起來也比較困難庆捺。結(jié)合我自己的經(jīng)歷,我非常贊同認(rèn)同法是管理軟件團(tuán)隊(duì)最好的方法屁魏,但是更同意它是一種實(shí)現(xiàn)起來比較困難的方法滔以。可以說在我接觸的程序員中氓拼,絕大多數(shù)都不是說對(duì)自己做出的東西有多么的認(rèn)同你画。但是我認(rèn)識(shí)的那兩三位真正在做自己非常喜歡做的技術(shù)和產(chǎn)品的同學(xué)抵碟,都已經(jīng)取得了相當(dāng)?shù)某删汀?/p>

第二部分 :寫給未來程序員的建議:

8 學(xué)校只教Java的危險(xiǎn)性

作者的觀點(diǎn)是,Java這門語言可能很適合工作坏匪,但是它的出現(xiàn)給程序員的教育帶來負(fù)面影響拟逮。Java的出現(xiàn)屏蔽了一些類似指針和底層函數(shù)等能夠區(qū)分程序員學(xué)習(xí)能力和智商能力的語法點(diǎn),使得優(yōu)秀的程序員和平庸程序員之間的差異變得不再突出适滓。Java使同學(xué)們變得越來越懶敦迄。作為一個(gè)在學(xué)習(xí)和工作中主要使用Java語言的碼農(nóng),我表示雖然很不情愿凭迹,但是作者說的對(duì)罚屋。雖然我們學(xué)校不是作者所說的只教Java的學(xué)校,但是我們?cè)撼鰜淼耐瑢W(xué)好像都是把Java作為主要語言嗅绸。仔細(xì)回想脾猛,我們的C++課,Linux課鱼鸠,我自己確實(shí)學(xué)得都不太好猛拴。希望能在之后的工作中,不怕吃苦蚀狰,不懼困難愉昆,努力提高自己的技術(shù)全面性吧。

9 在耶魯大學(xué)的演講

10 給計(jì)算機(jī)系學(xué)生的建議

這兩節(jié)中麻蹋,作者給出了他對(duì)計(jì)算機(jī)類學(xué)生的建議撼唾。主要是7個(gè)方面:

  • 畢業(yè)前練好寫作;

  • 畢業(yè)前學(xué)好C語言;

  • 畢業(yè)前學(xué)好微觀經(jīng)濟(jì)學(xué)哥蔚;

  • 不要因?yàn)榭菰锞筒贿x修非計(jì)算機(jī)專業(yè)的課程倒谷;

  • 選修有大量編程實(shí)踐的課程

  • 別擔(dān)心所有工作都被印度人搶走;

  • 找一份好的暑期實(shí)習(xí)工作糙箍;

對(duì)這七條建議渤愁,就我自己而言可能就選修大量實(shí)踐課程稍微符合。相信大家跟我一樣深夯,對(duì)印度人搶工作的說法比較感興趣抖格。原來在美帝各個(gè)行業(yè)都在擔(dān)心中國(guó)和印度會(huì)搶他們的飯碗,看來人多力量大在IT領(lǐng)域的宏觀觀察方面還是靠點(diǎn)譜的咕晋。針對(duì)這種想法雹拄,一是真正優(yōu)秀的程序員根本不會(huì)怕失去工作,二是除了計(jì)算機(jī)掌呜,其他的專業(yè)找工作的時(shí)候更坑爹滓玖,就作者的這兩種觀點(diǎn),我無法反駁质蕉。

第三部分 :設(shè)計(jì)的作用

11 字體平滑势篡、反鋸齒和次像素渲染

這節(jié)的內(nèi)容是作者通過比較微軟和蘋果對(duì)字體鋸齒處理時(shí)候的不同思想翩肌,得出蘋果重視桌面和出版物的設(shè)計(jì)效果,而微軟則更傾向于實(shí)用性禁悠,但是這兩種設(shè)計(jì)思想都會(huì)得到各自用戶的認(rèn)可念祭。然后作者拋出觀點(diǎn):一般情況下,用戶在面對(duì)模棱兩可的選擇的時(shí)候碍侦,會(huì)傾向于自己習(xí)慣的那種粱坤。

12 寸土必爭(zhēng)

在開發(fā)商業(yè)軟件的時(shí)候,我們應(yīng)該對(duì)每一個(gè)細(xì)節(jié)反復(fù)思量瓷产,不放過任何能夠產(chǎn)生正作用的微小改進(jìn)站玄。

我覺得就是這樣,在產(chǎn)品上拦英,所謂制作精良和粗糙的對(duì)比,對(duì)比的就是細(xì)節(jié)测秸。就我們編寫代碼來說疤估,當(dāng)你的每個(gè)組件,每個(gè)函數(shù)都考慮算法和效率以及寫法的優(yōu)雅性霎冯,那么我們整個(gè)項(xiàng)目就不會(huì)說搞得很雜亂铃拇,很難看。

13 大構(gòu)想的陷阱

本節(jié)是對(duì)《夢(mèng)斷代碼》一書的評(píng)論沈撞。作者指出:在軟件開發(fā)中慷荔,如果你頭腦提前有了一個(gè)整體構(gòu)想然后馬上一頭扎入工作去實(shí)現(xiàn),那么久陷入了所謂的“構(gòu)想陷阱”缠俺。一是對(duì)自己的構(gòu)想過于自信显晶,二是沒有考慮團(tuán)隊(duì)溝通的問題。

其實(shí)我覺得就是針對(duì)這種陷阱壹士,我們才有了后來軟件開發(fā)過程中的需求分析磷雇,體系結(jié)構(gòu),模塊設(shè)計(jì)躏救,詳細(xì)設(shè)計(jì)等階段唯笙。不過凡事皆須有度吧,由于軟件開發(fā)的特殊性盒使,有時(shí)候我們按部就班地做了這些工作后發(fā)現(xiàn)崩掘,其實(shí)所有階段的產(chǎn)出都被后續(xù)階段修改的面目全非,那么這些階段產(chǎn)物的維護(hù)管理又是很大的開銷少办。所以苞慢,我們又有了敏捷開發(fā)的快速迭代模式。具體怎么搞英妓,這個(gè)過程究竟是要多大程度上使用傳統(tǒng)的軟件工程迭代和敏捷開發(fā)枉疼,感覺還是要根據(jù)具體項(xiàng)目和團(tuán)隊(duì)成員來確定皮假。

14 別給用戶太多選擇

“關(guān)閉筆記本竟然有15種不同的方法”,這是作者本節(jié)對(duì)微軟vista操作系統(tǒng)的吐槽骂维。

像這種問題惹资,當(dāng)一個(gè)功能的解決方案有很多備選的時(shí)候,我覺得正確之道是做一個(gè)調(diào)查航闺,選出大家最認(rèn)可的兩三種保留褪测,其他的可以一概不要。

15 易用性是不夠的

本節(jié)旨在說明做好易用性的下一步是做好社會(huì)化界面的設(shè)計(jì):主要包括界面的協(xié)調(diào)性潦刃、功能可見性侮措、反饋性等。這章感覺沒什么新意乖杠。

16 用軟件搭建社區(qū)

程序員由于工作性質(zhì)分扎,一般比較宅,但是每個(gè)人都具有社會(huì)性胧洒,程序員也會(huì)渴望有多一點(diǎn)而的人際交往畏吓。于是他們涌向在線社區(qū)。我覺得我自己就是這樣的卫漫,除了微信朋友圈之外菲饼,我經(jīng)常刷知乎,微博列赎,水虎撲論壇等宏悦。感覺技術(shù)上的社區(qū)對(duì)程序員之間的交流作用比較大,這里推薦一下v2ex, 程序員專屬的交流場(chǎng)所包吝。

第四部分 :管理大型項(xiàng)目

17 火星人的耳機(jī)

“Web標(biāo)準(zhǔn)”非潮罚混亂,作者舉了IE7和IE8之間沖突的例子诗越。實(shí)際上由于這些混亂的標(biāo)準(zhǔn)派哲,現(xiàn)在IE在前端界根本不受待見,幾乎稍微現(xiàn)代一點(diǎn)的網(wǎng)頁項(xiàng)目都是只需要在chrome和firefox里面運(yùn)行正常就可以了掺喻。

然后作者就舉了一個(gè)為火星人造耳機(jī)的例子來說明開發(fā)者面對(duì)各種各樣不同的“標(biāo)準(zhǔn)”是怎樣崩潰的芭届。

18 為什么Microsoft Office的文件格式如此復(fù)雜

08年,微軟公開了Office文件的二進(jìn)制格式說明書感耙,光Excel有349頁那么多都沒說完褂乍。然后作者說,要寫出能與Office競(jìng)爭(zhēng)即硼,完美讀取和生成所有Office文件的軟件逃片,需要幾千年的工作量。我覺得金山WPS可能需要傳授作者一點(diǎn)人生的經(jīng)驗(yàn)∪焓担可能作者這里說的是一個(gè)人開發(fā)出所有的Office 辦公軟件吧呀狼。當(dāng)然,這確實(shí)不太現(xiàn)實(shí)损离。

19 要掙錢哥艇,就別怕臟

這既是針對(duì)軟件公司的運(yùn)營(yíng)來說的。包括業(yè)務(wù)推廣僻澎,招聘各類型的人才貌踏,客戶量的激增之后帶來的各種麻煩】卟總而言之祖乳,創(chuàng)業(yè)在當(dāng)今并不是隨便找兩個(gè)人搞個(gè)APP發(fā)布了,靠吹吹牛拉點(diǎn)投資就能叫創(chuàng)業(yè)那是非潮酰可笑的想法眷昆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市汁咏,隨后出現(xiàn)的幾起案子亚斋,更是在濱河造成了極大的恐慌,老刑警劉巖梆暖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伞访,死亡現(xiàn)場(chǎng)離奇詭異掂骏,居然都是意外死亡轰驳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門弟灼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來级解,“玉大人,你說我怎么就攤上這事田绑∏诨” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵掩驱,是天一觀的道長(zhǎng)芒划。 經(jīng)常有香客問我,道長(zhǎng)欧穴,這世上最難降的妖魔是什么民逼? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮涮帘,結(jié)果婚禮上拼苍,老公的妹妹穿的比我還像新娘。我一直安慰自己调缨,他們只是感情好疮鲫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布吆你。 她就那樣靜靜地躺著,像睡著了一般俊犯。 火紅的嫁衣襯著肌膚如雪妇多。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天瘫析,我揣著相機(jī)與錄音砌梆,去河邊找鬼。 笑死贬循,一個(gè)胖子當(dāng)著我的面吹牛咸包,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杖虾,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼烂瘫,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了奇适?” 一聲冷哼從身側(cè)響起坟比,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嚷往,沒想到半個(gè)月后葛账,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡皮仁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年籍琳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贷祈。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡趋急,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出势誊,到底是詐尸還是另有隱情呜达,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布粟耻,位于F島的核電站查近,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏挤忙。R本人自食惡果不足惜霜威,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望饭玲。 院中可真熱鬧侥祭,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至胎署,卻和暖如春吆录,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背琼牧。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工恢筝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人巨坊。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓撬槽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親趾撵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子侄柔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,104評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)占调,斷路器暂题,智...
    卡卡羅2017閱讀 134,654評(píng)論 18 139
  • 早晨,一束燈光和母親的一聲叫喊把我從睡夢(mèng)中拉了出來究珊,懵懵懂懂的我就緊趕慢趕的跟著母親走出了家門薪者。 再見,新...
    天殘土豆閱讀 132評(píng)論 1 4
  • 問題 今天提交代碼時(shí)剿涮,在一次提交言津,莫名其妙沒成功后,再次用git commit -a命令時(shí)幔虏,出現(xiàn)以下錯(cuò)誤纺念,無論是用...
    IBegins閱讀 6,526評(píng)論 1 1