網站首頁 國學 語言 詩詞 名言警句 對聯 雜談
當前位置:學問齋 > 勵志 > 勵志人物

it人士的職業壽命_IT從業人員應如何做好職業規劃

欄目: 勵志人物 / 發佈於: / 人氣:2.81W

對於在IT是否可以做一輩子技術“牛人”的問題,我想很多it人士都想知道答案。以下是本站小編分享給大家的關於it人士的職業壽命以及IT從業人員應如何做好職業規劃,供大家閲讀!

it人士的職業壽命_IT從業人員應如何做好職業規劃

35歲是眾多IT人的一道坎兒嗎?職業顧問專家分析説,。

職業顧問樂富認為,從個人角度看,很多人因為IT行業收入高、熱門、找工作方便等理由,茫然地選擇了這份工作。但工作以後,發現這個職業遠非自己想像得那麼美好,需要整天對着機器編程、糾錯;如果選擇這份職業的人的個性偏好、天生才幹不適合從事這份工作,那麼他一定會比別人付出更多的時間和精力,他會懷疑自己的選擇,直至否定自己。

IT行業的技術更新非常快,這便逼迫這一行業的人不斷補充新知識、學習新技術。一些人,特別是女性,在35歲期間正面臨着人生的眾多轉折,從單身到結婚,或有了寶寶,家庭牽扯了她們很大的精力與時間,以至於無法投入更多時間學習新知識、新技術。在這個快速發展的年代裏,你原地踏步,而別人快速前進,便意味着你被拋棄。

因此,那些原本便不適合從事這個職業的人,他們最容易在30歲前後產生“疲態”,就像800米賽跑,前面一圈還可咬着牙緊追,後面一圈看看實在是與第一名差距太大,人的內心便開始打架,猶豫、彷徨,最終自己就停下腳步了。

如何跨過年齡坎兒?樂富認為:一要了解、分析自己的職業興趣,看看自己是否適合從事技術工作,是否能夠終生學習,是否對探索問題、發現問題、解決問題保持長久的興趣。二要依自己的職業興趣、個性偏好與職業滿足感來選擇職業,而不是隨大流、看報酬。第三,投資這個職業之前,最好能與業內人士交流、探索,或到工作場所實地看看,以確保最初選擇(所學專業、第一份職業)的正確性。

其實,35歲的職場人具備了心智成熟、處事老道、經驗豐富、專業精湛等特點。職業顧問可鋭認為,從技術研究諮詢顧問管理工作的角度,35歲應該是人生的又一次上升期。當然,是否能夠達到這樣一個結果,關鍵就看你在這個階段前後是否已經做好這個準備,給自己一個清楚的定位。

在這樣一個好時段,很多IT人卻沒有能夠好好把握。樂富指出,目前IT人普遍存在以下問題:重技術輕管理,重戰術輕戰略;關注與機器“對話”,缺乏與人相處、交流、溝通與協調的技術(藝術);性格內向,閲讀或興趣面較窄;重思考輕行動。基於這些特點,大多數IT人缺乏在職業生命的中後期(32~40歲)“尋隙卡位”的思路,即沒有“投資職業,終生經營”的意識。這樣,他們中的98%便難以上升到管理階段。

對於在IT是否可以做一輩子技術“牛人”的問題,幾乎所有的職業顧問都持肯定態度,但一個基本條件是,你必須一直緊跟技術發展的腳步。這種緊跟説難不難,説容易也不容易。我們知道,IT技術的發展不是突變的,它在一年內的相差不會很大,但如果回過頭來看幾年前的情況,你就會嚇一跳,原來,距離在不知不覺中被拉大了。因此,如果每年你都能跟着技術進步的話,你的壓力就會很小,因為你時刻都是走在技術的前端,但如果你一旦不小心慢了下來,再要趕上就會很吃力了。

