code.club

標題: 瘋狂Java實訓營創始人李剛:暢談編程人生 [打印本頁]

作者: 543    時間: 2014-11-11 13:18
標題: 瘋狂Java實訓營創始人李剛:暢談編程人生
http://www.csdn.net/article/2014-11-10/2822554

十多年的軟件開發從業經驗、瘋狂軟件教育中心教學總監、瘋狂Java實訓營創始人、瘋狂Java體係原創圖書作者李剛老師從今天開始,坐鎮CSDN社區問答欄目的第十三期,屆時會接受廣大網友的提問,歡迎各位網友前來與謝老師一起暢談編程人生。

李剛老師將交流程序員入行、心態、技能等方面內容,以一個十多年“老程序員”的經歷向大家敞開心扉,分享一個“老程序員”職業生涯的快樂,總結程序員職業的前途、未來。



瘋狂Java實訓營創始人、瘋狂Java體係原創圖書作者李剛

李剛(微博),十多年的軟件開發從業經驗,瘋狂軟件教育中心教學總監。瘋狂Java實訓營創始人,瘋狂Java體係原創圖書作者。廣東技術師範學院計算機科學系的兼職副教授。培訓的學生已在華為、IBM、阿里軟件、網易、電信盈科等名企就職。

國內著名高端IT技術作家,已出版《瘋狂Java講義》、《瘋狂Android講義》、《輕量級Java EE企業應用實戰》、《瘋狂iOS講義(上)(下)》、《瘋狂Ajax講義》、 《瘋狂XML講義》、《經典Java EE企業應用實戰》、《Struts 2.x權威指南》、《瘋狂HTML 5/CSS 3/JavaScript講義》等著作。其中瘋狂Java體系圖書均已沉澱多年、贏得極高的市場認同、多次重印成為超級暢銷圖書,並被多所“985”、“211”高校選作教材,部分圖書已被翻譯成繁體中文版、授權到台灣地區。

十多年“老程序員”的李剛老師與你暢談Java編程人生,以下是李剛對編程人生理解和看法,更多精彩還請關注CSDN社區問答欄目的第十三期。

我對IT的理解

從人類文明的發展歷史來看,人類文明發展史,本質上就是一部IT發展史,此處的IT指廣義的IT:Information & Technology,人類從結繩記事開始,已經意識到信息重要性,因此人類採用採用“結繩”這種記錄信息的技術;後來古代中國出現了甲骨文,但由於龜甲難得,因此只有堪稱“神諭”的文字才能得以記載、保存下來;然後開始出現了銘刻在青銅器上金文,同樣只能記錄極少、及其珍貴的文字。

為了尋找能更好、能記錄更多信息的技術,中外先賢孜孜以求,他們陸續發現了竹簡、獸皮等載體——所以直到今天,在西方世界中,羊皮卷都代表了偉大先賢的智慧和則學。

直到後來,中國人發明了紙,這種方便攜帶、而且造價便宜的信息技術,也是中華文明開始大放異彩:漢賦、唐詩、宋詞、元曲、明清小說,這些文明需要記錄的信息量越來越大,而且需要廣大普通民眾的參與——這都是因為紙的推動,而紙,就是當時最為先進的IT技術,也是中華文明得以發展、屹立於世界文明之巔的秘密。

培根說,知識就是力量。知識,這個詞除了可用knowledge表示之外,也可用information表示,因此完全可以說:信息就是力量。信息是易逝的、需要傳承的,而信息技術的根本目的就是讓人類的知識薪火相傳。中國古代留下的浩如煙海的文學典籍,但在醫學、玄學、自然科學……等學科上則保守的多,“傳男不傳女、傳內不傳外”等門戶囿限極大地限制中華文明的傳承。對於當代中國人而言,實該以此為鑑,應積極傳播心得,分享信息。

今天,狹義的IT則指的是以計算機、網絡為信息的記錄載體,今天的IT技術不僅能快速記錄海量信息、支持快速檢索,而且能以電的速度,實時同步到地球的每個角落,最新的IT技術成就了美國的今天,正如紙張成就了古代中國的卓爾不群。無論哪個民族、哪個國家,掌握了最新的信息技術,就可以屹立於世界之巔。

