程序員的七種武器

第一種武器:開發工具
至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點推薦的開發工具,C/C++以其高效率和高度的靈活性成爲開發工具中的利器,很多系統級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結合是JAVA的優勢所在,而本人對SUN公司的“網絡即計算機”的概念相當欣賞,並相信JAVA即其相關的技術集JAVA One會成爲未來的主流開發工具之一。其次,如果能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。 
第二種武器:數據庫
爲什麼數據庫是如此重要?很多應用程序都是以數據庫的數據爲中心,而數據庫的產品也有不少,其中關係型數據庫仍是主流形式,所以程序員至少熟練掌握一兩種數據庫,對關係型數據庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多數據庫產品提供了可視化的數據庫管理工具,但SQL是基礎,是通用的數據庫操作方法。如果沒有機會接觸商業數據庫系統,可以使用免費的數據庫產品是一個不錯的選擇,如mySQL, Postgres等。 
第三種武器:操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成爲一個真正的編程高手,需要深入瞭解操作系統,瞭解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作爲開發源碼的操作系統,是一個很好的學習平臺,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的瞭解後,你會發現自己上了一個新的臺階。 
第四種武器:網絡協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網絡技術已改變了軟件運行的模式,從最早的客戶/服務器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧爲基礎的網絡協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。 
第五種武器:DCOM/CORBA/XML/WEB Services
隨着技術的發展,軟件與網絡的無縫結合是必然趨勢,軟件系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分佈計算的中間件平臺,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG(object Management group)支持的規範。程序員需要做的不僅僅是利用商業的開發平臺來開發軟件,而是要理解這些技術的初衷,即爲什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻爲互聯網上的“世界語”,是分佈計算的基石之一。 
第六種武器:軟件工程與CMM
現代大型軟件系統的開發中,工程化的開發控制取代個人英雄主義,成爲軟件系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟件工程思想有機結合,編程只是軟件生命週期中的其中一環,優秀的程序員應該掌握軟件開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟件測試等。一句話可以概括我的看法:“創意無限,流程保證”。 
第七種武器:強烈的好奇心
什麼纔是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峯的源泉和動力所在。 

養成良好的習慣
現在很流行的一句話是“性格決定命運”,實際上可以這樣理解,你的性格決定你的習慣,而習慣決定你的命運!中國有一句古話叫做:習慣成自然。同時,西方古希臘哲學家亞里士多德也說過:“優秀是一種習慣”,比如你每天早上堅持起來讀書,就養成了讀書的好習慣。那麼懶惰也是一種習慣,不知道在座的各位又沒有感覺到,當你睡覺越來越多的時候,你每天都想睡覺,越睡越懶,越坐越癱。你習慣於10點睡覺7點起牀,那就比習慣於11點睡覺6點起牀的人少擁有兩個小時,而據我所知很多好學習的人都是12點睡覺5點起牀的,那你就又比他們每天少擁有4個小時了。
在一次次沉重的洗禮後,痛苦地改掉不利於自己發展的不良習慣,從而又一次超越自己。

