想成為優(yōu)秀程序員嗎断傲?

好長時間沒好好寫點(diǎn)東西了脱吱,前段時間由于項(xiàng)目的需要出差了一個多月,期間各種加班认罩,每天晚上加班到十點(diǎn)箱蝠,回到賓館實(shí)現(xiàn)是沒什么精力再寫博客了。有時間能靜下來寫點(diǎn)東西總是很好的一件事,如果寫技術(shù)方面的博客抡锈,不僅能給讀者提供一些解決問題的線索疾忍,也能加深自己對技術(shù)點(diǎn)的理解,如果寫的是自己對項(xiàng)目的感悟床三,也算是對自己所做的工作的總結(jié)∫徽郑現(xiàn)在終于有時間寫點(diǎn)東西了,感覺還是不錯的
大笑

撇簿。

今天這篇博客不是寫關(guān)于具體技術(shù)的聂渊,而是我對程序員怎樣學(xué)習(xí)和提高自己能力的一些感悟。我是今年7月初畢業(yè)的四瘫,離開學(xué)校后就直接進(jìn)入之前實(shí)習(xí)的公司上班了『核裕現(xiàn)在算來工作了也將近半年了,算上實(shí)習(xí)的時間找蜜,將近一年了饼暑。在這期間,參與了幾個Android項(xiàng)目的開發(fā)洗做,也維護(hù)過別人寫的項(xiàng)目弓叛,雖然都不是很大的項(xiàng)目,但也學(xué)習(xí)了不少東西诚纸。在這其間撰筷,我親身經(jīng)歷了一個設(shè)計(jì)拙劣的項(xiàng)目,是怎么樣一步步趨于混亂而最終變的完全不可維護(hù)畦徘。從這件事情我了解到優(yōu)秀的程序員是多么可貴毕籽,而“不優(yōu)秀”的程序員是怎樣把項(xiàng)目一步步的搞砸搞爛,也了解到做出一款優(yōu)秀的軟件是多么的困難井辆。什么樣的程序員才算優(yōu)秀的程序員关筒,而什么樣的程序員是“不優(yōu)秀”的?(我不愿意說別人壞話掘剪,只能委婉的說“不優(yōu)秀”)作為一個工作不到半年的新人平委,談?wù)撨@個問題好像沒什么權(quán)威性可言奈虾, 我也只是簡單的談?wù)撘幌伦约旱目捶ǘ崴b于自己的閱歷和經(jīng)驗(yàn)不是很豐富,難免具有局限性肉微,讀這篇文章的讀者可以指出我的錯誤匾鸥。

我認(rèn)為,優(yōu)秀程序員和不優(yōu)秀程序員的區(qū)別首先是態(tài)度上的區(qū)別碉纳。優(yōu)秀的程序員有自己的理想勿负,他們想做出好的東西,而不是混混日子而已,他們思考很多奴愉,不管是項(xiàng)目開始之前還是在項(xiàng)目進(jìn)行中琅摩,項(xiàng)目完成之后也會進(jìn)行總結(jié)。他們對待問題比較嚴(yán)謹(jǐn)锭硼,思考比較全面房资,在動手寫代碼之前肯定經(jīng)過了一定的思考,對可能引入的問題進(jìn)行預(yù)估檀头。而不優(yōu)秀的程序員對待問題比較隨意轰异,也就是態(tài)度上不是那么認(rèn)真,代碼寫的也比較隨意暑始,從不考慮以后的變化因素搭独,今天吃飽不管明天肚子餓,他們不會意識到他們的代碼已經(jīng)污染了整個項(xiàng)目廊镜。 在發(fā)現(xiàn)問題時牙肝,優(yōu)秀的程序員總是想辦法彌補(bǔ),他們會找出自己的代碼寫的不好的地方嗤朴,謹(jǐn)慎的修改或大膽的推翻重寫惊奇,這樣的話把問題消滅在萌芽階段而不會讓整個項(xiàng)目偏出正軌。而不優(yōu)秀的程序員播赁,很少能發(fā)現(xiàn)問題颂郎,即使能發(fā)現(xiàn)問題,也是遲遲不肯做出彌補(bǔ)容为,他們總是僥幸的認(rèn)為這些問題不會在后期暴露出來乓序,所以問題越積越多,最后導(dǎo)致整個項(xiàng)目混亂不堪坎背,錯誤百出替劈,無法維護(hù)。

