1. 程式人生 > >如何成為一門領域的專家

如何成為一門領域的專家

1.怎樣成為專家

無數事實證明,一個人只要不是太笨,太不開竅,有這一萬個小時的苦練打底,你即使成不了大師、巨匠,

至少也會成為本行業的一個具有豐富經驗的專家,一個對社會有用的人。

2.三十而立

人在三十歲之後,就應該在穩定在某一個職業上,有所建樹

3.舒伯

成長、探索、確立、維持、衰退為中心的五個階段模型

1) 每個階段都有不同的職業課題需要完成,當前階段的職業課題沒有完成的話,就會影響後續的職業發展和人生生活

2) 確立階段: 25歲~44歲

逐漸穩定於一項工作

確立自己將來的保障

發現適當的晉升路線

1.細分

    25~30歲,修正期

    31~44歲,安定期 (最富有創造力的階段)

2.25~32歲是人的婚育期

    工作、生活的雙重壓力

舒伯的生涯發展理論

1.成長階段:由出生至14歲

    開始發展自我

2.探索階段:由15歲至24歲

    使職業偏好逐漸具體化、特定化並實現職業偏好

3.建立階段 : 由25歲至44歲

    統整、穩固並求上進

4.維持階段:由45歲至65歲

    維持既有成就與地位

5.衰退階段:65歲以上

    發展新的角色,尋求不同方式以替代和滿足需求

4.技術人生

純粹的程式碼沒有意義,解決現實問題是軟體存在的最大意義。

軟體產品,是軟體技術和行業需求的結合

1) 知識、技術

1.隨著社會的不斷髮展,現實問題越來越多,越來越複雜,老的知識、技術在面對新的問題時可能力不從心或效率低下,

所以不斷有新的語言和技術問世

2.不同的語言和技術,都有特定的應用場景,這種語言解決這種問題效率高,那種語言解決那種問題效率高。

沒有最好的語言,只有最合適的語言

3.為了更好的解決問題,可能需要掌握多種語言和技術

2) 技術能力和閱歷

1.技術能力是指,對具體的知識和技術的運用水平。它在很大程度上決定了一個程式設計師身上的技術價值

技術能力不斷地運用知識、技書解決現實問題的過程中培養出來的

2.技術能力和閱歷,隨著程式設計師年齡和工作經驗的增加,其重要性和價值將超越知識、技術本身

3) 業務積累

1.大部分軟體是技術和業務的結合,甚至有的行業軟體,開發技術只佔20%,80%的都是業務層面的知識、流程。

2.業務和行業緊密相關,你選擇一個行業,選擇一家企業,就會決定你能積累的產業、業務知識、經驗。

而這部分業務積累,是程式設計師的重要價值所在,它和技術閱歷一樣是經得起時間考驗的。

3.學一門程式語言容易,深刻理解業務卻沒那麼簡單。而你不理解業務,空有程式語言和應用技術框架,

實際上沒什麼用。這就是我們強調業務積累的原因。

5.公司分類

1) 外包型公司

1.通過承接別的企業的部分或全部軟體業務來發展。這導致了業務不穩定,程式語言、技術框架等技術方面也不穩定。



2.外包型公司做軟體的心態,是“幹活、交活、拿錢、完事兒”。在這樣一種心態支配下,程式設計師較難有機會仔細打磨產品,

對技術能力的積累會有一些影響。另一方面,因為業務隨時會變,對行業知識積累也會有較大影響。



3.從企業角度講,考慮成本的話,更願意用成本低的年輕人,所以,大齡程式設計師的將來,在這種公司不夠樂觀。

你一個35歲的程式設計師和22歲的程式設計師,做同樣的App,老闆不會覺得你35歲就比22歲做出來的東西好多少,

他會認為年輕人多加個班多改改就差不多了,這時候會產生劣幣驅逐良幣的效應。

2) 專案型公司

1.通過承接電信、銀行、電力、政府或其他單位的軟體專案為生,比外包型稍強一些,技術上可以自己選擇,也能夠在某個行業長期積累經驗。

2.如果這類公司的專案規模小而多、行業不集中,那就與外包型公司類似。另外,做專案的心態和外包有些類似,

對成本的考量較多,對程式設計師的持續技術發展不利,比如有新技術出現,公司不一定會用,

可能為了快和規避風險而選擇較老較趁手的技術來完成專案,

3.這一方面會減緩開發人員的技術更新週期,

另一方面也減少了鍛鍊機會降低了技術成長速度。

3) 產品型公司是最好的,

1.一個產品,要產生競爭力,要麼靠對業務的深刻理解,要麼靠技術上的領先優勢。

這類公司是對程式設計師的技術閱歷、業務知識都很有好處,我認為是程式設計師的較好選擇。

6.將來

程式設計師最大的價值就是用技術解決問題的能力。

而這種能力的構成裡,技術能力與閱歷、業務這兩方面是具有經久價值的,是相比語言、技術更耐得住時間考驗的。

常見的四種職能取向

管理者

    職能管理者

        開發經理、研發部門經理、專案經理、專案總監、HR經理

    全面管理者

        CEO、總經理

