一個不寫代碼的程序員前進之路

2016-02-15 14:03:59來源:IT風向標 作者:

無論你將來是否繼續(xù)走技術路線,你的程序員經歷將為你打下雄厚的基礎。本文為你分享我的一些心得,為你分享一些程序員也應該掌握的”非程序員“技能,希望對你 有幫助。

猿氏物語

20多年前我就開始寫代碼,很喜歡寫代碼,直到現(xiàn)在為止仍然熱度不減!人生總是會和你開點小玩笑,我在多年之前走上了”非程序員“之路。我覺得無論你將來是否繼續(xù)走技術路線,你的程序員經歷將為你打下雄厚的基礎。本文為你分享我的一些心得,為你分享一些程序員也應該掌握的”非程序員“技能,希望對你 有幫助。

什么是”非程序員“

什么是程序員?這應該不用解釋了。所以”非程序員“就很容易解釋了,只要你從事的是IT類工作,但又不是寫代碼的,你就是”非程序員“!

”非程序員“常見的職位有:

\

除此以外還有部門經理、副總、總經理、老板!

按照時間順序,我做過的職位有:

\

后來我創(chuàng)業(yè)了,所以老板我也當了一回。≒S:我這個老板是光棍司令)

我的程序員之路

如果我問你:你寫過代碼嗎?

你肯定會說:寫過,而且還寫了很多!

請你留意,我說的是”寫“代碼,而不是”敲“代碼噢。

我 的運氣比較好,高中一年級的時候學校就開課《BASIC語言》這門課。當時電腦是很稀缺的資源,家里沒有計算機,雖然學校有計算機房,但上機的時間并不 多。當時我編寫程序的方式就是用筆在練習本上寫代碼,調試程序的方法就是在腦袋里面運行這個程序。平時我寫下大量的代碼在練習本上,非常珍惜上機時間,想 榨干在電腦房中的每一秒中。雖然當時我的大部分時間是在練習本上寫代碼,在腦袋中運行,但就是因為這樣的編程方式打造了我的編程基本功和素養(yǎng)。

我對計算機編程的強烈興趣,驅使我報考大學時的第一志愿就是計算機軟件,但我的高考成績不理想,只考上了第二志愿……

我大學讀的是”城鎮(zhèn)建設“專業(yè)。這是一個”偉大“的專業(yè),我們的系主任說:這個專業(yè)是用來培養(yǎng)建委主任的(現(xiàn)在叫建設局局長)!當時我們興奮和自我陶醉了一翻,結果畢業(yè)時我們沒有人能找到”建委主任‘的工作,直到現(xiàn)在好像也沒有同學坐上了這個崗位。

大 學畢業(yè)后我在某事業(yè)單位從事市政方面的工作,但我很快憋不住,我找到了一份新工作,在某軟件公司做程序員,開發(fā)建筑預算方面的軟件,正式開始了我的程序員 的生涯。接著下來的5年時間,我寫下了大量代碼。當時整個公司13個,其中程序員4人,但作為程序員的我除了寫代碼,還需要自己分析需求,自己測試自己的 軟件,自己管理自己等。這樣的工作模式,讓我得到全面的鍛煉。

我的非程序員之路

公司規(guī)模不斷擴大,開發(fā)人員的數(shù)量增加了不少,后來做的項目一般都會配備幾名程序員和一名測試,而我“理所當然”地當上了項目經理。最開始做項目經理的時候,還可以寫一些代碼,后來要花更多的時間處理需求、客戶關系、項目管理、團隊建設等事情,基本上沒有時間去寫代碼了。

不多久,公司打算將我推向“研發(fā)中心經理”的職位,這是一個莫大的誘惑!剛接任研發(fā)中心經理一職,還期望能有一半時間來研究技術,實際上這是不可能滴。后來我還先后負責了ISO9001、CMM3級和CMMI5級的工作。

我 從心里面其實是更喜歡走技術路線的,當初選擇了管理路線讓我踏上了“不歸路”。我原本在技術上有很多“第一”:公司中編程最熟練的第一人,第一個最熟悉 C#,第一個最熟悉SQLServer等等,多年所從事的“非程序員”工作雖然讓我掌握了不少新技能,但同時也在技術上“廢掉”了我的武功。

如果上天再給我一次機會,我會不會仍然選擇這樣的一條路呢?

世界上沒有這么多如果,我們只能做到總結以前,把握現(xiàn)在,面向未來。

上文簡介了我的經歷,下面開始為分享一些我的心得體會,無論你是否打算繼續(xù)走技術之路,希望對你能有幫助。

關于程序員的幾個誤區(qū)

1.)30歲不能再干程序員

當年不知道誰說程序員不適合干到30歲,因為人腦越老越不適應這樣的工作,程序員要趁30歲前做好轉型的準備。我當做了研發(fā)中心經理,選擇了管理路線,其中一部分原因就是受這個“30歲不能再干程序員”的影響!

國外四五十歲的程序員很多,人家寫的代碼越老越牛B,腦袋的思考能力完全不見到減退,反而越發(fā)厲害,所以”30歲不能再干程序員”就是一句坑爹的話!

當然這句話在中國說是有背景的,那就是程序員沒日沒夜的加班,如果是這樣的狀態(tài),當然是很難挨到30歲的。所以我們要保護好自己的身體資源,特別是腦袋,記住兩句話:

a)加班有害健康!

b)工作是公司的,身體是自己的!

2)程序員 = 碼農

一些外行領導認為程序員就是一種低技術含量的工種,隨便在街上可以抓一把,你不干還有很多人干!就算是我們程序員本身,也將自己自嘲為“碼農”。

