對程式設計師職業的一些建議

發表於2011-04-27

從四年前被CSDN採訪後(“職業規化就像軟體工程”),經常會有網友(尤其是剛畢業的)寫郵件來問我一些程式設計師職業生涯的一些問題,至到今天。比如,國企還是外企的選擇,一直程式設計有沒有前途等等問題。面對這樣的郵件,我感到有很大的壓力,因為如果我的回覆很有可能會誤人一生,但我另一方面又很想幫助這些人。所以,我基本上還是會嘗試回一下這樣的郵件。昨天,我又回了一封。但是我心裡還是有點忐忑不安。害怕說錯了什麼。

今天,我想把我的一些思路和建議寫在這裡,一方面供大家參考,另一方面也想聽聽大家對我的評判,這樣不但對更多的人有幫助,同時對我自己也是一個幫助。

下面是某網友前天給我發來的郵件:

我是一個剛剛畢業的大學生,我覺得自己對於程式設計師這個行業感到很迷惘,所以發郵件打擾您一下,麻煩了。

我今年正在找工作,我現在有幾家國企的offer,百度的offer還在等待,我覺得第一份工作對我來說很重要,因為第一份基本決定了近幾年或者一輩子你在哪個行業發展。家裡人都是希望我籤國企,但是我自己對技術很感興趣,一直希望能在技術上面走下去,籤國企雖然很輕鬆但是我總覺得在技術上學不到什麼有用的東西,所以我個人傾向是去百度。

我現在很迷惘的是,如果我一直在程式設計師這個行業上走下去,以後的出路應該是什麼呢?還是一直到高階工程師,還是專案管理這種程度嗎?

我現在聽很多人在說程式設計師必需要轉行,因為一輩子在編寫程式碼,沒有什麼好的出路,對於這點,您有什麼看法嗎?我現在才剛剛從學校畢業,對IT這個行業也不是非常瞭解,但是我覺得自己自學能力很強,而且確實很想學些東西,你對於一個剛剛畢業的計算機學生有什麼建議嗎?

信件的內容我沒有改變,我相信很多人都有相似的問題。我昨天給這們朋友回覆了郵件,下面是我回復內容的一個整理。歡迎大家討論。

首先,我想說的是,這些東西只是我根據我的經歷給出的建議,僅僅供大家去參考,你的路你的人生要你自己決定,不要輕易的讓人幫你決定,那怕是你的家人。

如果我們把所的問題一起談,那怎麼說也說不清楚,所以,請允許我“關鍵點分離原則”來分開說說。

一、對技術的熱情

如果我們喜愛程式設計,喜愛技術的話,那麼,我們就會投入熱情,自己會去專研很多東西。就像你以前對某個東西痴迷一樣,你可以在工作之餘還在學習和專研這些東西,你會經常和人討論這些東西。不知道你是否會和我一樣有一種感覺,如果你不學習技術,你不去專研,你就怕被淘汰,你就會感到不舒服。

所以,我們一定要問我們自己一下,我們自己喜歡技術嗎?喜歡技術到什麼程度。只是感興趣還是喜歡?這兩個不一樣。興趣能讓你開始讓你執著,但只有喜愛才會投入熱情,只有投入熱情才可能會出成績。這個問題你要問問自己。

你有多大的熱情在這個事業上?
你對你自己的自我價值的實現的訴求有多大?
如果你很有熱情,可能到了有些痴迷的程度的話,比如,你會因為專研某個問題,學習某個東西,嘗試某個東西,達到廢寢忘食的程度,而且以些為樂,那麼我非常建議你走技術的路線。

二、對技術的能力

有興趣,有熱情,並不代表你就一定行。你需要很清楚地認識到,你還需要有能力(我在《再談“我是怎麼招聘程式設計師”》一文中說了程式設計師的四個事,操作技能,知識,經驗,和能力,大家可以去看看我對“能力”的定義)。你需要反思和重審一下自己是否有能力,你的學習能力怎麼樣,是經常需要問人,還是可以自己專研?你的思路怎麼樣,是否能被有經驗的人認可,還是能夠影響別人?

興趣和熱情只能讓你很執著,但並不一定能讓你走好這條路,只有你的能力和你的強項才能讓你走好這條路。希望大家能夠清楚地認識到這其中的差別。

所以,你一定要對自己做出一個判斷,要學會反思,如果你是有能力的適合走技術路線的人,那以我非常建議你走技術路線。

我也嘗試創過業,但我覺得我這種人是“謀士”,不是能攻城拔寨的“將軍”,創業更需要的是“將軍”,我目前只能是一個輔佐他們的“謀士”,所以,我也只能盡力能成為一個級別高點的“謀士”。

三、再說說工作的事