專業技術者

    靠技術吃飯的人,擁有獨特手藝和技術,能用自身所掌握的技術為別人解決問題創造價值,他們通常會依附一個組織來工作。

    比如程式設計師,測試工程師,UI設計師

自由職業者

    首先是一個專業技術者,然後他脫離了特定組織

    自己跑單,自己安排自己

創業者

    特別想擁有自己的產品和服務,拉一幫人成立一組織,協調各種資源來實現自己的夢想。

每一個程式設計師都應該理清自己的職能取向,只有職能取向清晰了,談將來才比較靠譜。

7.在企業中的發展

技術之路:

初級工程師--## 中級--## 高階--## 架構師(專家)--## 技術總監--## CTO

管理之路:

工程師--## 專案組長--## 專案經理--## 專案總監--## 技術總監--## CTO

保持學習能力,豐富技術能力與閱歷,積累行業知識與經驗,然後就可以持續走下去。

8.二八定律

1.管理路線,技術路線的選擇,基本上也是二八開(或者一九)。

小部分的人走了管理路線,剩下的大部分程式設計師,走技術通道。

2.那技術通道,有多少人能成為高階軟體工程師、架構師、技術專家、CTO?

百分之二十。

從晉升角度看,任何一個行業的從業人員的分佈,都是金字塔型的。

9.怎樣面對將來

1) 選擇企業

選擇產品型、重視技術的公司,這種選擇非常重要。它會嚴重影響你將來能在技術路線上走多遠

2) 穩定於一項工作

31~44歲是安定期,程式設計師應該穩定於一項工作,發現適當的晉升通道,確立自己將來的保障。

在這個時期,頻繁的跳槽對將來的發展不利

3) 不能晉升怎麼辦

技術路線,可以初級、中級、高階、架構師(技術專家)……這麼走下去

1.假如一個程式設計師發現自己到一定程度無法再走下去,就會產生挫折或倦怠。通常這種情況會在你穩定一項工作7年左右出現,所謂七年之癢。

對本科畢業來講,這個年齡就在33~35歲左右。



2.此時怎麼辦?這是很現實的問題。

這個我們就要具體問題具體分析:

是你很牛X限於企業環境無法晉升?還是你自身能力到了天花板了無法晉升?



不同的原因對應的行動是不一樣的,前者的話,可能應該考慮換一下。後者的話,要除錯心態,建立第二生活中心,在職業之外發展其他的興趣愛好來平衡。



3.在這個年齡階段,有一大批程式設計師會因為晉升受挫或倦怠而成為創業者或參與到創業中來。這是需要留意的現象。

4) 競爭力有區域性和相對性

程式設計師的價值和競爭力,其實是相對的。

比如你在,牛人太多,無法晉升了,其實別處可能有雞頭的位置等著,比如其他行業內的小公司的技術總監、部門經理,如果你看重職位和頭銜,

就可以去嘗試。這也是典型的一種路線,有部分程式設計師在大公司鍍鍍金,回頭到其他行業的相對規模較小的公司去做管理或技術專家。



如果你很在意職位等級,很在意比別人更受尊重,那就找一個能凸顯出你價值的環境。比如乒乓球運動員何智麗,在39屆世乒賽上因為沒按領導指示輸球,

後來被取消參奧資格,在國內無法發展了,她移民日本,繼續在乒乓球領域活躍並取得了輝煌戰績,還曾經戰勝鄧亞萍取得亞運乒乓球女單金牌。

類似的還有一些國外的業餘足球運動員或退役的足球選手到中國來,迅速成為熱門選手受到重視。這都是一個道理。

5) 學習其他技能

如果你有時間,也可以學習其他可以賺錢的技能,因為,雖然我們說大齡程式設計師可以一直做技術,但能一直做到退休的,估計也只有20%。

如果你是那80%,當你不得不離開心愛的開發崗位時,就能夠因為有所準備而不至於忽然失重。

6) 職業之外的興趣

這點是我們必須要談的,程式設計師的人生裡不只有軟體和工作,還應當有其他的。生活是多元中心的,要有一些其它的興趣愛好,能夠滋養心靈,

修復純技術工作給心靈帶來的磨損。



提籠架鳥,雕刻,書法,圍棋,遊戲,寫作,讀書……都挺好的,有比沒有強太多了。

從事技術的人都可以想一想自己的前途

1、堅持走技術路線。由初級的技術工程師變成高階的、頂級的資深技術人員。

2、技術 管理路線。終極目標是技術總監,不僅僅自己懂技術,更重要的是培養和帶領技術團隊。

3、轉向偏市場崗位。如我上篇所說,有了技術背景去做市場或銷售,在技術方面沒有短板。

4、自主創業。這個尤其的難,因為自己當老闆的心態完全不一樣。很多技術出身的創業者總是習慣技術導向,殊不知所有成功的企業都是市場導向。

遠的不說,oracle與sun的故事大家可以唏噓一下。

5、其他。不一而足,有考公務員的,有轉到別的行業放棄技術的,也有專業炒股炒房的。