話說程序員的職業生涯

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

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

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

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

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

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

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

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

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

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

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

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

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

發佈了49 篇原創文章 · 獲贊 34 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章