軟件行業,既是廣大軟件從業者賴以謀生的行業,也是華夏民族復興的關鍵行業。軟件開發,應該是成為軟件從業者的興趣,也應該成為軟件從業者的生活習慣。當然,沒有人天生對什麼事情感興趣。即使是玩遊戲,也要有人帶、有人教,才能學會。對於年輕人來說,剛開始接觸一個事物時,不管是否喜歡,先不要排斥它,紮紮實實做上一段時間,等真正明白自己在做什麼,然後才能得到正確的結論。

軟件開發,是對現實世界的信息化過程的模擬、重建。開發一個程序,實際是創造一個或大或小的“模擬世界”。在這個過程中,程序員享受著“創造”的樂趣,程序員沉醉在他所創造“模擬世界”裡:瘋狂地設計、瘋狂地編碼實現。實現過程不斷地遇到問題,然後解決它;不斷地發現程序的缺陷,然後重新設計、修復它——這個過程本身就是一種享受。一旦完全沉浸到編程世界裡,程序員是“物我兩忘”的,眼中看到的、心中想到的,只有他正在創造的“模擬世界”。

對於許多年輕人而言,如何培養編程的興趣可能是一個問題,許多年輕人開始可能抱著極大的熱情準備投入軟件開發,但會在學習、工作過程中會有大量問題撲面而來,許多年輕人可能就會放棄,因此對於有經驗的知識傳播者而言,不應該滿足於炫耀自己的知識、技能,而應該致力於如何幫助學習者,盡可能通俗、簡單地把知識傳播出去,這樣才會對年輕人有切實的幫助,瘋狂Java體系、瘋狂iOS體系圖書秉承這條原則,希望帶給軟件行業從業者切實有用的幫助。

除此之外,軟件開發者也需要調整自己的心態,不要夢想一蹴而就,羅馬不是一日建成的。在軟件開發行業,表面上的毫不費力,背後一定十分努力。只要不斷堅持學習、積累,就一定如春園之草,不見其長,日有所增。不論是學習過程、還是開發過程,都應該學會享受:享受點滴的改進,如同享受沿途的風景。定期重構從前的項目,就像總結過往的歲月。結果雖然值得關注,細節更需要把握,就像生命是一個過程。

對個人而言,軟件行業是一個“進可攻、退可守”的行業:遇到志同道合的朋友、資金不太緊張時,能“大膽向前”,創業一次,這就是一次偉大的經歷。無論成敗,經歷才是享受;一無所有時,至少還有編程。

軟件行業,作為21世紀最朝陽的行業,從少數人參與的科學計算時代,到普通人接觸的單機軟件時代,再到互聯網時代,直到今天的移動互聯網,與普通人生活聯繫得越來越緊密。

我的編程人生

我在大學學習的第一門編程語言就是FORTRAN(不知道現在大學是否還教這門語言),這門語言就是專門科學和工程計算而設計的,就是早期軟件行業:曲高和寡,大部分普通人並不知道,也意識不到軟件行業會發展到與每個人息息相關。

當我開始用Visual FoxPro、VB等工具開發開發一些工具軟件換錢的時候,各種單機遊戲、單機系統軟件已經開始走近普通人:《大富翁》、《明星三缺一》……等遊戲讓普通人感受了電腦、軟件吸引力;此時各行各業的已經急不可耐地掀起了“ERP”熱,大量私營企業主已經開始感受到軟件管理的便捷和魅力。

互聯網時代、移動互聯網時代,則成就了普通大眾的狂歡盛宴。時至今日,街頭無處不見的“低頭族”、“拇指族”,顯示了軟件行業的強大魔力。大量軟件巨頭、無數草根創業者,正在這片領域殺伐征戰:一個軟件公司倒下去,千千萬萬個軟件公司會站起來。

軟件開發的現狀及未來

有人可能會問:軟件研發能力會過剩嗎?軟件開發人才會飽和嗎?我的回答是:絕對不會。除非出現一種更先進、更未來的行業。軟件,現在已經成為、或即將成為基本的生活驅動力,且不論已經廣泛普及的遊戲、電商行業所需的軟件人才會逐年遞增,而且大量傳統行業、工具正向“智能化”方向發展( “物聯網”、“智能家居”也是目前熱門詞),不管哪種智能化,一定要有軟件的支撐,由此可見,軟件行業依然處於高速爆炸期:軟件的存在形式、運行平台可能會變化,但軟件行業的前景無限遠大。