程序員是高技術含量的工種,如果你掌握了核心技術,你是相當值錢的!但是在我們中國高技術含量項目或軟件太少了,所以如果你連續(xù)幾個月覺得自己技術上沒有什么進步的話,你要想辦法找一些更有挑戰(zhàn)的工作了。

3)掌握的開發(fā)語言越多越潮就越好

開發(fā)語言不在多,在于精!對于編程老手來說,掌握一門開發(fā)語言的語法可能只需要幾天的時間,但編程的素養(yǎng)和深厚的編程功力是需要多年沉淀的。

我 剛學會我的第一種開發(fā)語言BASIC,自認為感覺良好,自以為憑借自己小聰明就能運用BASIC寫出很強大的程序。后來參加了程序員興趣小組學習班,系統(tǒng) 地學習了一些算法,才發(fā)現(xiàn)自己是井底之蛙。剛開始工作的幾年開發(fā)語言用的是VB,還學習了一些設計模式,自以為自己很OO,后來隨著工作經驗的積累和遇到 不同的問題,才發(fā)現(xiàn)自己是多么的膚淺。

編程基本功需要在學校階段就打造,并且要讓自己愛上編程。除了要認真完成所有編程課程的課后作業(yè)、練習和課程設計外,你自己還要嘗試去挑戰(zhàn)一些高技術難度的題目。

給幾個題目你參考一下:

a)寫一個五子棋(或象棋)之類的程序。

b)寫一個畫UML圖的程序。

c)寫一個視頻播放程序,要自己寫解碼器。

自己獨立完成需求、設計、實現(xiàn)和測試等全部工作。

程序員應該掌握的幾個非程序員技能

程序員不僅要學習技術,也需要掌握一些“非程序員”的技能,這些技能能幫助你開闊視野,加速你的成功:

1)需求分析能力

2)活用UML分析及解決問題的能力

3)軟件測試能力

4)項目管理基本知識

5)口頭表達能力和書面表達能力

6)團隊協(xié)作能力

以上知識不能只看書本,更關鍵是實際操練,操練的最有效辦法就是:自己獨立完成一個軟件的所有工作;當自己具備一定基礎后,就和幾個同學或朋友去挑戰(zhàn)更高難度和復雜度的軟件項目。

職場上的一些小建議

1)想清楚自己想干什么。

星爺說過:人生沒有理想,和一條咸魚沒有什么分別!

人生能有多少個十年,要盡早發(fā)現(xiàn)自己想干什么,并要盡早做好通盤規(guī)劃。

2)多為自己著想,不要太過顧全大局。

大學時,老師給我的評價是:綜合素質和能力很強。工作后,老板給我的評價也是這樣。但這樣的評價,可能會帶來杯具的事情……

因 為我綜合素質和能力強,所以在安排工作的時候,別人都可以挑一些他喜歡或他擅長的事情做,而我因為是“全能”的,所以我要去干一些別人不喜歡或不擅長的事 情。我曾經試過好多次將自己想研究的技術點讓給別人,久而久之我就失去了很多掌握高精尖技術的機會。至今為止我在技術上的一個最大遺憾就是,沒有能精通 C++編程,我曾經有機會和有條件去開發(fā)C++的繪圖程序的,但我讓給別人了……

“人不為己天誅地滅”這句話很有道理,當然不是要你去自私自利,但也不能太過于“大公無私”,根據自己的發(fā)展路線,要主動去爭取一些能提升你的技能的機會。

3)不要說少多做,要多說多做。

“少說多做”被譽為一種美德,但每個公司都會有辦公室政治,少說多做會讓你吃大虧,你需要的是多說多做!除了要干好事情,也需要讓你的老板、同事及時知道你的工作成績。成功人士不僅僅是靠實力的,還需要包裝和宣傳。

4)精通技術能幫你創(chuàng)業(yè),精通管理可能只能幫你找到好工作。

大學畢業(yè)之前,我的職業(yè)規(guī)劃是這樣的:爭取幾年內達到月入過萬,然后爭取5年左右的時間能通過打工積累一點點的錢和技術,然后通過自己的技術去創(chuàng)業(yè)。可能很多程序員都有這樣的類似想法。

我曾經試過兩次創(chuàng)業(yè):

第一次創(chuàng)業(yè):我打工的同時和一些朋友合伙成立一個公司,我負責開發(fā)軟件,我的合作伙伴負責市場方面的工作。但最終還是失敗了。

第二次創(chuàng)業(yè):從2010年開始我辭職出來單干,全職做軟件研發(fā)方面的咨詢和培訓服務。目前正在進行中……

如果你技術足夠牛B,能找到合適的合作伙伴,并且能找到投資人,那么成功的機會是很大的!有技術你就有創(chuàng)業(yè)的本錢。

我第二次創(chuàng)業(yè)就比較尷尬了,當時我已經干了很多年的管理工作,技術上已經被廢武功,我的去路可能只有兩個選擇:

a)找一個新公司任職管理層的職位;

b)創(chuàng)業(yè)搞咨詢和培訓方面的事情。

我不想再打工,所以選擇了b),但搞培訓和咨詢其實是很難做大的,每次上課其實都是體力活+腦力活。

這與我多年前的夢想是完全不一樣的,我期待自己的公司具備核心技術,并且這個核心技術能為社會帶來很大價值,公司能通過這樣的模式賺到很多錢。

小結

每個人都會有自己成長之路,每位企業(yè)家都會有自己的創(chuàng)業(yè)之路。我走了不少彎路,本文分享一些小心得,希望能對你有一點點小幫助。

關鍵詞:程序員