樂富認為,那些對技術真正有興趣,而且樂意不斷學新技術的人,一定可以在IT行業做一輩子的技術“牛人”。一位在加拿大從事技術開發工作的IT人説:在他的公司裏,有不少年齡超過40歲的工程師還樂此不疲地學習新技術,他們從事這份工作很單純,因為喜歡編程,然後讓同事“抓錯”,他也喜歡“抓”同事的設計錯誤。以這樣的心態,這些技術工程師工作得很開心。

和朋友聊天,談起技術工作者的職業壽命問題。大致上是覺得現在很多行業的新技術處於爆發狀態,軟件行業來看,07、20xx年談SOA還很前衞,然後雲計算、分佈式火了幾年,20xx年起移動開發又成為了大熱門,13、20xx年大數據技術開始被熱炒。技術人員會擔心“學無止境”,老了後如何跟得上這狂熱的節奏啊?

不光是軟件行業,很多行業都日新月異,新的技術被引入,新的方法被創造。大部分職業都在不斷的學習過程中,而且似乎這種學習是沒有止境的。有不少人都存在這樣的擔心,如果失去了學習的能力,職業的發展是否就此停滯了。不過這種擔心在工科行業中表現得更突出一些。

拿寫程序來説,程序框架的發展是很快的,API的數量呈爆發式的增長。這是這些表象的快速發展,形成了技術爆發的感覺。似乎永遠在學,而永遠也學不完。

難道一個J2SE的程序高手,在MapReduce的時代就沒有價值了嗎?

面試的時候也常常遇到一面試者談起想換工作的原因是,寫SSH框架寫太多了,覺得膩了,想寫寫MapReduce,覺得比較火爆。他們的想法對嗎?難道MapReduce寫膩了,或者説新的火爆的框架出現了,再學習再換麼?

我的感覺是所有的技術的發展都是成體系發展的,技術的基石在一定程度上是很穩定的。例如整個物理學的大廈都是基於幾個簡單的定理的,現代數學、化學都是建立在古典理論基礎之上的;就算文學、美學等人文學科也是這樣。

站在程序角度來説,對各種框架的熟練運用還是表象。無論是傳統的J2SE,還是SSH三大框架,或者EJB,以至於現在火爆的Activity和MapReduce,都是這樣。所謂的學習,大部分是對API的使用方法的學習。

寫程序的體系,或者説基石存在麼?又是什麼呢?

我認為基石就在我們學習程序的第一課——面向對象。什麼是面向對象,不同的理解就能寫出不同的程序,這種理解是我們程序的靈魂,各種API變得只是工具。

舉幾個例子吧,寫了3年的SSH,對如何拆類拆包有理解麼?寫了3年MapReduce的程序自己寫了幾次父類、定義了幾個接口?寫了3年Activity,怎麼看設計模式了?或者説程序的擴展性怎麼體現的?其實以上幾個問題無論用什麼框架都回答不了,但是無論專注寫哪個框架都會對以上幾點的理解加深。所以證明了程序理念和框架無關的,框架只是外在的表現。

當然不得不承認,有些框架寫多了確實會限制思維,比如SSH框架就封裝的比較徹底了,大部分寫SSH程序的程序員都不需要太考慮繼承的問題。但這不併不是問題的本質,如果能認清其關鍵,還是能有意識的規避這些思維限制的。

另外一個例子是,如果看過一些源碼的話,不管是傳統框架的源碼還是大數據、分佈式、移動客户端的源碼,都是很面向對象的。各種接口、父類、抽象類。説明了再華麗的框架其實本身都還是建立在面向對象的基礎之上的。

因此我建議,如果一個程序員在對程序理解的能力沒有提升的情況下,頻繁換框架並不是一件好事,最後只能浮於對API的掌握熟悉程度上。

説起我對面向對象寫起來的感覺,我覺得接口、抽象類、默認實現類、父類、業務子類,就像是畫素描,一層層的細化。開始只有一個框架,逐步實現,把抽象逐步實例化業務化。寫程序變得像是一次藝術創作的過程。我比較喜歡MINA的源碼,接口和抽象類的結構很清晰,就像是大師的速寫,寥寥數筆就把框子輪廓畫了出來。以後的實現類都是對細節的刻畫。