除了態(tài)度上的不同得滤,在能力上也有很大的差別陨献。顯而易見,優(yōu)秀的程序員懂得比較多懂更,他們樂于深入研究原理眨业,對底層的知識有一定的了解或者了解的很透徹,而不只是停留在調(diào)用一個API沮协;而不優(yōu)秀的程序員一般不喜歡思考龄捡,對原理的興趣也不多,他們不愿意花一些時間把一些問題搞明白慷暂,而只是簡單的調(diào)用一下API聘殖,如果解決不了問題,隨便在網(wǎng)上搜一段代碼復(fù)制過來就萬事大吉。所以遇到比較難纏的問題奸腺,優(yōu)秀的程序員總是能從原理出發(fā)餐禁,一針見血的看出問題的真正原因,進(jìn)而解決問題突照,而不優(yōu)秀的程序員總是停留在表面坠宴,在網(wǎng)上搜了很長時間也沒有解決問題。我深切的認(rèn)識到绷旗,如果只是停留在調(diào)用API而不深入原理喜鼓,永遠(yuǎn)也用不好API。

除此之外衔肢,優(yōu)秀的程序員的另一個特點(diǎn)是善于并樂于學(xué)習(xí)庄岖,他們對自己所從事的工作有濃厚的興趣,有強(qiáng)烈的好奇心角骤,他們總是想把問題弄明白隅忿,他們喜歡清晰,而不是迷迷糊糊的感覺邦尊。對一個人的進(jìn)步起決定性作用的因素是刻苦的學(xué)習(xí)背桐,而不是所謂的“經(jīng)驗(yàn)”。就像有人說的那樣蝉揍,在公司里工作不會使你成為大牛链峭,只有持續(xù)的學(xué)習(xí)才能讓你有長足的進(jìn)步。現(xiàn)在很多招聘職位要求有幾年的工作經(jīng)驗(yàn)又沾,這是最容易讓人誤導(dǎo)的弊仪。工作時間長的就能力一定強(qiáng)嗎?舉個例子杖刷,有兩個清潔工励饵,一個干了十年,每天還在默默的工作滑燃,而另一個只干了幾天役听,經(jīng)過自己的思考發(fā)明了一個新的工具或方法,讓他的工作事半功倍表窘。所以說典予,工作經(jīng)驗(yàn)是很虛的東西,他用時間來計(jì)量蚊丐,一個人工作了5年熙参,他可能在5年中每天都學(xué)習(xí)進(jìn)步,也可能一個經(jīng)驗(yàn)用了5年而沒有什么實(shí)質(zhì)性的提高麦备。

扯了這么多,好像和題目沒什么關(guān)系。現(xiàn)在扯點(diǎn)和題目相關(guān)的凛篙。作為一個搞android應(yīng)用開發(fā)的黍匾,我為什么要學(xué)Linux呢?我工作中又不會寫linux程序呛梆,再說Linux內(nèi)核博大精深锐涯,代碼海量,關(guān)系錯綜復(fù)雜填物,學(xué)習(xí)Linux內(nèi)核肯定要耗費(fèi)大量的時間和精力纹腌,那我為什么還要學(xué)呢?在說這個問題之前滞磺,先談?wù)勎覍W(xué)習(xí)的看法升薯。

