怎樣做一個快樂的ASP.NET程序員
首先我想解釋一下標(biāo)題中兩個關(guān)鍵字: "快樂", "ASP.NET程序員".
有的人想成為一個"杰出"的程序員, 或者"資深"的程序員, 簡單來說就是"大牛"級的人物 -- 但是本文不是針對此種發(fā)展方向不是說我不鼓勵大家朝這方向走, 而是對我而言我更看重"快樂"的本身. -- 而且除非你是天才導(dǎo)致"杰出"或者"資深"是同時需要正確的態(tài)度和漫長的過程.
那么為什么單單談"ASP.NET程序員" -- 這是對我本人的寫照, 也是對一類人的寫照 -- 我們跟著微軟混, 在微軟的平臺上面選擇不同的地域,建立自己的城池. -- 不管是出于無奈還是值得驕傲的選擇. -- 很大的程度上來說, 微軟的舉動和變革多少會影響我們的發(fā)展前途.
我不想標(biāo)榜自己的能力, 事實上我只不過一個非常普通的程序員, 沒有對技術(shù)過人的洞悉能力, 也沒有創(chuàng)造出一個讓我自豪的系統(tǒng). 但是我在工作的時候享受著編碼和項目組織的喜悅. -- 有朋友問我怎么可以每天都充滿這種喜樂, 我開始思考一些久違了的問題.
1. 保持一顆謙卑且自信的心. 這是什么意思? 謙卑意味著, 承認(rèn)自己的有限, 承認(rèn)自己的不足. 自信代表, 相信都是人設(shè)計的邏輯和框架理論, 只要花時間就可以學(xué)得會.
在工作中, 和同事交流的時候,不要擔(dān)心你對他們說你不懂會降低了你的身份. 因為作為程序員,其實身邊的同事都很聰明,交談中, 你到底會不會大家心里都有數(shù). 如果可以承認(rèn)自己的有限, 同時虛心的向別人請教, 對方不僅不會"鄙視"你, 還會尊重你,欣賞你. 更重要的是你的請教會讓他有成就感,這本身是對他的一種醫(yī)治和肯定,換句話說,這是一個"雙贏"的好事.
[特例: 如果遇到一些人真的會因著你的謙卑而欺負(fù)你,要小心保護自己. 但是不要"以妄為常", 這類人往往是因為他在這方面受過傷]
2. 與人分享你的"財富". 作為一個程序員, 什么是你的財富? -- "知識", "經(jīng)驗". 在網(wǎng)上社區(qū)和同事中分享你的財富, 會讓你更富有.
曾經(jīng)聽過一個講座. 說貧窮的人關(guān)注自己, 中產(chǎn)階級擠壓別人抬高自己, 富有的人影響別人. 請注意, 這里的貧窮和富有不單單是指金錢,內(nèi)心富有的人不會只關(guān)注自己,也不會老想著把別人壓下去. 我看到很多喜歡和別人分享自己"財富"的人, 他們一天天的成長, 不斷的進步, 也幫助著更多的人.
[特例: 遇到過一些悶聲發(fā)大財?shù)? 很少能自得其樂. ]
3. 高舉實用主義,不追求理論的卓越. 作為一名"ASP.NET"程序員. -- 實用在我看來是很重要的. 從.net1.0 到現(xiàn)在.net本身不斷進步完善, 我們用的工具, 設(shè)計模式和編碼的方式都在變化. 如果你想"了解全盤"或者"追求***",那么你就完了.
.NET1.0中很多的東西到了現(xiàn)在都不用了, 以前花了很多時間去學(xué)這部分的, 如果沒有用上的確浪費了.
滿足客戶或者老板目前的需求, 學(xué)習(xí)目前項目需要的知識是"實用主義"的本質(zhì). 接受項目中代碼的不完善, 接受系統(tǒng)的不***.
看過很多鼓吹"追求卓越"方面的文章, 對于.NET項目來說, 我認(rèn)為是一種誤區(qū). Google 和 Apple.com 都有無法訪問的時候.
我們只能在有限時間和有限資源的情況下, 做到***. -- 別把自己逼瘋了.
對于做管理的或者做老板的讀者, 我想說的, 大家都在這潭子上混, 退一步海闊天空. 很多時候辛苦做出的系統(tǒng), 客戶未必用的順手, 也未必真的可以用很久.
以前在HSBC上班時, 聽說有個程序員代碼寫錯了, 導(dǎo)致銀行賠了10個億, 銀行都沒有解雇這哥們 -- 因為這不是他一個人的錯, 還牽涉到測試人員和一層層質(zhì)量把關(guān)的問題.
說明一下, 我并非說軟件質(zhì)量不重要, 而是說要關(guān)注在實際需求上, 而非不切實際的要求.
[特例: 聽說有些公司有些老板, 對程序員的要求很苛刻, 我認(rèn)為可以嘗試著跟他們溝通, 往公司里多注入一些"幽默感"]
4. 關(guān)注新事物, 立足不變的基礎(chǔ). 永遠(yuǎn)不要放棄對新事物的關(guān)注. 常常上上cnblogs, 訂閱各類你喜歡的feed, 很多時候一個簡單的新東西會節(jié)省你幾天的摸索.
但是光光學(xué)新東西是不夠的. 很多基礎(chǔ)的東西, 象C#語言本身, 設(shè)計模式等等, 一定要學(xué). 不知道為什么還有人在評論asp.net程序員是拖控件的....
5. 了解自己, 善于使用已有的代碼. 有這樣一個故事, 客戶向程序員說他的需求, 一個大牛立刻飛快的敲著鍵盤開始架構(gòu), 開始以每秒80公里的速度編程; 另外一個大牛說:"等等, 我做過這個東西".
不管是你以前做過, 還是你可以在網(wǎng)上找到代碼. 那都是你的資產(chǎn). 花一點點時間整理你的資產(chǎn).
[特例: 有人花一個星期到網(wǎng)上找需要的代碼, ***只得自己寫. -- 也不要太執(zhí)著了, 多問問身邊的程序員, 說不定他們可以很快告訴你答案]
如果你不同意我的觀點, 可以討論; 如果你認(rèn)同可以推薦一下,讓大家都來關(guān)注程序員的快樂.
原文鏈接:http://www.cnblogs.com/multiplesoftware/archive/2011/12/20/2294125.html
【編輯推薦】