這樣的感覺很好,其實也多少能回答一個問題,程序員是不是碼農?我覺得不是,因為程序員其實是藝術家,程序員創造程序結構的過程和作畫很像。而不單單是對API的堆砌。這有些偏題了,對碼農的看法在以後的章節再説了。

有了程序感覺後,無論做什麼類型的程序架構設計都很容易上手的。對於API的簡單瞭解後就能設計結構合理、擴展性強、可維護、易讀的程序了。這也是高級程序員和初級程序員在價值上的區別。回想周圍,有經驗的程序員往往簡單的學習了幾天就能開始做很頂層的設計了。而初級的程序員即使對一個框架做了很久,仍然不能達到設計的水平。就是這個道理。

但是有了程序感覺後,是不是就萬能呢?當然也不一定,但是隻要面向對象還是主流的話,總還是可以依賴的。如果有新的編程理念成為主流的化,那可能就會比較大的一次觀念轉變了。就好像很多人還是容易寫出很結構化的程序一樣,這種理念的轉變不容易。

對於其他行業的同志,我雖然不瞭解,不過我相信也是一樣的,找到屬於自己的體系和基石。所謂一法通百法通,就能真正理解自己到底在學習什麼,要學習的東西也更容易上手。

突然發現做軟件相關工作7年了,如果寫在簡歷上的話,都能算資深軟件人了。對很多方面有一些想法,想寫一本書。會在公眾賬號上發一些樣張,歡迎大家督促成書。感謝!有興趣的朋友歡迎交流,歡迎關注我的公眾好“語新童話”

一、選好自己的“職業股”

我常常想IT人員跳槽的職業行為和炒股行為是不是均受到某種理念的驅使呢?我不會有答案,因為我也是IT人,也是身不由己的作出同類型的選擇,我們好像多的是急不可待,這裏面缺少源遠流長的傳統。

讓我們來看看巴菲特的價值投資理念!

在巴菲特之前股票投資也沒有傳統,直到他提出了長期價值投資的獨特理念,或許我們能從巴菲特獨特的投資理念獲得什麼啟發和教益, 我們設想巴菲特假如成了一名程序員,我很難想象他會輕易跳槽, 他的座右銘是"選股如選妻",。對, 選工作也如同選妻, 一旦結合就希望持續一輩子, 我想他不會因為有35歲恐慌而隨便對待自己的工作和學習,他主張安全第一, 輕易不出手,一出手就會保證本金的安全。因為本金安全了,所以才會連綿不斷的利潤, 而這一點看似簡單,恰恰需要非常用心,需要我們長時間地下苦心做功課,去做一支股票,基本面分析,技術分析。據説巴非特買一支股票前要讀完他能找到的所有財務報表,甚至要去該股票的所在地去考察,這是一種怎樣的態度? 我們IT人在解決一個客户問題時,會有如此細緻而深入地調研嗎? 我們願意對一門技術或者問題做如此深入地研究嗎?我們只有短期的態度,能搞定問題就行了,這樣一來,所有可能發生價值增殖的機會就因為這樣輕率的態度而喪失了。

我們不能總是太急, 要捨得,捨得花時間, 捨得花力氣, "財不入急門",如果我們哪一天能夠真實地面對自己和他人(客户),能夠花更多的時間做功課,或許我們會為客户創造更多的價值從而也為自身帶來了價值。

假如巴菲特成為一名程序員 ,我想他一定會有好的IT職業規劃 ,用他的話説 "只有當潮水退去才能知道誰在裸泳",而這些裸泳者通常是不知道規劃的人, 作為一名IT專業人員如何避免成為一名裸泳者呢?

