IBM總架構師寇衛東:話說程序員的職業生涯-IT程序人生-職業生涯規劃

初級程序員和高級程序員時期,都屬于職業生涯發展的第一階段,我們可以稱之為黃金時期。這階段程序員的年齡在20~35歲之間,因為年輕,所以更善于學習,而且體力充沛,很多走過這個階段的程序員有過通宵工作的經歷。

IBM軟件集團大中華區總架構師 寇衛東

有一些年輕的程序員向我咨詢,將來的路應該怎么走?俗話說,條條大路通羅馬。不同的路都能走向成功。到底選哪條路,取決于自己的興趣。可能有程序員會問:如果還沒找到自己的興趣怎么辦?我的建議是多嘗試,努力做,這是職業生涯的必經之路。當你積累了一定的技術和經驗之后,就會面臨多種選擇。選擇哪條路,因人而異。

如果對某一種或幾種技術非常感興趣,并且能夠持續鉆研,經過一定時期的積累,你可以逐漸成長為專家級程序員。專家級程序員對于所掌握的專業技術的熟練程度非一般程序員能及,各類常見編程問題在他們手中都能迎刃而解,可以說這類專家“越老越值錢”。但是這類專家也有一定的風險性:隨著經驗的增加和年齡的增長,這些人的工資會越來越高,當公司改變技術路線而不再需要專家級程序員所掌握的專業技術時,或者想降低做事的成本,他們就可能面臨失業或者另找工作的局面。

資深培訓專家也是個不錯的發展方向。成為培訓專家,不僅需要深厚的技術功底,同時還要具備優秀的溝通和表達能力,因為他們的主要工作不再是研發某種技術,而是傳播技術知識。這條路很寬,有一些優秀的技術培訓師除了擔任本職工作,還會兼職到大學里講課。雖然培訓專家的技術可能達不到專家程序員的水平,但是工作內容相對更為豐富,接觸的人也更多。

成為公司的技術總監是很多程序員的夢想。這條路線是從初級程序員成長為高級程序員之后,以做項目為工作重點,進而發展成項目經理、開發經理,最終成為技術總監甚至公司副總裁。這些程序員走的是技術管理路線,從做項目開始,逐漸積累管理經驗,然后成長為優秀的技術管理者。技術總監在公司甚至技術界的影響力非同一般,對于那些有志于成為公司領導層的程序員,是個很大的誘惑。但是權力大、管的人多,就意味著更大的壓力,技術總監不僅要保持對新技術的敏感,還要抽出精力做管理。比起成為純技術專家,這條路也許更為艱難。

還有一些程序員職業發展的終點是總架構師、總設計師。這類程序員的興趣,不是某種特定的技術,而是偏重對軟件產品或者軟件應用項目的設計。如果將軟件項目開發團隊比作一個樂隊,那么程序員就相當于一名樂手(比如小提琴手、長笛手等),他們負責將自己的樂器演奏好;項目經理是樂隊指揮,負責指揮和協調這個樂隊的配合;架構師則相當于作曲家。從入門的架構師開始,逐漸成為資深架構師乃至總架構師。如同歷史上偉大的作曲家,杰出的架構師能夠在各種軟件中譜寫出旋律優美的“曲子”。

另外一些程序員心懷創業的理想,等到自己有了一定的技術積累,再掌握一些市場需求以及管理方法,他們會開始創業之路。一旦成功,這類人的影響力會非常大,像Google和雅虎的創始人,都是技術創業的成功典范。但是這條路也是最艱辛的,有句話叫做“不當家不知柴米貴”,不親自創業的人也很難體會它的艱辛。創業涉及方方面面,稍有差池就會功虧一簣,投身創業的程序員并不少,但是真正能成功的少之又少。踏上這條路不僅需要過人的勇氣和魄力,更需要堅韌不拔的毅力,以及深度的商業智慧,再加上市場機會,才能夠贏到最后。

很多程序員會走上技術支持路線,進而發展成為精通業務的技術和行業咨詢專家。這類程序員會在成為高級程序員之后加入銷售團隊,直接面對客戶,負責技術層面的問題。如果對某一行業(比如銀行、電信)非常熟悉,久而久之,就成為精通這個行業技術的專家;如果對于某一類解決方案(比如ERP、CRM、SCM)非常擅長,就可以發展成為跨行業的技術專家。

還有一部分程序員會成為IT專欄作家和自由職業者。這些人通常對寫作比較感興趣,文字表達能力也不錯,他們會將自己從事技術工作的內容或心得寫出來,然后發表文章賺取稿費。只要對技術足夠精通,這類人是很受雜志歡迎的。在北美還有一種自由職業者叫做合同工,就是不定期的承接項目,在項目開始前簽訂協議,項目完成后結束合作。雖然這種職業目前在中國還不太多,但是其自由性對于很多程序員來講,也非常有吸引力。