另外一個不容忽視的問題:軟件行業確實承受著巨大的壓力,這種壓力既有來自外界的壓力,也有來自程序員自身的壓力。

談程序員的抱怨、缺乏運動、加班和壓力等

對於大部分草根出身的程序員而言,如果選擇在公司從事開發,則有來自公司管理層、客戶的壓力,由於軟件本身的複雜度,另外加上來自客戶的壓力,開發週期的壓力,以及軟件工程管理的各種不規範,這些都會帶給普通開發者必鬚麵對的困擾。具體來說,軟件工程師經常抱怨的問題有:長時間坐在電腦面前編碼,缺乏運動;長期高強度的腦力勞動,導致疲憊;不定期的加班,生活缺乏規律……

關於上面這些抱怨,既是心態問題,也是習慣問題,首先必須從心態上認識到:這世界上任何一種工作都是辛苦的、都有必須承受的工作壓力——所有光鮮的成就,都有背後的辛酸和汗水。就像一部電影中的台詞:“年輕的時候總想知道沙漠那邊有什麼,走過去發現其實什麼也沒有,除了沙漠還是沙漠。”如果年輕人能早一天明白這個道理,他會更加欣然地接受自己的職業。

至於提到軟件工程師缺乏運動,這其實是一個生活習慣問題——不管工作多忙,我們總可以抽出一個小時去做運動,選擇一個適合自己的運動,將它變成生活習慣就好了。年輕時候,總以工作忙作為藉口,我同樣很少運動。現在人到中年,開始學會改變自己,逐漸培養健康的生活習慣,現在我每天能堅持跑步4~5千米,其實現在我的工作比以前更多,只是個人的習慣變了。時下很多年輕人,下班之後,看電視有時間,玩遊戲有時間、甚至打麻將也有時間,反而運動就沒時間——這顯然就是生活習慣導致的,而​​絕非軟件開發職業佔據了他所有的時間。

至於說到加班問題,則可從兩方面來解決:

一方面軟件工程師要提高自己的能力:提高編碼效率和排錯效率,這樣可以最大限度地保證開發效率,盡量在工作時間解決工作問題,試想一個小小錯誤就調試、耽擱很長時間,那自然就導致了後面的加班囉;

另一方面則需要學會溝通,學會與上司、管理者確認模塊的開發週期,而不是​​盲目地順從。

程序員自身的壓力則來自於軟件行業的高速發展:迄今為止,軟件行業是實際上發展最快的行業,短短幾十年,軟件行業已經經歷了傳統的科學計算時代、單機軟件時代、互聯網時代,目前正處於移動互聯網時代,接下來物聯網、智能家具時代即將來臨,這種飛速發展帶來的是各種開發語言、各種新技術層出不窮,令人眼花繚亂,而軟件工程師則需要不斷地更新自己的知識,這種壓力確實是軟件工程師無法迴避的客觀存在。既然無法迴避,那就不如直面這種壓力,只不過調整一下看法即可。首先要我們要意識到,正因為軟件行業是一個朝陽行業,具有勃勃生機,自然就會衍生大量的新東西,這些新東西就需要軟件工程師積極探索;相反,如果一個行業日語沒落,自然也就沒有新東西產生了。其次,探索新知識的過程中,無需給自己太大的壓力,“吾生也有涯,而知也無涯”,我們只要看準自己的興趣,每天堅持留給自己2個小時左右的學習時間,積十年寒暑之功,自然就能做到“望盡天涯路”。

友情提醒:李剛老師從今天開始,坐鎮CSDN社區問答欄目的第十三期,屆時會接受廣大網友的提問,歡迎各位網友前來與謝老師一起暢談編程人生。

李剛老師將交流程序員入行、心態、技能等方面內容,以一個十多年“老程序員”的經歷向大家敞開心扉,分享一個“老程序員”職業生涯的快樂,總結程序員職業的前途、未來。




歡迎光臨 code.club (https://code.club/) Powered by Discuz! X3.2