我們應該從IT行業形勢細分和自己的興趣和特長相結合, 才能正確發揮自己的優點。就目前來説,大家可以參考相關人才網站的分類, 選股標準是什麼呢? 選股如選美 ,選美冠軍由選票決定,股市短期內有鈔票決定,短線內最受市場追捧,巴菲特的標準比較苛刻,選股如選妻,運用在職業規劃中,什麼行業和方向是你真正有興趣而又有能力做到極致,這樣的方向就是我們要選擇的方向,這樣的事業才能夠持續。選擇那些業務好、管理好、業績好、贏利好的超級明星股 ,巴菲特資本主義另類的關注長期核心價值的投資觀給我們留下了太多的意外,其實作一門職業何嘗不是需要長期投資的態度。當我們心生跳槽念頭,其實是短線投機思維正在主導這個交易的發生,因為在這個物慾橫流的時代我們很少去關注自己的核心價值,如果把個人當成公司上市股,我們有自己的亮點嗎?筆者曾經看過一些IT人員的簡歷,發現幾乎千人一面,大部分都是強調自己對某種語言的精通,比如Java,等等,程序員的職業生活太象短線炒手,哪門語言熱就追哪門,殊不知這樣很容易掉了自己原有的陣地,其後果就像追高套牢。

二、從五個方面做IT職業規劃

我們不妨從技術、業務、管理、諮詢、創業五個方面縱向去尋找職業規劃,一般而言,IT行業中個人素質和外語能力是基本面,然而企業級技術大抵分不開J2EE和Net,業務總是和行業知識相關聯,而純技術路線則一般從程序員到系統設計師再到架構設計師最終完成技術總監的發展模式,業務路線的發展可以從業務顧問發展到項目經理等,業務領域又細分為ERP和非ERP領域, ERP領域常見的有SAP顧問,等等。如果您覺得自己很具管理才華並獲得了經驗和機會後走上項目經理的職業管理路線是個不錯的選擇可,而一些具有豐富經驗的IT專業人士在職業培訓市場日益成熟的情況下完全可以轉到職業學院作IT教師,傳道授業解惑也。

事實證明,致力於創造價值的IT人員在進行職業規劃時間可以借鑑巴菲特的價值投資理論。

選股如選妻 ,據説巴菲特選擇股票不是"***"而是"一生情",IT人選擇IT多半是因為這個行業的高工資,而產生的一見鍾情,因為有了這個價值取向,所以在工作中也是顯得喜歡短平快,不願意花太多時間在一個領域糾纏。IT行業流動性強,跳槽率高,是焉非焉,也許年輕的時候不覺得,當到了職業生涯的中晚期,慕然回首,在整個IT生涯少蕩氣迴腸的全身心投入,多的是聰明反被聰明誤的投機故事,到頭來一事無成都是投機惹的禍。這就像有些股票中的短線炒手,從短線看他們是賺了,當從長期看來他們一定是因小失大的,IT人員(可能不光是IT人)其實最忌違的是缺無疑乏對一個行業持續而縱深的研究和服務經驗,如果什麼都懂什麼都不精無疑是缺乏核心競爭力的。

我們認為,IT人一旦選擇了一定領域就應該有完全投入的定力,假以時日你的核心競爭力不是其他人員能夠代替的。

IT業發展日新月益,行業細分越發精細,先求博大再求精深是可行的也是必然的,一個合格的IT人就應該象績優股或成長優股的特點,既有紮實的基本面,又有自己所擅的領域,我們不能光盯着幾個熱門的新鮮,很多事情需要根據自己的興趣紮根沉下心去作才行。

我覺得根據自己的興趣,結合企業和IT行業需求發展是最理想的方式,比如目前的IT最常見的職位有ERP顧問、系統分析架構師、數據庫管理員、項目經理、信息經理等等這幾個職業方向每個方向都有很好的發展空間,關鍵是自己要早作定位作持續深入地研究。

現在,如果有人問,IT人的職業價值觀是什麼?我會説答案就在此間了。

10. 某些IT人士在選擇技術的時候,更多考慮的是對自身的影響,而不是業務