上文提及的若干條路,程序員可以根據自己的興趣進行選擇,但是一般來說,無論走哪條路,都有一個前提條件:從初級程序員進階為高級程序員。因為在這之前,你甚至沒有選擇的機會。從初級進階到高級,通常需要2~5年的時間,因個人素質而異。大家都說,程序員要耐得住寂寞和枯燥,年輕的程序員更要克服浮躁的心態。在職業生涯的起步階段,很多人總會摸不著頭腦,這時一定要靜下心來,多向資深程序員求教,慢慢熟悉技術、熟悉開發流程和行業。有時你會感覺掉進了一個知識海洋,身邊全是陌生的事物,很難抓住。所以就更要四處探路,逐漸尋找到方向,在尋找中進步。

成功進階為高級程序員,也并不意味著前途一片光明。如果說從初級到高級需要的是學習,那么從高級到專家,需要的是不斷地嘗試和堅持。比起前一個階段,這個過程更為漫長,通常需要5~8 年。在這期間,因為有了之前的積累,并且已經取得一定的成就,人會更加自信,同時也會更加彷徨,有一個問題會時常盤旋在腦中:將來的路到底要怎么走?這時就可以利用自己所積累的資源,多做一些嘗試,嘗試不同角色、不同的項目,與不同的客戶打交道,時間長了,自然會找到最適合自己的發展方向。

總結起來,初級程序員和高級程序員時期,都屬于職業生涯發展的第一階段,我們可以稱之為黃金時期。這階段程序員的年齡在20~35歲之間,因為年輕,所以更善于學習,而且體力充沛,很多走過這個階段的程序員有過通宵工作的經歷。在這個時期,你有大把的時間學習提高,為將來的事業打下堅實的基礎。而一旦超過了30 歲,無論從體力還是精神上,都會有所改變, 從30~40 歲是轉型時期。這時的程序員(很多人已經不再編程)已經明確了自己的發展方向,并且向著目標努力,讓自己有所建樹。40~60歲是專家時期,至此,一名優秀的程序員會徹底實現“破繭成蝶”的愿望,成長為專家。

程序員的職業很精彩,同時也很艱苦。享受高工資,掌握最新的技術,有可能成為創業成功的富豪,甚至有機會改變人類的生活方式(例如互聯網瀏覽器的開發、電子商務的應用、手機短信等),這就是別人眼中程序員的生活,也許正因此,每年都會有很多新人加入這個龐大的隊伍,體驗向往已久的精彩生活。但是大多數人卻忽略了光鮮背后的艱辛,高工資的代價是工作強度高,學習新技術的代價是工作壓力大,成為富豪的代價是心力交瘁,而若想改變人類的生活方式,那就要耐得住日復一日的枯燥和寂寞。酸甜苦辣都要自己品嘗,程序員的發展道路有很多條,就看你怎么選。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454565.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454565.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454565.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

metric learning -- 馬氏距離與歐氏距離

一 基本概念 方差:(variance)是在概率論和統計方差衡量隨機變量或一組數據時離散程度的度量。概率論中方差用來度量隨機變量和其數學期望(即均值)之間的偏離程度。統計中的方差(樣本方差)是每個…

深入理解 C# 協變和逆變

msdn 解釋如下: “協變”是指能夠使用與原始指定的派生類型相比,派生程度更大的類型。 “逆變”則是指能夠使用派生程度更小的類型。 解釋的很正確,大致就是這樣,不過不夠直白。 直白的理解: “協變”->”和諧的變”…

華為mate20能用鴻蒙嗎,華為mate20可以用5g網絡嗎

華為mate20不可以用5g網絡,它是4g手機在2018年上市,當時5g并沒有開始流行,因此mate20是不支持5G的。不過在后來的2019年秋季,華為發布了mate20 x的5g版本,這也是mate20系列里唯一支持5G的,除此之外mate20、…

基本農田衛星地圖查詢_#重慶朝天門#谷歌百度騰訊高德“衛星地圖”PK,谷歌更勝一籌...

截圖自便民查詢網,各家衛星地圖PK,各有千秋~谷歌精確度最高:5m,來福士修建中,嘉陵江是綠的,長江是黃的。兩江交匯處有一條分明的界線。谷歌 5m:20ft谷歌 50m:100ft谷歌 200m:500ft谷歌 300m:1000ft谷歌 500…

軟件開發者面試百問答案,老紫竹研究室出品(已經有64個)

當然,全部是我個人的答案,不代表別人。地址 www.laozizhu.com/program.jsp?typeId104 老紫竹研究室,分享軟件開發的快樂與收獲 ‘ 我這里貼上已經寫好的答案連接。 軟件開發者面試百問答案 - 你需要哪些東西幫助你判斷項目是否符合時間要求…

Python 第三方庫之 Celery 分布式任務隊列

一、Celery介紹和使用: Celery 是一個 基于python開發的分布式異步消息任務隊列,通過它可以輕松的實現任務的異步處理, 如果你的業務場景中需要用到異步任務,就可以考慮使用celery, 舉幾個實例場景中可用的例子: 你想…