一、適當背誦的習慣
新東方有個學員上中學的時候英語特別的差,總是倒數第一名,於是爲了提高自己的英文水平他就決定開始背誦新概念英語,結果背到一半2冊的時候,他成績就明顯提高了。高考後上了大學,他考上了一所比較著名的大學,他本來不想再背誦了,但是當他背給同學聽的時候,其他同學都露出了羨慕的眼光,於是爲了這種虛榮心,他就堅持背誦第三冊第四冊,背得滾瓜爛熟,你說上一句,他就能聯出下一句,而且語音非常標準,因爲他是模仿磁帶背誦的。後來他去了美國的duke大學,第一個星期寫文章,教授就把他叫過來說你的文章是剽竊的,他說:“我教了20年的書也沒教出這麼漂亮的文章來”,這個學生說我沒辦法證明我能寫出這麼漂亮的文章,但我告訴你我能背誦108篇文章,你想不想聽,於是他就開始背誦,結果他沒背完兩篇,教授就哭了起來,爲什麼?這個教授想我教了20年書,居然一篇文章也沒有背過,被中國學生背掉了,所以很難過。小時候背誦兒歌的故事,好的算法和好的代碼可以重點看一看。 
二、好爲人師的習慣 
把你認爲你懂的東西講出來吧,將給別人聽,你會記憶得更加深刻。成就感是一點一點積累起來的,你考考別人bluetooth、ASP、PDA、CDMA是什麼?如果他不懂,你就講給他聽,同時你自己的記憶也在加深。在現代這樣一個向開放型過渡的社會裏,你要想成功必須要善於表達自己,善於表達自己的觀點和思想,並想辦法說服別人,做市場作營銷當老師當領導者,你要想證明自己有能力,那你就必須學會說出來呀、表達自己,塑造你個人的影響力,人與人之間的交往,就是意志力與意志力的較量,不是我影響你,就是你影響我。 現在最流行的職業:口力勞動者,教師、主持人、歌星、領導、美國總統、市場營銷人員等等。
三、五官齊用的習慣 
如果說你看到的東西,你會記住30%,那麼你同時看和聽就會記住50%,如果你既看又聽,手裏還在寫、嘴裏還在唸唸有詞,你就會記住100%,如果日後有時間再複習兩至三遍,你就永遠不會忘記了。不在於你一次看了多長時間,重要的是你重複了多少次! 
四、學習他人的習慣 
給自己樹立一個目標人物,最好從身邊找到一個這樣的榜樣,你可以跟他交流,這樣當你遇到困難的時候想一想你做敬佩的人會怎樣做,你就有力量去征服它了。我常以爲,這輩子如果能遇到一位好的指導老師講是一件很幸運的事情。如果身邊沒有,我上面舉了那麼多的明星人物,從裏面找一個你的努力目標吧!周奕的例子,mp3到光盤刻錄、註冊碼、匯款方式。小的目標大的目標,向他看齊,現在時代,不是個人英雄主義的時代,你要學會從別人身上學習好的東西,拿爲己用,你的任務只是在他的基礎上能夠提升。 
五、見縫插針的習慣 
時間像海綿裏的水,看你怎樣擠出來用,最有效的記憶規律不是你一次記憶多長時間,二是你多長時間重複記憶多少次。把你最喜歡的書隨時帶在身邊,有空就看,不要讓大腦閒置太久不用。背單詞。
六、設立特定的目標並規定期限 
把你的人生當成程序來設計,制定計劃,並限制完成的日期,否則你總會被各種原因而耽誤的。比如說參加gre考試,你永遠也不敢肯定自己是否已經準備到最充分了,那麼是不是就一直不考呢?一直在準備準備、複習複習,直到你筋疲力盡沒有力氣去考試了,一鼓作氣、再而衰、三而竭,再說時間有限,你有多少時間可以浪費呢? 
七、注重實踐的習慣 
無論你的書本知識掌握得多麼牢固,你多麼的清晰地理解你所學到的知識,你一到實踐中去用,你會發現遠遠不是那麼一回事。就像學習游泳,我學游泳的時候,請教了無數的游泳專家,模仿最標準的姿勢,練氣和技巧,我在陸地上不停的練習、練習、再練習,可是一下水,全完了,還是不會。 做程序員,那得練、不停的練習。最好的學習方法,就是自己寫一段小程序。學習開車,我跟我男朋友學開車,每次他開車的時候都告訴我,怎樣啓動發動機,然後踩離合器,掛檔,給油,剎車停車,我對開車的理論和技巧無比熟悉了,自信一定可以開車了,於是就嘗試了一下,怎麼樣,結果不是不堪設想啊,動用了手剎。學員活動調查結果,最短時間內、最快學會編程、成爲像你們一樣的程序員!

 一點學習經驗