另外,一些IT人士還有一個詭祕又必須聲討的事情。他們挑選技術的標準是:看這些技術是不是業務非常依賴他們的,而不看這些技術是否真正適合業務本身。比如,某些IT人士寧願選那些需要專業技能來維護的方案,而不選即可使用的方案。還有,即便Windows的方案更優秀,某些IT經理人因為自己有比較多的Linux/Unix背景,所以通常會選擇基於Linux的方案,而不選Windows的方案。(當然了,擁有Windows背景的也會跳過Linux方案的。)類似上述的例子通常有很多借口和理由,但大部分都是虛偽的。

9. IT人士經常用術語或行話來忽悠不懂技術的業務經理,藉以掩蓋其搞砸的事。

並非所有IT人所做的事件件都成功,即便是最最優秀的,也會犯錯的。但是,在犯錯後,並非所有IT人都善於承認錯誤。 有些人在把搞砸事情後,充分利用業務經理不是很懂技術(即便是一些高水平的技術經理,也不可能面面俱到),再用術語或行話來忽悠他們。比如,在向業務經理解釋金融應用程序為什麼“掛”了3個小時,技術人員或許會這樣説,“在運行程序的時候,SQL服務器藍屏了。該死的微軟!” 他卻不提藍屏真正的原因——更新驅動後並沒有在服務器上先測試。

8. 每天或許徘徊在“替罪羊”和“英雄”之間,是很正常的

如果10分鐘前有個難倒了很多同事的網絡問題,結果被你搞定了。但他們不會去想解決這個問題其實很簡單,而是把那你奉為那個時刻的英雄。但是幾個小時後,當他們在打印的時候因網速過慢遇到了麻煩,你的麻煩也來了,你的英雄光環也不見了,你成了那一刻的頭號替罪羊。但當在那一天下班前,你和其他同事分享了一個簡單方便的Outlook技巧,英雄的光環再次落在你頭上了。

7. 證書雖是求職敲門磚,但它卻不能證明你一定是優秀的技術員

獵頭和HR部門都喜歡IT證書。他們用證書來衡量求職者是否和崗位匹配,他們也用證書來篩選求職者。你可能會聽到很多IT老手説“某某有證書拿到Offer了”,而“某某”並沒有那個崗位所需的經驗。這種例子很多。但不可否認,證書的確是崗位的“敲門磚”。它們能説明你是個上進的青年,説明你是想拓展技能和提升能力的。如果你是一位經驗豐富的IT人,並且有和這些經驗匹配的證書,那麼你將發現自己是非常受歡迎的。有技術證書,可以説明你的基礎知識,可以説明你能成為一個專業人士。但是,大部分證書卻並不能説明你就能多麼地勝任工作。

6. 你的非技術型同事會把你當成他們家的技術支持

當你的非技術型同事(或朋友、親戚和鄰居)遇到電腦問題或網絡問題時,他們會給郵件、打電話或來你辦公室,問你如何殺毒,問你怎麼解決無線路由的問題,問你怎麼上傳圖片和視頻到網上。

他們有的甚至會説:“某某,我把家裏的電腦拿來這吧(辦公室),你來搞定吧。”雖然有些人會禮貌地説給你付錢,但也有些是希望並期望你能免費幫忙。雖然幫助他們是沒有錯的,但你要清楚底線,並要知道什麼時候該拒絕。

5. 當萬事順利時,顧問會居功;當有事不妙時,那是你的錯。

和IT顧問一起共事是工作的重要部分,也是一件相當有挑戰性的事。顧問用其利基專長幫你部署/配置專業系統,當萬事順利的時候,你們是友好合作關係。但你必須要謹慎了。當事情進展不妙時,一些顧問會把錯誤歸咎在你(公司)身上,並稱他們的方案以前在其他地方都好好的,是不可能有問題的,問題肯定在你方。相反,當工程非常成功後,有些顧問絞盡腦汁搶功,忽視你所做的大量工作(比如:量體裁衣地改進方案以適合公司自身發展)。