windows server 2008 (五)web服務器的搭建和部署

Windows server 2008 web服務器的搭建和部署相對于windows server 2003的IIS6來說,windows server 2008推出的IIS7.0為管理員提供了統一的web平臺,為管理員和開發人員提供了一個一致的web解決方案。并針對安全方面做了改進,可以減少利用自定義…

改裝摩托車

摩托車發動機就是將進入氣缸中的燃料混合氣點燃使其燃燒所產生的熱能變為機械能,并由曲軸將動力通過傳動機構傳給摩托車后輪而變為車輛行駛動力的機械。發動機的進排氣量和氣流速是影響高轉速(功率)輸出的關鍵因素之一。 發動機工作時氣流的路…

華為鴻蒙os logo,華為鴻蒙OS Logo曝光:Powered by HarmonyOS

IT之家 9 月 13 日消息 9 月 10 日,鴻蒙 OS 2.0 亮相華為開發者大會的主舞臺上,華為常務董事、消費者業務 CEO 余承東表示,鴻蒙 OS 是首個真正為全場景時代打造的分布式操作系統,鴻蒙 OS 2.0 全面使能全場景生態。現在博主 勇氣數…

python判斷語句_詳解Python判斷語句的使用方法

本篇介紹Python判斷語句的使用,主要討論簡單條件語句、多重條件語句和嵌套條件語句,在講解的每個案例中都配有流程圖和代碼說明。通過本篇的學習,可以達成如下目標。 ● 掌握判斷語句的使用規則 ● 判斷語句流程圖的畫法 前面我們學習了Pytho…

迫在眉睫的職業規劃

對于大多數程序員來說,微軟是一家值得崇敬的公司,能夠加入微軟,也是很多程序員的愿望。在付出足夠的努力后,一旦進入了微軟,也就意味著可以和最先進的技術終日為伍,一直沿著技術這條路線走下去了。對嗎&…

js setTimeout 使用方法

在項目過程中遇到一些異步加載和其他js方法沖突的問題: 如圖初始化的時候會加載“商戶基本信息”,修改商戶名稱字段第二個頁面也需要修改: function setSeqAndName(){var pritab2 $("#allTabs").tabs("getTab", 1).find("ifra…

python中分支結構包括哪些_python中的分支結構

python不提供switch語句,但是python可以通過字典實現switch語句的功能 實現方法分兩步: 首先:定義一個地點 其次:調用字典的get()獲取相應的表達式 原始方法: from __future__ import division #內置函數,解…

機器學習算法之 logistic、Softmax 回歸

邏輯回歸本質是分類問題,而且是二分類問題,不屬于回歸,但是為什么又叫回歸呢。我們可以這樣理解,邏輯回歸就是用回歸的辦法來做分類。它是在線性回歸的基礎上,通過Sigmoid函數進行了非線性轉換,從而具有更強…

html上傳預覽圖片原理,關于html中圖片上傳預覽的實現

functionchange() {varpicdocument.getElementById("preview"),filedocument.getElementById("f");//得到后綴名varextfile.value.substring(file.value.lastIndexOf(".")1).toLowerCase();//gif在IE瀏覽器暫時無法顯示if(ext!png&&ext!…

程序員成功之路

程序員成功之路 ——The road ahead for programmer(演講稿) 一、我很羨慕在座的各位同學,因為你們是中國未來的程序員,而我不是,我一直很遺憾。 比爾蓋茨曾經寫過一本書叫做《未來之路》The road ahead, 那么今天我選…

【溫故知新】——原生js中常用的四種循環方式

一、引言 本文主要是利用一個例子,講一下原生js中常用的四種循環方式的使用與區別: 實現效果: 在網頁中彈出框輸入0 網頁輸出“歡迎下次光臨”在網頁中彈出框輸入1 網頁輸出“查詢中……”在網頁中彈出框輸入2 網頁輸出“取款中……”在…

部署egg需要用到pm2嗎_使用寶塔面板部署校園綜合服務平臺項目

本文檔為校園綜合服務平臺服務端的安裝部署教程,歡迎star小程序端下載地址:https://github.com/landalfYao/help.git后臺服務端下載地址:https://github.com/landalfYao/helpserver.git后臺客戶端下載地址:https://github.com/lan…

機器學習算法之線性回歸

一、什么是回歸算法 回歸算法是一種有監督算法 回歸算法是一種比較常用的機器學習算法,用來建立“解釋”變量(自變量X)和觀測值(因變量Y)之間的關系;從機器學習的角度來講,用于構建一個算法模型(函數)來做屬性(X)與標簽(Y)之間的映射關系&a…

html中怎么寫多選框,如何在HTML中實現“選擇所有”復選框?

checkboxes document.getElementsByName(foo);for(var checkbox in checkboxes)checkbox.checked source.checked;} Toggle AllBar 1 Bar 2Bar 3 Bar 4最新情況:這個for each...in構造在Safari 5或Chrome 5中似乎不起作用,至少在本例中是這樣的。這段代…