在學(xué)習(xí)一個東西之前,出于保險(xiǎn)起見击困,我們總是會詢問別人的意見涎劈,而在這些意見中,總是會有人說學(xué)這個干什么阅茶,工作中又用不到蛛枚。如果誰給了你這樣的建議,那么你一定要小心脸哀,因?yàn)榛旧峡梢詳喽ㄋ且粋€不愛學(xué)習(xí)的人蹦浦。有很多東西,不是因?yàn)槟恪案杏X”有用才學(xué)它撞蜂,而是學(xué)了之后才能知道它有用白筹。我的一位朋友是做C#的,他在業(yè)余時間學(xué)了Perl谅摄,當(dāng)時學(xué)的時候總是有人認(rèn)為沒有用徒河,但是當(dāng)他學(xué)會之后,可以使用Perl強(qiáng)大的文本處理能力送漠,去整理格式混亂的源碼文件顽照,可以寫個程序自動的給領(lǐng)導(dǎo)發(fā)郵件。還有我大學(xué)的一位老師闽寡,年輕時因?yàn)橛⒄Z比較好代兵,被單位派去美國,獲得了深造的機(jī)會,回來后做了我們學(xué)校的物理系主任笨农,很多人也認(rèn)為英語沒有用企垦,呵呵。我進(jìn)入公司實(shí)習(xí)的時候思币,看了設(shè)計(jì)模式鹿响,在我翻看《Head First設(shè)計(jì)模式》時,被一個有經(jīng)驗(yàn)的同事看見了谷饿,他告訴我看設(shè)計(jì)模式?jīng)]有用惶我,因?yàn)槲覀兊捻?xiàng)目是不會用到設(shè)計(jì)模式的。我不知道這是什么邏輯博投。反正當(dāng)我看完設(shè)計(jì)模式之后绸贡,真的被這些設(shè)計(jì)巧妙而又極具實(shí)用性的模式所震撼,在以后的項(xiàng)目中毅哗,我大量使用了這些模式或者設(shè)計(jì)原則听怕。所以如果一個工作了兩三年或者更長時間的程序員還沒有學(xué)習(xí)過設(shè)計(jì)模式,我會深深的鄙視他虑绵,認(rèn)為他不是一個真正的程序員尿瞭。

我上大學(xué)時學(xué)習(xí)了Java語言,當(dāng)時還費(fèi)了不少勁蒸殿】昀澹基本的語法比較熟悉了之后,還是感覺到有些東西總是糊里糊涂宏所,不夠清晰酥艳,比如說不知道反射是怎樣工作的。所以找了《深入Java虛擬機(jī)》來看爬骤,當(dāng)我看了兩遍這本書之后充石,感覺到原來不清晰的地方都顯得自然而然,知道了class文件結(jié)構(gòu)是怎樣的霞玄,類是怎樣被加載的骤铃,指令是怎么樣被執(zhí)行的,方法是怎樣被動態(tài)綁定的坷剧。這些知識對我有很大的幫助惰爬,假如我不學(xué)習(xí)Java虛擬機(jī),只是單純的寫Java程序惫企,即使寫上10年撕瞧,也不見的比我現(xiàn)在對Java的理解更透徹。

說了這么多狞尔,只是想說學(xué)習(xí)是有用的丛版,大大的有用。一個經(jīng)驗(yàn)用5年并不等于有5年的工作經(jīng)驗(yàn)偏序,一個不學(xué)習(xí)的程序員是不會有什么發(fā)展機(jī)會的页畦。所以,對于一個java程序員研儒,還分不清對象和對象的引用豫缨,對于一個iOS程序員独令,還分不清ViewController到底是MVC中的視圖還是控制器,那么沒錯州胳,你該學(xué)習(xí)了记焊,該靜下心來好好鞏固一下基礎(chǔ)了逸月。