4. 維護“舊”技術所花時間比實現“新”技術的時間要多得多

在IT行業,有種觀念非常吸引人——玩最新的尖端技術。但是,這種觀念並非適用於大部分IT崗位。通常來説,IT人士用在維護現有技術的時間比實現新技術的時間還有要多。即便是那些有能力運用大部分最新技術的IT顧問,他們更願意採用現有的並行之有效的方案,而不是前沿技術組成的方案。

3. 資深IT人通常是實現新技術的最大障礙

很多公司是有能力採用前沿技術的。花時間來更新/更換軟件/架構,可以潛在地節約成本或提高生產率和盈利。但是,很多情況下移植到新技術的障礙,並不是預算不夠,也不是管理問題,而是IT部門的資深技術員工。很多IT老手對新技術有牴觸,不願意改變。當然了,你也不能説這是壞事,因為維護現有結構的穩定,還需要現有技術。但他們不能把這當成不學習新技術或擴展新方向的藉口。有的人因此甚至變得懶惰和自滿。

2. 雖然IT業的薪酬比其他很多行業要好,但有公司因此視你為其“傭人”。

儘管IT人士的薪水沒有互聯網泡沫之前要好,但和其他行業人士比較,IT人的薪資還算好點。在接下的幾十年中,科技在商業和社會發展中所佔分量會一直增加,所以我們完全有理由相信,IT專業人才的需求量也不會減少。

然而,正因為IT人士的薪水普遍較高,所以有些公司認為給了你這麼多錢,就把你看成是公司的“傭人”,擁有你的支配權,不管是不是在工作期間。

例子1:因為某人加班(遇到問題),你在晚上9點接到他/她的技術電話,你很可能會聽到“這是你工作的一部分。”

例子2:為了避免工作期間的停工,你要在星期六花6小時來配置/升級軟件,你很肯能又會聽到“我們已經付給你大筆錢”。

1. 有些用户明明錯在自己,但他們還是會責怪你。

有些用户在遇到問題,自己無法解決的時候,會對你展示他們深厚的“獅吼功”。他們會咆哮道,“這東西出了什麼問題?上不了網!”或者“這台電腦根本沒法用!”再或者“你在這電腦做了什麼了呢?”實際上,問題的根源就是他們不小心把桌面的IE快捷方式刪除了,或者是他們的腳不小心把鼠標線插口弄鬆了,或者是不小心把開水/咖啡灑到鍵盤上了。

對於在IT是否可以做一輩子技術“牛人”的問題,我想很多it人士都想知道答案。以下是本站小編分享給大家的關於it人士的職業壽命以及IT從業人員應如何做好職業規劃,供大家閲讀!

35歲是眾多IT人的一道坎兒嗎?職業顧問專家分析説,。

職業顧問樂富認為,從個人角度看,很多人因為IT行業收入高、熱門、找工作方便等理由,茫然地選擇了這份工作。但工作以後,發現這個職業遠非自己想像得那麼美好,需要整天對着機器編程、糾錯;如果選擇這份職業的人的個性偏好、天生才幹不適合從事這份工作,那麼他一定會比別人付出更多的時間和精力,他會懷疑自己的選擇,直至否定自己。

IT行業的技術更新非常快,這便逼迫這一行業的人不斷補充新知識、學習新技術。一些人,特別是女性,在35歲期間正面臨着人生的眾多轉折,從單身到結婚,或有了寶寶,家庭牽扯了她們很大的精力與時間,以至於無法投入更多時間學習新知識、新技術。在這個快速發展的年代裏,你原地踏步,而別人快速前進,便意味着你被拋棄。

因此,那些原本便不適合從事這個職業的人,他們最容易在30歲前後產生“疲態”,就像800米賽跑,前面一圈還可咬着牙緊追,後面一圈看看實在是與第一名差距太大,人的內心便開始打架,猶豫、彷徨,最終自己就停下腳步了。