我比較同意的”第一份基本決定了近幾年或者一輩子你在哪個行業發展”,但又有一點點不是很同意。因為我畢業的時候,在銀行混了兩年,然後又去一個國企業呆了2年。所以,第一份工作並沒有影響我的職業。但是,我必需承認——當我從銀行出來的時候,我落後了,落後了還很多,我花了近5-6年的時候才把這個差距追了回來。

所以,我有幾個觀點想告訴大家:

第一份工作並不決定你的人生。因為你可以在2年內換工作。但是你頭四年的做的事會對你的職業有影響。這裡,我有兩個案例分享一下。(我不用說太多了,相信大家自己能體會)一個是我的同學70後,他以前是程式設計師,幹了5/6年後不想幹了,想轉行,結果轉不了,因為他的工作經歷讓他很難轉行了,他問了一下自己是否願意和那些剛畢業的80後拿一樣的工作一起競爭,最後他自己都不願意。後來,他去讀了MBA,現在還做IT,現在做一些業務諮詢方面的工作。不能算失敗,但是時間浪費了。

還有一個是我的同事,她CS專業畢業想做程式設計師,但最後為了進一個好的公司只能做QA,現在4年多了,她很想很想做Dev,但是卻抱怨工作沒有給她這樣的機會,4年多的QA經驗讓她很難成為Dev了。我從她做QA一年的時候就在和她說,如果你想做Dev,你就要有技術儲備,多和Dev在一起工作,QA又怎麼樣,如果我能讀Dev的程式碼,我總有一天會成為Dev的。事實證明,她對技術並沒有太多熱情。現在也只能得過且過了。

如果你覺得自己在技術有自信有熱情,而且已經有一些成績了,我強烈建議你去IT公司中鍛鍊,越尊重技術的的IT公司越好。就像打球一樣,只有和比你厲害的人一起玩,你才會得提高。

如果你對技術的熱情一般,也沒有太多的自我價值的追求,也不想拼搏,而且對吃大鍋飯不反感,對沒有激情的工作不反感的話,那麼,你應該去事業單位,當個公務員,走走常規則的人生,養養老也不錯。這裡,我多說一句,根據中國的現在國情來看,如果你有自我價值的訴求,你要去大城市,去好的公司,走體制外的路線,如果你又不想來大城市,只想呆在地方的話,那麼,我個人非常建議你走體制內的路線,在地方,只有體制內的路線是最好的。

千萬別去一些不起眼的小公司(要去小公司你得看看這個公司的人和業務),很多不起眼的小公司現在都變大了,能和一個公司一起成長是相當難得的(我現在就特別想要這方面的經歷),現在這個社會,與其去那些很難成長為大公司的小的很不規範的公司,還不如自己創業。

四、技術可以做多長

在這裡,我用我自己經歷做個例子,我在軟體程式設計上有14年了(加上大學裡的專案就有16年了),雖然我今天是經理了,但是我還是喜歡程式設計。我以前也聽到過別人說的——做技術太辛苦,沒前途。我並不這樣覺得,因為我覺得技術是實實在在的東西,很實在,這讓我很踏實,踏實的感覺得好。因為,

我個人覺得真正的穩定是,今天我離開這個公司,我明天就能找到相應的工作。如果我的工作不成問題了,那麼我就可以從謀生上升到事業的層次來。只有到了事業這個層次,我才能有所見樹。

另外,我覺得說出來的那些話的人要麼就是“小貓釣魚”的那些人,要麼就是短視的人,你可以問問他們,哪個非技術的行業有前途,然後你去問問從事那個行業的人怎麼樣看?我15年來都在程式設計,雖然走了一些彎路,但是我很感謝那些中途退縮者,是他們讓我這15年變得更有價值。15年從事同一個件事,這讓我很有競爭力。有了競爭力,我的工作才不會是一個問題,我才能上升上事業的層次上來。

當然,如果你發現你不適合,你無法堅持,那麼我建議你還是想清楚,別的行業你能堅持嗎?我們不害怕轉行,害怕的是自己對自己缺乏認識,害怕的是小貓釣魚,害怕的是一山望比一山高。

五、待遇和職位

比如你的職位,薪水,福利,等,我從來都不是很關心這些東西,這些都是次要的(其次重要的),最重要的是你的能力和經歷,是那些可以寫在你簡歷上的,讓你引以自豪的經歷和能力。(一定要自己引以自豪)。而你的職位,薪水,只不過是你能力和經歷的附屬品。

把自己對待遇和職位的那個目標放在心裡,踏踏實實做好今天的事,煉好自己的內功,注重經驗的積累和總結,等待一個能讓你量變引發質變的機會,用你的能力抓住它不要放手,你會發現你的路就在前方,通往這條路的門不知不覺已經開了。功到自然成,水到渠成。

以上是我的一些建議,不一定對,其可能因為我的個人經歷有侷限,還希望聽道大家的討論和指點。

來源:Coolshell

 

相關文章