導讀:本文以《IT從業者的職業規劃》一文中的職業為基礎,結合筆者自身的工作學習經驗,對IT從業者學習的過程進行系統規劃性的分析和闡述,以期能協助處於迷茫中的從業者們。
一直想找個時間把以前的經驗總結下來,記錄成系列形式的文章。我喜歡系列形式的文章。看園子裡的系列文章,往往有期待感,也有滿足感。一來它是一個系統的學習的過程;二來也是作者的一個系統的經驗總結的過程,對人對己都有益處。系列文章是能夠協助學習者一步步的從不知道到應用高手的學習的一個過程。
就象我寫的《IT從業者的職業規劃》一樣,在這裡,作為專案經理的我,也對IT從業者的職業學習過程做個規劃,算是我個人的一個學習過程的總結,也給IT從業新人有個系統的學習和提高的過程指導,作為即將開爐的學習者系列文章的開篇。
一、初學者階段
我把剛開始學習的階段定義為初學者階段。該階段學習者什麼都不會,必須從摸索階段進行系統學習,這樣能少走彎路,以儘快掌握知識以達到入門,從而具有使用該知識進行工作的能力。該階段基本上從學習、模仿開始,需要對事物的原理進行瞭解,以期打好基礎,為以後階段做準備。
1. 在技術上。該階段的學習者,往往技術上是什麼都想學習,因為他不知道以後需要什麼樣的知識,往往儲存了很多的代碼和樣本,以能進行學習整理和在工作中進行應用。
盡量以資料庫為開始,從基本的資料庫知識入手,學習資料庫的原理和實際的運行機制,這裡還是推薦微軟的SQL SERVER系列,和甲骨文的Oracle系列為出發點。MySQL也可以進行開發,並且是具有免費的版本,但是初始學習階段,盡量以使用率相對較多的資料庫開始比較好。然後是程式設計語言。個人還是推薦以C++為切入點進行。一來C++語言是物件導向的,本身需要物件導向的思想,這點很重要。二來後面的那些進階語言,比如VC,C#,JAVA等等,也是物件導向的語言,而且他們的文法上與C語言很類似,容易從C++的物件導向思想轉換到這些進階語言的思想上。接著是指導老師的問題。在該階段,最好的學習方式,一般分為自學和項目組組織的內部培訓以及外部的培訓三種方式。對於自學,可以通過閱讀相關書籍,或者網路上的資料來進行。這部分學習的時間,可以在項目實現之餘,或者自己找時間去學習了,因為工作時間相對來說是限制了學習的時間。對於交流,除了項目團隊內部的交流會議之外,專案經理可以使用XP極限編程的方式來直接的使某幾個人的編程風格和水平的差距進行縮小。當然了,也可以通過部落格、提問等方式與網路上的友人進行交流,這樣既增長了自己的見識,也使自己的朋友圈子擴大,同時也會找到志同道合的友人,且能夠在實際工作中協助自己的友人。然後是開發工具的使用問題。需要挑選合適的開發工具以進行學習。同時需要尋找一些協助工具輔助來進行提高工具使用的便捷性和易用性。
2. 在業務上。建議初學者以項目助理的方式進行切入。因為項目助理的工作,會涉及到項目業務方向上的方方面面,對於自身的經驗積累和工作難易程度的把握比較恰當。而且,也容易對業務的學習規劃有個較明確的方向。同時需要積極的參與系統業務方面知識的學習和積累,這個可以通過查閱該業務領域的標準和政策等內容來進行。最好是以需求為切入點來進行分析和實踐工作。如果有機會,可以與客戶一起進行工作,以瞭解他們對業務的需求情況和實際操作習慣等內容,為下一階段做準備。不同領域的業務需求是不一樣的,建議初學者們在根據職業規劃的路在發展的同時,盡量的不要更改業務領域方向,這樣以堅持的態度去學習和理解該領域的業務是非常重要的,同時也利於不斷的積累。
3. 在管理上。對該階段的象往管理方向發展的學習者,建議與業務方向的學習者一樣,仍然以項目助理的方式進行切入比較合適。項目助理這個角色,是對於專案管理者的一個輔助的角色,對於專案管理者管理好項目的各項內容具有很好的指導價值。
在該階段,引導非常重要的,盡量以系統的學習結合實際或者自己定義的一些小系統為基礎進行學習,不要一味的以某些培訓為主去進行學習,雖然培訓是一個快速擷取知識的方法。
二、進階者階
接下來,就到了進階者階段了。進階者階段, 需要擺脫初學者階段的模仿,開始使用自己的經驗去思考、處理問題。
1. 在技術上。該階段的學習者,已經能夠按照自己的思想去寫代碼了。這時候,你需要補充進階編程相關的知識,還有系統啟動並執行機制和底層的更深層次的原理性問題。這個是成為一個高手的畢竟之路。還有設計模式,在該階段你也必須掌握,從而為架構設計等方向打好基礎。在該階段,你需要學會使用UML建模來進行需求分析,設計和應用。UML建模是一個能夠培養你自己思維能力的好工具,個人建議還是得掌握。該階段在進階編程方面,你需要掌握的,不僅僅是B/S架構的三層結構的設計思路,還需要C/S架構的多層次物件導向的分析、設計思想。你還需要架構方面的知識,雖然一時半會還達不到那麼高的要求。這個是為了下一個階段所需要做的準備。同時,在硬體上,你需要學會各種作業系統的安裝,已經改系統上的軟體安裝方法,以備當你是一個技術支援人員時的應用能力問題。這些都需要花費一定的時候和精力,但是,我相信,對於努力學習的朋友們這隻是一個學習時間的問題罷了。
2. 在業務上。盡量以需求分析師的能力來要求自己,這樣便於自己的學習和能力的培養。如果你不知道需求分析師的要求,這裡大概的說一下:。因此,以高要求來對待自己,是能力培養的一個重要的方法。這樣便於自己在該階段迅速的成長為一個業務領域專家的角色。我建議大家經常和客戶打交道,以知道和推斷出他們在實際的業務需求方面的需要,這個對於你成為一個專家也是一個很好的學習方法,而不要把相關的問題都推到需求分析人員的身上,你同樣需要做好準備。
3. 在管理上。這裡我把管理分為專案管理和運營管理(主要是個人的工作經驗問題)。專案管理不僅僅需要專案管理的九大知識領域的。因為每個人所處的項目環境不同,所需要的專案管理領域知識也不一樣,不是所有項目都需要應用這些知識,更多的是知道需要什麼樣的知識來把項目更好的支撐起來,更好的為專案服務,更好的把項目成員的工作分配好,更好的掌握項目的進度和費用等問題。這裡就需要一些專案管理工具的配合,這個微軟有Project,Visio等工具可以選擇,建議大家靈活應用。運營管理,需要的是魄力和良好的市場洞察力,需要比別人更早的知道市場的需求,市場的導向在什麼地方。這個沒有一定的工作經驗和市場調查能力是不行的。希望大家找一些案例分析來進行閱讀,從而提高運營能力的培養和應用能力的發揮。
在該階段,以自己的思想、經驗去思考和解決問題是非常重要的,也是一個鍛煉自己能力的過程。
三、精通者階段
然後,就到了精通者階段。該階段的學習者,已經能夠對所學知識進行融會貫通,達到了靈活應用和靈活思考的境界。
1. 在技術上。該階段的學習者,能夠熟練使用選擇的應用程式框架,並能夠自己去定義和開發符合實際系統的架構。該階段相比架構師,更多的是以需求為基本,而架構師是以技術為主的,比架構師更能體現出系統的需求能動性。這裡提出的需求能動性,指的是系統應該不是因為設計而去設計,應該以系統更好地體現需求而進行設計、開發。不要為了模式而是用設計模式,也是一個很好的觀點。為了系統的維護性,我們需要適當的犧牲一些高層次的設計應用知識和方法。
2. 在業務上。業務系統的需求和設計不是一成不變的,所以,需要考慮的是,根據實際的需求去設計開發出符合業務系統的需求驅動的系統。在該階段,你已經不僅僅是一個需求分析師等相關的角色了。這時候,你不僅需要的是客戶提出的需求問題,而是你自己也要根據自己的業務知識積累,協助客戶甚至自己提出該業務系統所存在的需求功能。你要比客戶更懂該領域的需求,才能夠超越業務專家角色。
3. 在管理上。你需要精通專案管理九大領域知識,並且能夠在實際中靈活地根據所需要的部分進行應用。當然了,專案管理方向的理論知識已經很成熟,在該階段,需要的不僅僅是理論知識,更多的是在當前所處理的項目過程中能夠各取所需,更好的發揮出知識領域的思想。需要有幾套自己總結下來的專案管理文檔和相關的總結的經驗的文檔以備用。熟練地使用各種工具同樣能夠讓你的工作事半功倍。專案管理者不需要考慮技術問題,但他同樣需要對技術有一定的基礎知識,才能配合開發經理等角色更好的管理好項目。
在該階段,以靈活應用現有的知識和充分發揮已有的經驗去完成工作是一個非常鍛煉自己的方法。
四、思想者階段
最後一個階段,我把它定義為思想者階段。主要在該階段,已經對事物有了整體性的理解和具有豐富的經驗,該階段以思考為主要內容,能夠結合實際經驗進行拓展處理問題。
該階段的學習者,以能夠制定規則為基本思想,即這個IT領域的規則、規範是由他們來定義、制定和編寫的,或者也可以說他們是該IT領域的領跑者。
1. 在技術上。主要針對當前的技術趨勢,結合自己的經驗,總結和規劃技術規範。比如設計模式GoF,就是經驗的總結;敏捷開發等等,也是思想的一種提升和經驗的總結。當前的技術的發展,往往是需要不斷地進行總結和思考的。就象HTML5標準,也是對以往的應用的基礎上進行的。該階段的技術上,就是以制定標準為主。
2. 在業務上。主要是當前業務系統的業務領域方面的提升和總結。我們知道,業務系統的改革和進步,也是由不斷的業務提出和不斷地總結該業務領域的相關進行進行的。就象在建築領域一樣,已經形成了一套的業務術語和業務知識領域。同樣的,在業務領域,一樣的會不斷的總結業務領域知識,從而形成該領域的業務標準。比如財務的業務方向,就是一個不斷總結和更新的一個過程。
3. 在管理上。在管理領域,同樣存在著經驗的總結和思考的提升。比如專案管理知識領域,目前在國際上已經形成了標準,也已經非常的規範了,同樣具有很重要的領導意義和使用價值。
在該階段,就是一個不斷的總結經驗和不斷的制定標準的過程,該階段就是為了某些領網域服務的,就是為了領域的良好發展和更穩定的方向而在不懈的努力。
五、總結
好了,看到這裡,你已經對我所描繪的學習規劃有了一個理解。在這裡再強調一下,每個人的學習過程是不一樣的,就象每個由同樣的老師教出來的學生水平也不一致一樣。所以,上訴只是一個描繪學習的過程,當然這個是基於我個人工作經驗為基礎,以及我個人的學習和經驗的總結。希望本文能讓迷茫者對學習規劃有一個比較清晰的理解認識。