如何跨過年齡坎兒?樂富認為:一要了解、分析自己的職業興趣,看看自己是否適合從事技術工作,是否能夠終生學習,是否對探索問題、發現問題、解決問題保持長久的興趣。二要依自己的職業興趣、個性偏好與職業滿足感來選擇職業,而不是隨大流、看報酬。第三,投資這個職業之前,最好能與業內人士交流、探索,或到工作場所實地看看,以確保最初選擇(所學專業、第一份職業)的正確性。

其實,35歲的職場人具備了心智成熟、處事老道、經驗豐富、專業精湛等特點。職業顧問可鋭認為,從技術研究諮詢顧問管理工作的角度,35歲應該是人生的又一次上升期。當然,是否能夠達到這樣一個結果,關鍵就看你在這個階段前後是否已經做好這個準備,給自己一個清楚的定位。

在這樣一個好時段,很多IT人卻沒有能夠好好把握。樂富指出,目前IT人普遍存在以下問題:重技術輕管理,重戰術輕戰略;關注與機器“對話”,缺乏與人相處、交流、溝通與協調的技術(藝術);性格內向,閲讀或興趣面較窄;重思考輕行動。基於這些特點,大多數IT人缺乏在職業生命的中後期(32~40歲)“尋隙卡位”的思路,即沒有“投資職業,終生經營”的意識。這樣,他們中的98%便難以上升到管理階段。

對於在IT是否可以做一輩子技術“牛人”的問題,幾乎所有的職業顧問都持肯定態度,但一個基本條件是,你必須一直緊跟技術發展的腳步。這種緊跟説難不難,説容易也不容易。我們知道,IT技術的發展不是突變的,它在一年內的相差不會很大,但如果回過頭來看幾年前的情況,你就會嚇一跳,原來,距離在不知不覺中被拉大了。因此,如果每年你都能跟着技術進步的話,你的壓力就會很小,因為你時刻都是走在技術的前端,但如果你一旦不小心慢了下來,再要趕上就會很吃力了。

樂富認為,那些對技術真正有興趣,而且樂意不斷學新技術的人,一定可以在IT行業做一輩子的技術“牛人”。一位在加拿大從事技術開發工作的IT人説:在他的公司裏,有不少年齡超過40歲的工程師還樂此不疲地學習新技術,他們從事這份工作很單純,因為喜歡編程,然後讓同事“抓錯”,他也喜歡“抓”同事的設計錯誤。以這樣的心態,這些技術工程師工作得很開心。

和朋友聊天,談起技術工作者的職業壽命問題。大致上是覺得現在很多行業的新技術處於爆發狀態,軟件行業來看,07、20xx年談SOA還很前衞,然後雲計算、分佈式火了幾年,20xx年起移動開發又成為了大熱門,13、20xx年大數據技術開始被熱炒。技術人員會擔心“學無止境”,老了後如何跟得上這狂熱的節奏啊?

不光是軟件行業,很多行業都日新月異,新的技術被引入,新的方法被創造。大部分職業都在不斷的學習過程中,而且似乎這種學習是沒有止境的。有不少人都存在這樣的擔心,如果失去了學習的能力,職業的發展是否就此停滯了。不過這種擔心在工科行業中表現得更突出一些。

拿寫程序來説,程序框架的發展是很快的,API的數量呈爆發式的增長。這是這些表象的快速發展,形成了技術爆發的感覺。似乎永遠在學,而永遠也學不完。

難道一個J2SE的程序高手,在MapReduce的時代就沒有價值了嗎?

面試的時候也常常遇到一面試者談起想換工作的原因是,寫SSH框架寫太多了,覺得膩了,想寫寫MapReduce,覺得比較火爆。他們的想法對嗎?難道MapReduce寫膩了,或者説新的火爆的框架出現了,再學習再換麼?