勤奮練習 
把書上的例子輸進電腦實踐一遍,然後進行各種試驗,再聯想出各種相關的程序,自己寫出來,並驗證自己的結果。
讀高手寫的程序
有了一定的基礎的時候,可以嘗試去讀高手寫的程序,解讀他們的程序的設計理念、風格、解決問題的思路等。我的程序就和英語一樣,一個變量名就是一個句子!寫程序很少加註釋!
GNU/Linux爲我們提供了一個巨大的源程序寶庫,裏面有各種各樣的程序源代碼,詳細研究一套你感興趣的系統,你的水平會得到大幅度提高。
不斷提高 
除了多加練習,你還需要多讀書,特別是英文書。要適時的選擇自己的主攻方向。
記筆記的習慣
隨時拿着你的筆和筆記本,一接收到有用的信息或字急又好的想法就迅速記下來,抓住瞬息即逝的靈感。自己大腦裏蹦出來的東西,纔是自己的價值和驕傲。
學習它是個長期的過程,要不斷的總結經驗,我們學習就怕不能持之以恆。關於這點大家比我更清楚。一旦你學會了它,其他的語言就可以觸類旁通了,例如:C++,C#,JAVA,VB,DELPHI......這些學起來就會比那些C語言基礎不紮實的人要輕鬆得許多!學習的過程是一個不斷積累的過程,只有學習的時間積累到一定的程度,才能發生質的提高。經過ACCP接近兩年時間學習培養出來的軟件工程師纔是當前市場上亟需的專業軟件人才,才意味着高薪和價值。
程序員的分類
第一種是初級,這種人數量最多,水平最低。喜歡看報紙上的編程小知識,祕籍和技巧大全之類的東西,這給了他廣博的半瓶子醋的學問。這種程序員往往把編程這種腦力勞動變成敲鍵盤的體力勞動。把軟件白領變成了軟件藍領。一些軟件公司的Fans們往往拿着嚇人的工資、做着嚇人的項目,他們做出來的結果也往往很嚇人。這些人組成了軟件人才市場上的流動大軍。 
第二種是通常意義上的高手,他們有時候覺得自己十分了不起,有時候又覺得自己什麼也不是。大部分時候,他沒感覺,沒激情,沒愛,相當於一個血肉機器、曰之爲“感情木頭”。對於他們來說沒有比coding更加有意義的事情了。 
第三種是大師級的人物。在平凡的外表下,是一個無所不能的人。沒有一個人和一條狗不尊敬他。他吐痰的樣子也有人模仿。微軟公司首席“建築師”西蒙尼就是一個這樣的人物。不過,他說“合作比天才更重要”
爲什麼軟件市場上人才缺口這麼大,每年20萬之多,最缺乏的是熟練的程序員,而成千上萬的畢業生又找不到工作。大家應該好好想一想:
軟件人才是多了,但多的是沒有實際工作經驗、技術掌握的層次低的開發人員。這批人頻繁地跳槽形成的求職大軍營造出中國軟件人才一大把的現象。 
軟件人才是少了,少的是具有豐富工作經驗,技術紮實精深的工程師一類的開發人員。他們在哪裏都是炙手可熱的人物,求職大軍裏自然少有這樣的人才。 
勸每一個學員克服浮躁,踏踏實實地走好每一步!既然要學,就得耐心,你要告訴自己,要用一生的時間去學習它,你就不會急功近利了。
俞敏洪總結的成功的四種能力
一、忍受孤獨的能力是成功者的必經之路
不管有多少人在你身邊,父母督促你、朋友鼓勵你,你要想達到成功最終都要靠你自己,God helps those who help themselves. 如果你想走出平凡,那麼請你走進孤獨!孤獨的人是走得最快的人!去除浮躁,不要總想着你將來會怎樣怎樣,重要的是現在,自信心是一點一滴積累起來的。
二、忍受失敗的能力是重新振作的源泉
生活中的失敗實在是太多了,整個社會的競爭體系是一個金字塔式的結構,你可以說我與世無爭,我知足者長樂,當然你可以這樣做。可是社會不允許你這樣做,因爲他不會讓你樂太久的,不進則退、優勝劣汰的市場機制會淘汰你,你會被社會拋在金字塔的最底層,你會感到整個金字塔的重量都壓在了你的身上,你見不到陽光,你欣賞不到美麗的風景,你感到絕望。所以爲了更好的活着,你就要振作、努力。好在機遇是平等的,在機會來臨的時候,如果你有能力就會抓住它。
三、忍受屈辱的能力是成就大業的基礎 
你去新東安燕莎買東西,如果你沒有錢,你會不會感受到售貨員對你的態度不一樣了呢?你去找工作,被人才市場上的人流擠得東倒西歪,北大清華的請到前面來,男生請到前面來,碩士博士請到前面來……, 你租房子被各種各樣的房東趕着跑,一年到頭不停的搬家,與小商販爲了幾塊錢討價還價,你爲了一點點的錢爲老闆四處奔波。這些都是屈辱,在你成功之前你必須忍受屈辱。 
四、生理承受能力是成就大業的前提 
做一件事情,你付出了別人所沒有付出的,那你得到的也是別人所沒有得到的。當我們已經開始做了某一件事情之後,我們則不宜由於我們現在認爲另一件事更理想、更值得做而輕易改變我們的行動。 已經開始做了這件事,已經爲此付出了心力;而且,究竟我們現在的認識正確還是過去的認識正確也還有待於檢驗;因爲我們每一個人的生命和精力都是有限的!

