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