最后栓撞,來到正題。我為什么學(xué)習(xí)Linux內(nèi)核碗硬?首先瓤湘,我對Linux有很深的興趣和好奇心,我喜歡專研一下恩尾。從實(shí)用性出發(fā)弛说,我可能一輩子都沒有機(jī)會編寫Linux內(nèi)核,也可能一輩子都不會從事Linux驅(qū)動開發(fā)相關(guān)的工作翰意,但是我知道它對我是有用的木人。能進(jìn)一步加深對操作系統(tǒng)中概念和實(shí)現(xiàn)的理解,對底層的深入理解冀偶,能讓我打下扎實(shí)的基礎(chǔ)醒第。一些新技術(shù)其實(shí)都是架構(gòu)在基礎(chǔ)的東西之上的〗基礎(chǔ)牢固稠曼,以后再學(xué)習(xí)什么新技術(shù)都會水到渠成。有人可能會反駁客年,說學(xué)習(xí)底層的東西沒用霞幅,優(yōu)秀的程序員應(yīng)該專注于設(shè)計(jì),項(xiàng)目管理或架構(gòu)等上層的知識量瓜,我的觀點(diǎn)是司恳,設(shè)計(jì),項(xiàng)目管理或架構(gòu)等上層的知識和底層的知識一點(diǎn)都不沖突绍傲,不懂底層的人扔傅,基礎(chǔ)不扎實(shí),在上層也不會走的順暢唧取,設(shè)想一下铅鲤,如果沒有深厚的基礎(chǔ)知識,你怎么能知道自己架構(gòu)出來的東西能不能實(shí)現(xiàn)呢枫弟?

寫到這里文章就寫完了邢享,由于比較困,可能寫的有些散亂淡诗,在最后總結(jié)一下這篇文章的主要觀點(diǎn)骇塘。
總結(jié):
1 我們要做優(yōu)秀的程序員伊履,不要做“不優(yōu)秀”的程序員;
2 學(xué)習(xí)是有用的款违,如果有人給你的建議是學(xué)XXX沒用唐瀑,那么你可要當(dāng)心;
3 底層的知識和高層的知識不是不能相容的插爹,真正優(yōu)秀的程序員應(yīng)該兩者兼顧哄辣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市赠尾,隨后出現(xiàn)的幾起案子力穗,更是在濱河造成了極大的恐慌,老刑警劉巖气嫁,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件当窗,死亡現(xiàn)場離奇詭異,居然都是意外死亡寸宵,警方通過查閱死者的電腦和手機(jī)崖面,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梯影,“玉大人巫员,你說我怎么就攤上這事」夂ǎ” “怎么了疏遏?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長救军。 經(jīng)常有香客問我财异,道長,這世上最難降的妖魔是什么唱遭? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任戳寸,我火速辦了婚禮,結(jié)果婚禮上拷泽,老公的妹妹穿的比我還像新娘疫鹊。我一直安慰自己,他們只是感情好司致,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布拆吆。 她就那樣靜靜地躺著,像睡著了一般脂矫。 火紅的嫁衣襯著肌膚如雪枣耀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天庭再,我揣著相機(jī)與錄音捞奕,去河邊找鬼牺堰。 笑死,一個胖子當(dāng)著我的面吹牛颅围,可吹牛的內(nèi)容都是我干的伟葫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼院促,長吁一口氣:“原來是場噩夢啊……” “哼筏养!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起一疯,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤撼玄,失蹤者是張志新(化名)和其女友劉穎夺姑,沒想到半個月后墩邀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盏浙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年眉睹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片废膘。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡竹海,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出丐黄,到底是詐尸還是另有隱情斋配,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布灌闺,位于F島的核電站艰争,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏桂对。R本人自食惡果不足惜甩卓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蕉斜。 院中可真熱鬧逾柿,春花似錦、人聲如沸宅此。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽父腕。三九已至弱匪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侣诵,已是汗流浹背痢法。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工狱窘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人财搁。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓蘸炸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尖奔。 傳聞我的和親對象是個殘疾皇子搭儒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

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