學習筆記

          Simple is beautiful.

          導航

          <2007年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統計

          公告

          ...

          常用鏈接

          留言簿(1)

          隨筆分類(2)

          隨筆檔案(56)

          Weblog

          搜索

          最新評論

          評論排行榜

          十年編程經驗凝結(廖俊才,CSDN編輯)

                   有天和朋友聊天,朋友是國內一家大型互聯網企業的一位技術主管,朋友把他將近十年研發工作積累的心血總結成兩點,這兩點朋友剛一提出來我并沒有馬上明白,只是大約有這么一個概念,我還沒達到朋友在技術領域的那種高度,不能徹底領悟他深刻的思想。但我想與眾多剛剛踏入IT技術研發領域的新人們分享一下這位朋友的思想,我盡全力來解釋闡述朋友的話語,希望能給大家帶來一些啟發。
                   第一點是:不斷抽象已知的東西?,F實生活總是包括很多零散的東西,待解決的問題不會只有一面,所以抽取零散東西的共同屬性,聚合不同角度的同一面向,成為從問題領域進入編程領域的第一步。抽象的層次越高,你架構設計就越簡單。
                   第二點是:面對未知的東西用已有的抽象經驗來模擬體驗,從而不斷調整直至達到可以控制未知東西的程度。有了上面第一點的基礎,才可能到達這第二點的境界?,F實問題總是不斷變化著的推陳出新的,從未知到半知到已知,是人認識客觀世界的一個過程,恰如人生從天真到懵懂到成熟的過程。天才是什么?聊著聊著我們突然說到比爾蓋茨,說到那些天才黑客,朋友和我都很興奮。我問朋友,從他總結的兩點來看天才是怎么實踐這兩點的?朋友想了一下說,天才就是生來就有那種抽象的能力,他并不一定局限于計算機領域的空間來看待問題,他擁有從這個世界其他領域來模擬體驗計算機領域的天賦,他甚而可以抽象整個世界。
                   朋友的思想太博大高深,如我這般入行不久的初級程序員怎能領會?但我還是裝作深有體會的不斷點頭,同時把朋友從山巔拉到山腳下。我說:“你說得太抽象了,不如你告訴一個起步階段的程序員應該怎么慢慢通過實踐來逐步達到這種境界吧。”我知道朋友在這方面頗有體會,他以前曾跟我提起他畢業后在第一家公司是怎么接受錘煉的。果然朋友很快開始闡述:“很簡單,起步階段就是專心的模仿。切記不要被那些亂七八糟的東西晃花了眼,什么j2ee與.net之爭,什么soa的革命等等,你不要去關心這些東西。當你在公司上班時,會有這樣一個矛盾,當你完成公司交待的一個任務時,你可能為了盡快完成任務用了很多別人現成的框架。這本身沒問題,但何謂專心的模仿?就是說你在工作之余,需要來研究這些框架,你可以不用這些框架,而是用最原始的方式來寫,你會慢慢體會到框架的約束,進而有對框架進行改進的欲望。但是最終你也會發現:其實任何一個框架都比你自己寫的要好。然而在你不斷模仿的同時你就得到不斷的提高。”朋友越講越起勁,又開始分析高手和低手在起步階段的差異,“其實所謂學得快,所謂高手,就是說他在模仿的過程中不斷比較自己寫的東西和框架本身的差異,不斷發現問題,想盡辦法解決問題,思考得越多,你碰到的問題就會越多,這是一個正向循環,最終你的技術能力就會螺旋式的上升;而低手只會被動的等待問題,一旦問題自己覺得解決得差不多就放下了,這樣自然就不會產生更多的問題,最終技術能力就始終停留在那個菜鳥階段。”
                   朋友的話讓我慚愧不已,我就是典型的不求甚解啊,問題解決得差不多就行,能運行就萬歲,總是不去深究,這樣給系統留下多大的隱患啊,而且也是對自己極大的不負責任。 
                   聊完了技術方面的東西,我們想聊點輕松的,但是話題仍然離不開那些搞技術的新人們。朋友正好最近替公司招聘人才,面試了很多名校的計算機相關專業的一些畢業生。朋友說他們技術功底不夠扎實,我說他們除了這個,心態也很浮躁,恨不得一參加工作就拿大幾千的工資,一進公司就做項目經理,太眼高手低。朋友也深有同感,說面試的時候就有一種怪怪的感覺,而且朋友進一步將這種心態問題提升到編程提升到認識論的高度,“其實我覺得他們本質上是一個不能夠正確認識自己的問題。認識論其實很簡單,首先認識問題,然后解決問題。你說你想做項目經理,那么你需要具備哪些技能,技術上的,管理上的等,你需要多長時間來磨煉這些技能等。編程不也就是這樣嘛,認識問題,抽象問題,進行設計編碼最終解決問題,其實做所有的事情都是如此。” 
                   跟朋友的這番聊天讓我受益匪淺,而讓我感受最深的不是上面提及的這些關于編程和心態兩方面的道理,而是我體會到:技術人員并不像人們想象中的那么呆板,每個人都在以自己的方式活著,不斷參悟人生的玄妙,而技術人員以一種更為奇特的方式和電腦搏斗,付出了更多的心血,當然體悟得也更加深刻,然而最終每個人都會殊途同歸。

          posted on 2007-05-21 00:56 Ecko 閱讀(285) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 凤庆县| 渭源县| 昔阳县| 永丰县| 定襄县| 广水市| 桃江县| 峨眉山市| 金昌市| 佳木斯市| 额济纳旗| 博爱县| 巴彦淖尔市| 沁阳市| 乌审旗| 桦南县| 高台县| 全南县| 和平区| 古丈县| 南木林县| 定远县| 朔州市| 成武县| 岚皋县| 青冈县| 婺源县| 南召县| 武隆县| 连山| 高淳县| 禹城市| 雷州市| 南江县| 临洮县| 浦县| 宽城| 雷山县| 南木林县| 长垣县| 固镇县|