一、什麼是職業規劃?
職業規劃其實就是對職業生涯乃至人生進行持續的、系統的、計劃的過程。職業生涯規劃的好壞有時會影響我們的一生。
人生是需要計劃的,沒有目標就是失去方向。人生最重要的就是方向。而職業規劃其實是人生規劃的一部分。
沒有人生規劃,就談不上職業規劃。反之,沒有人生規劃的職業規劃,也是水中浮萍。
職業規劃
二、程式設計師職業規劃的特殊性和必要性
程式設計師職業規劃的特殊性和必要性
隨著我國軟體行業的飛速發展,網際網路行業的不斷升溫,計算機專業畢業的小朋友們變得炙手可熱起來。尤其是2008年之後,網際網路和軟體行業進入了野蠻式的發展中。程式設計師的職業規劃就顯示出其特殊性和必要性。
1.行業火熱,從業人員不斷積聚,準程式設計師們源源不斷的入坑
小良周圍有很多朋友,找不到工作就去培訓,學計算機編程。儼然是考公考研之外的第三大路。別的不說,小良的好幾個程式設計師朋友都是學體育的。也許體育老師教數學還是個笑話,但體育專業來編程卻一點都不奇怪。如此多的從業者一定會加劇行業內的競爭,沒有好的職業規劃,很容易在前行的道路上失去方向。所以所,程式設計師在職業剛開始時,就做好職業規劃是很必要的。
2.程式設計師職業的特殊性,職業積累相對差,需要不斷的通過學習編程技能強化自己
如果說有什麼職業是需要學到老,可能所有職業都是。但如果有什麼職業是必須不停的學到老,那一定是程式設計師。不同於老師、醫生、律師這些隨著年齡就會提升價值的職業,程式設計師的職場生涯是耀眼但短暫的。這幾乎是唯一一個比拼學習能力的職業。注意,這裡的學習能力不是學到多少技能。而是學習的速度。
計算機技術更新換代太快,程式語言也在不斷變化,新的技術層出不窮。軟體市場對程式設計師的要求就是速度,學習的速度。這也是為什麼很多人感慨,35歲的程式設計師很難再找到合適工作的原因。不是你的能力和學到的知識技能不行,而是,已經35了,不能像20歲那樣通宵學習了,不能再像小夥子一樣一心只工作了。家庭不允許,身體也不允許了。這是一個35歲就老了的職業。
正是基於以上兩點,程式設計師的職業規劃就顯得特變必要。
三、程式設計師的職業規劃-基礎篇
基礎篇
了解了職業規劃和程式設計師職業規劃的重要性後,我們來看看程式設計師職業規劃的方向。
1.兩年的時間夯實好編程基礎。結硬寨,打呆仗。
基礎
程式設計師一點點從初級升到資深開發,少的用1年半,多的用3年,有一點是不可避免的:靠學習,靠時間的堆砌。曾國藩有句名言:結硬寨,打呆仗。
程式設計師這份工作,大佬也全是靠時間磨出來的。這是一定的,少則一年半,多則三年。沒有這麼長時間的水磨式的學習,就不能說是一個資深開發。有很多人工作七八年甚至十年,勉強算上項目經驗,也只是中、高級程式設計師的水平。再往後的職業途徑就暫停在這裡,就是因為編程基礎沒有夯實好。
所以,初級程式設計師剛開始工作最重要的一點,前兩年,不要亂花漸欲迷人眼。踏踏實實紮根技術夯實自己的代碼能力。這是將來實現職業騰飛的最關鍵的一步。這是所有0前面的那個1。遺憾的是,快節奏的軟體職場很多人從不重視這一點。如果您有幸看到這一點,切記切記。
2.提升自己的軟實力,軟實力讓你更專業
軟體開發最重要的一個特點就是協同工作。說白了,這是一個集體協作的任務。在具備了一定編程能力後,就可以在職場幹的如魚得水。但如何使你更專業?不是使用高深的算法和數據結構。而恰恰是容易被忽略的軟實力。
軟實力
1.溝通和表達能力
溝通和表達能力是需要在工作中不斷地實踐的,在腦力不斷碰撞的協作編程中,如何更快的讀懂別人的需求,如何更準確的描述清楚自己的困難,如何將複雜的業務場景用程序流程的思路來外放,這些都離不開溝通和表達的能力。
尤其是在一幫技術宅面前,溝通和表達顯得如黃金般璀璨。這樣的人在搞技術的眼中是不屑的,但在不懂技術的老闆眼中,是閃耀的寶貝。
2.獨立解決問題的能力
解決問題的能力不是去請教別人。因為在初期接觸一些問題時,你對它是0概念的。這點在軟體行業是特別普遍的一種現狀。你甚至根本不清楚你到底不清楚什麼。
獨立解決問題的能力正體現在這裡,在長期解決問題的過程中,你已經形成自己的方法論,能迅速定位新的問題的癥結點在哪裡,哪些是自己熟悉的模塊,哪些又是新的需要摸索的模塊,哪些是必須去請教的模塊。然後有的放矢的去解決。職場不是教師,龐大的腦力設計是不會有人一點一滴的去給你講解的。所以,在程式設計師這個行業中,獨立解決問題的能力是非常重要的。
3.其他能力
項目管理能力,協調能力,抗壓能力,甚至是推諉的能力,這些其他的軟實力因為沒有上述兩點重要,我把它們統稱為其他能力
雖然程式設計師的職場充斥著編碼,技術,新科技。但恰恰是這些(上述三點)非專業的軟實力,幫助你在職場(尤其是非技術的領導和同事面前)表現出自己專業的能力。
四、程式設計師的職業規劃-提升篇
提升篇
兩年的基礎夯實後,你就可以根據自己的個人特點,選擇不同的發展路線了。一般來說,你可以有如下幾種方向選擇:
產品
技術
管理
其他
我們一一進行闡述:
1.產品方向:程式設計師-->高級開發-->產品技術-->產品經理-->產品管理
產品經理
雖然是做技術,但程式設計師的工作中,是不可避免的會與業務和需求打交道。專注一個行業去編程會使自己在該行業的業務經驗變得充分。是除編碼之外的一個強大的軟技能支持。它對你的職業影響甚至遠遠大於技術本身。尤其是作為程式設計師,從程序的角度去理解和闡述業務問題以及詳細需求,是整個軟體開發行業內最值錢的工作。
如果專注、認真,3年就是一個軟體開發某業務領域的專家了。這是產品經理必備的條件,轉型產品經理可以讓你彎道超車。更大的發揮自身的價值。而且,作為一個技術出身的產品經理,視角和多年的編程,都會給你在新的職場中帶來巨大的競爭力。
2.技術方向:程式設計師-->高級開發-->技術專家路線(或架構師)-->技術總監(管理)-->CTO(管理)
架構師
這是程式設計師走技術路線最正的職業路線。從始到終,都以技術為中心。因為軟體開發的行業特殊性,需要不間斷的一直學習。比拼的也不是學到的技能,而是學新技能的速度。如果你的學習能力特別強,又對技術很感興趣,那麼,請心無旁騖的研究新的技術吧,BAT的大廠需要這種人才,35歲前做的好應該可以實現財務自由。
我本人也是特別羨慕這樣的人,這是程式設計師中的真正的精英,是一條最簡單的職業路線,卻也是最難實現的。當然,CTO是究極目標,一般在進階到技術總監就可以揮霍人生了。
3.管理方向:程式設計師-->高級開發-->項目經理-->項目總監-->CEO
項目經理
程式設計師都有這樣一個特點,討厭技術以外的任何事。覺得那些事情可有可無往往還耽誤時間。但隨著工作年齡的增加,新的編程技術的發展,要學的技能會越來越多,如果本身已經感覺到一定程度的吃力,那協調之程式設計師好好幹活,保證項目進度和質量,這條路幾乎成為所有中庸的程式設計師的不歸路。
項目管理和程式設計師的日常工作息息相關。項目經理的職場抗風險性肯定遠大於一般的程式設計師。這是軟體開發行業正真的骨幹。我國能在軟體行業取得飛速發展,也正是由於有龐大的項目經理群體。
項目經理不僅統管項目的需求、開發、測試、投產。還要管理項目的立項、招標、議價、驗收等方面。項目就是項目經理的孩子,既需要掌握技術領導程式設計師工作,有需要了解業務和產品制定需要,還需要和商務把控驗收,是真正的萬金油。但又是每一個項目又必不可少的崗位。這往往是大多數人的歸宿。如果你綜合實力特別強,還有項目總監和CEO的晉升渠道。
五、程式設計師的職業規劃-轉型篇
轉型篇
以上我們講述了程式設計師的職業路線,不同的程式設計師往往會做出不同的選擇。那麼,我們在選擇的過程中,有哪些中心思想要把握呢?本篇我們從行業環境角度,闡述下程式設計師職業轉型的問題。
轉型的四點根本思路:
1.技術轉架構
技術轉架構其實方向並沒有發生變化,那為什麼還要單獨寫在這裡。因為有一個很大的大眾誤區。程式設計師要一門心思的學習工作,提升自己的技術能力。但技術能力需要提升到哪個程度?這就是技術轉架構的意義所在。
學海無涯,任何一個哪怕是微小的方向,也值得個人去終身學習,當技術積累到一定程度後,你可以有兩種選擇
1.適當拓寬自己的的寬度,在一個定向生態內根據自己的優勢方向整合場景。成為某個大方向的架構師。做到的不僅僅是專精,還能關聯上下遊的場景。同時強化自己的管理和文檔能力,加入管理元素的技術專家如果在擴寬的研究維度,基本已經是架構師了。
2.繼續保持自己的深度,並且繼續深入鑽研。基本在自己的研究領域,已經是獨一無二的大拿了,就好比阿里的達摩院,稱之為科學家也不過分。這類技術專家,終身都在某一方向研究和學習。
2.技術轉管理
程式設計師轉型管理,需要很強的溝通能力和細緻的觀察能力,同時,管理也分一線與二線,一線是直接管理,需要經常直接參與員工的工作,二線是間接管理,通過管理低級別的管理者來完成任務目標。
不過無論是哪種管理者,都需要做到兼聽則明,不能偏聽偏信,如果是一個不喜歡溝通的人,轉管理就是團隊的災難。
做管理,需要你有自己的理念,並且堅持它,這是日常管理工作的升華,是一套行之有效的方法論,甚至帶著強烈的個人色彩。並不是書本中的理論知識,更不是所謂的認死理。
管理是一門學問,要結合自己所長,結合工作實際情況,將個人的力量外放到集體。同時要需要不斷的學習來完善自己的體系。是一門沒有標準答案的終身學問。
3.傳統轉網際網路
傳統行業要轉型網際網路,傳統職業也要轉型網際網路。
總是說網際網路思維,那網際網路思維到底是什麼?小良認為,根本就是2C。我們來詳細闡述幾點,並討論其對個人轉型的指導作用:
1.幹掉中間商,用戶驅動產品
整個網際網路所謂的扁平化都是在幹掉中間商。打破行業間的壁壘。未來的服務也一定是最熱的行業。因為它們是最基礎的提供方。中間的一堆都是網際網路思維的打擊方向,所以,個人在轉型時,如果可選的情況下,一定要向下,2C。越往下走越具備生命力。
2.快速迭代,敏捷開發
網際網路思維中,講究的是一個快字。思維快,落地快,消亡快。最大的問題都是沒有時間。個人在轉型時,對於行業時間的判斷,一定要精準。如果轉型後成型需要大量的時間,那即使成功轉型,也已經錯過了市場和時機。
3.「免費」經濟,優質服務
網際網路思維中,盛行一種免費文化,何為免費?就是不收費。但通過優質的服務(往往是用戶間的類比和差距感),最近風風火火的慶餘年版權,也是套用的這個思路。個人轉型時,免費模式和優質服務也是重要的參考標準。
4.徹底轉行,轉換人生
除了上述比較中正的職業規劃外,還有一些其他不錯的選擇。比如如果你從事金融軟體行業,可以嘗試進入銀行科技,證券甲方。如果你從事醫療軟體行業,可以進入醫院科技,如果你從事政府相關軟體行業,可以去事業單位科技崗。傳統的企業穩定性坑定比網際網路公司大很多,當然,相應的待遇可能會略有減少。
如果您風趣幽默,懂各自軟體,像現在很火的自媒體,網絡直播,就是個不錯的選擇。除此之外,分銷和微商也可以嘗試。如果您有小眾的愛好或者渠道,還可以做電商。願意聊天和分享,還可以做滴滴打車的司機大叔。以上這些,我身邊都有做的很好的人,如果您的編程技能很不錯,還可以作為獨立的開發者,自己給自己當老闆。
六、程式設計師的職業規劃-方法篇
方法篇
好的職業規劃,一定有好的學習方法。小良很糾結要不要 寫這一章節。還是當成自己的優質經驗分享給大家,千人萬法,如果你有更好的辦法歡迎留言討論。
1.番茄學習法
擇一個待完成的任務,將番茄時間設為25分鐘,專注工作,中途不允許做任何與該任務無關的事,直到番茄時鐘響起,然後在紙上畫一個X短暫休息一下(5分鐘就行),每4個番茄時段多休息一會兒。
番茄學習法
2.平衡單分析法
列出幾個可能的選項,一般三到五個,然後判斷利益得失,得失在根據自定義的緯度,如自我、他人、物質、精神等。
選項上列完表之後,打完分之後找重點、關鍵點,可以加權,就是可以乘1至5,計算得分,最後累加。
決策平衡單
3.學習的儀式感
儀式,它是使某一天與其他日子不同,使某一時刻與其他時刻不同,學習也需要儀式感。我自己的在學習時,為了儀式感,會做兩點:
1.收拾書桌,書桌一定要乾乾淨淨,越大越好。
2.紅藍黑三支筆,平放右上角。
3.使用XX學習法。
七、程式設計師的職業規劃-個人篇
個人篇
1.真我,知行合一
知行合一
終於寫到了個人篇,說實話,每當有人問我程式設計師該如何規劃自己的職業生涯時,我總會說,最重要的是自己。你想成為怎樣的人,你就會做怎樣的規劃。
你得有一個清晰的人生規劃,才能有一個清晰的職業規劃。可以不是很具體很長遠,但是要有明確的目標:成為一個什麼樣的人。你是一個什麼樣的人。
這裡分享一則小良的乾貨:知行合一。你是什麼樣的人,不取決於你的內心想法(人往往自我狡辯)。知行合一,如何找到真我,就通過你的所作所為。你是什麼樣的人,就會做什麼樣的事。你做什麼樣的事,就是什麼樣的人。
找到真我,再在真我的基礎上進行職業人生規劃。
2.更新技術,踩上技術趨勢,兩年夯實期,莫見異思遷。
從業之初,需要耐得住寂寞。好好利用好兩年的夯實期去紮實自己的基礎。不管未來的方向如何,只要還在軟體行業內,這都是最寶貴的財富。只有通過了洗鍊的程式設計師才是成熟的程式設計師。才可能有更好的發展。
3.樹立個人品牌
個人品牌也是十分重要的,一個技術男一定要在日常將自己職業能力展現出來。最好的方式有兩種:
1.博客
通過博客記錄下自己艱難求學的過程,記錄下自己工作中處理問題的點點滴滴。這些不僅是自己的財富,也是讓別人認識自己的一張窗口。
2.github
除了文字,自己的代碼和開源項目也是十分重要的沉澱。現在開源軟體和分享已經成為軟體行業不可獲取的一部分了。這不僅是程式設計師最高級的玩具,也是自己成果的最好展現。可以在github或者碼雲上將自己的代碼分享,不僅可以不斷的提高自己,還能收穫志趣相投的朋友。
4.通過團隊找尋自己真正的價值
軟體開發是一項腦力協作工作,單槍匹馬是完不成軟體開發的。分享和協作才是軟體開發永恆的命題。積極與同事或者夥伴相處,在團隊中發現自己的問題和不斷地完善自己,通過團隊尋找自己真正的價值。
八、結語
加油
科技的發展日新月異,職場的變化也捉摸不定。沒有不變的定律,只有變換的人生。你想成為什麼樣的人,就會追尋什麼樣的職業。在追尋的過程中,努力和求索如同蚌病成珠。旅途是最美麗的風景,希望你在程式設計師的人生中精彩紛呈。