對待學習的態度
沒有壓力就沒有動力,要想辦法給自己施加壓力,平時多看書,多接觸相關的知識,保持永遠能夠學習的慣性,當然專業知識要不斷的研究和深入探索;當真正的壓力到來時,你的學習效率纔是最高的。用任務去學習,沒有任務製造任務。
我們每天的工作就是接受問題,解決問題,只能就事而論了。主要態度如下:接受它、分析它、解決它、放下它;
克服學習中的冷熱病,有了刺激就去學習,刺激過去了就放鬆,考試來了就緊張,考試過了就全忘。聽了一場講座或報告就意氣風發,苦學三天三夜,然後就又找藉口放鬆。
今天想幹這個,明天想幹那個,結果一事無成。
書到用時方恨少,事非經過不知難,書有未曾經我,讀事無不可對人言
微 軟:李開復的一封信
李開復是微軟中國研究院的院長,是微軟公司的副總裁,他在中國的各大高校裏做演講,他十分了解中國學生的心理,所以語重心長的給中國學生寫了一封信:

中國的軟件也還不很發達,我們每天耳濡目染的都是一些國外的名牌,MS/IBM/SONY/HP/CANNON/SUN/CISCO/INTEL/DELL/PHILIP/TOSHIBA/PENASONIC/EPSON,日本的產品現在已經打遍了全世界,他們非常地團結,他們叫做大和民族,同爲亞洲東海岸的中華民族,爲什麼相差得這樣懸殊,不要過多地去找歷史的原因,想一想自己,你有沒有把你自己的理想和目標同國家聯繫起來呢?
人生最重要的東西,進取、熱情,信任,堅持,努力,自律,思考,感動,耐心,韌性、珍惜
…… ……
奔跑人生:在靜謐的非洲大草原上,夕陽西下,一頭獅子在沉思,明天當太陽升起的時候,我要奔跑,以追得上跑得最快的羚羊,此時,一隻羚羊也在思考,明天當太陽升起的時候,我要奔跑,以躲過跑得最快的獅子的捕獲,是的,無論你是獅子或者羚羊,明天,當太陽升起的時候你所要做的就是:毫不猶豫地向前奔跑!

發佈了9 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章