我的感覺是所有的技術的發展都是成體系發展的,技術的基石在一定程度上是很穩定的。例如整個物理學的大廈都是基於幾個簡單的定理的,現代數學、化學都是建立在古典理論基礎之上的;就算文學、美學等人文學科也是這樣。

站在程序角度來説,對各種框架的熟練運用還是表象。無論是傳統的J2SE,還是SSH三大框架,或者EJB,以至於現在火爆的Activity和MapReduce,都是這樣。所謂的學習,大部分是對API的使用方法的學習。

寫程序的體系,或者説基石存在麼?又是什麼呢?

我認為基石就在我們學習程序的第一課——面向對象。什麼是面向對象,不同的理解就能寫出不同的程序,這種理解是我們程序的靈魂,各種API變得只是工具。

舉幾個例子吧,寫了3年的SSH,對如何拆類拆包有理解麼?寫了3年MapReduce的程序自己寫了幾次父類、定義了幾個接口?寫了3年Activity,怎麼看設計模式了?或者説程序的擴展性怎麼體現的?其實以上幾個問題無論用什麼框架都回答不了,但是無論專注寫哪個框架都會對以上幾點的理解加深。所以證明了程序理念和框架無關的,框架只是外在的表現。

當然不得不承認,有些框架寫多了確實會限制思維,比如SSH框架就封裝的比較徹底了,大部分寫SSH程序的程序員都不需要太考慮繼承的問題。但這不併不是問題的本質,如果能認清其關鍵,還是能有意識的規避這些思維限制的。

另外一個例子是,如果看過一些源碼的話,不管是傳統框架的源碼還是大數據、分佈式、移動客户端的源碼,都是很面向對象的。各種接口、父類、抽象類。説明了再華麗的框架其實本身都還是建立在面向對象的基礎之上的。

因此我建議,如果一個程序員在對程序理解的能力沒有提升的情況下,頻繁換框架並不是一件好事,最後只能浮於對API的掌握熟悉程度上。

説起我對面向對象寫起來的感覺,我覺得接口、抽象類、默認實現類、父類、業務子類,就像是畫素描,一層層的細化。開始只有一個框架,逐步實現,把抽象逐步實例化業務化。寫程序變得像是一次藝術創作的過程。我比較喜歡MINA的源碼,接口和抽象類的結構很清晰,就像是大師的速寫,寥寥數筆就把框子輪廓畫了出來。以後的實現類都是對細節的刻畫。

這樣的感覺很好,其實也多少能回答一個問題,程序員是不是碼農?我覺得不是,因為程序員其實是藝術家,程序員創造程序結構的過程和作畫很像。而不單單是對API的堆砌。這有些偏題了,對碼農的看法在以後的章節再説了。

有了程序感覺後,無論做什麼類型的程序架構設計都很容易上手的。對於API的簡單瞭解後就能設計結構合理、擴展性強、可維護、易讀的程序了。這也是高級程序員和初級程序員在價值上的區別。回想周圍,有經驗的程序員往往簡單的學習了幾天就能開始做很頂層的設計了。而初級的程序員即使對一個框架做了很久,仍然不能達到設計的水平。就是這個道理。

但是有了程序感覺後,是不是就萬能呢?當然也不一定,但是隻要面向對象還是主流的話,總還是可以依賴的。如果有新的編程理念成為主流的化,那可能就會比較大的一次觀念轉變了。就好像很多人還是容易寫出很結構化的程序一樣,這種理念的轉變不容易。

對於其他行業的同志,我雖然不瞭解,不過我相信也是一樣的,找到屬於自己的體系和基石。所謂一法通百法通,就能真正理解自己到底在學習什麼,要學習的東西也更容易上手。

突然發現做軟件相關工作7年了,如果寫在簡歷上的話,都能算資深軟件人了。對很多方面有一些想法,想寫一本書。會在公眾賬號上發一些樣張,歡迎大家督促成書。感謝!有興趣的朋友歡迎交流,歡迎關注我的公眾好“語新童話”