天天看點

程式員的“非程式員”之路

摘要:

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

什麼是”非程式員“?

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

”非程式員“常見的職位有:項目經理、産品經理、測試工程師、配置管理者、實施工程師、sqa等;除此以外還有部門經理、副總、總經理、老闆!

 按照時間順序,我做過的職位有:程式員、項目經理、研發中心經理、副總經理、常務副總,後來我創業了,是以老闆我也當了一回!(ps:我這個老闆是光棍司令)

我的程式員之路

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

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

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

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

 我對計算機程式設計的強烈興趣,驅使我報考大學時的第一志願就是計算機軟體,但我的聯考成績不理想,隻考上了第二志願……

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

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

我的非程式員之路

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

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

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

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

 世界上沒有這麼多如果,我們隻能做到總結以前,把握現在,面向未來。

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

關于程式員的幾個誤區

1.)30歲不能再幹程式員

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

 國外四五十歲的程式員很多,人家寫的代碼越老越牛b,腦袋的思考能力完全不見到減退,反而越發厲害,是以"30歲不能再幹程式員"就是一句坑爹的話!

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

a)加班有害健康!

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

2)程式員 = 碼農

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

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

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

 開發語言不在多,在于精!對于程式設計老手來說,掌握一門開發語言的文法可能隻需要幾天的時間,但程式設計的素養和深厚的程式設計功力是需要多年沉澱的。

 我剛學會我的第一種開發語言basic,自認為感覺良好,自以為憑借自己小聰明就能運用basic寫出很強大的程式。後來參加了程式員興趣小組學習班,系統地學習了一些算法,才發現自己是井底之蛙。剛開始工作的幾年開發語言用的是vb,還學習了一些設計模式,自以為自己很oo,後來随着工作經驗的積累和遇到不同的問題,才發現自己是多麼的膚淺。

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

 給幾個題目你參考一下:

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

b)寫一個畫uml圖的程式。

c)寫一個視訊播放程式,要自己寫×××。

 自己獨立完成需求、設計、實作和測試等全部工作。

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

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

1)需求分析能力

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

3)軟體測試能力

4)項目管理基本知識

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

6)團隊協作能力

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

職場上的一些小建議

1)想清楚自己想幹什麼。

 星爺說過:人生沒有理想,和一條鹹魚沒有什麼分别!

 人生能有多少個十年,要盡早發現自己想幹什麼,并要盡早做好通盤規劃。

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

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

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

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

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

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

4)精通技術能幫你創業,精通管理可能隻能幫你找到好工作。

 大學畢業之前,我的職業規劃是這樣的:争取幾年内達到月入過萬,然後争取5年左右的時間能通過打工積累一點點的錢和技術,然後通過自己的技術去創業。可能很多程式員都有這樣的類似想法。

 我曾經試過兩次創業:

 第一次創業:我打工的同時和一些朋友合夥成立一個公司,我負責開發軟體,我的合作夥伴負責市場方面的工作。但最終還是失敗了。

 第二次創業:從2010年開始我辭職出來單幹,全職做軟體研發方面的咨詢和教育訓練服務。目前正在進行中……

如果你技術足夠牛b,能找到合适的合作夥伴,并且能找到投資人,那麼成功的機會是很大的!有技術你就有創業的本錢。

 我第二次創業就比較尴尬了,當時我已經幹了很多年的管理工作,技術上已經被廢武功,我的去路可能隻有兩個選擇:

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

b)創業搞咨詢和教育訓練方面的事情。

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

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

小結

 每個人都會有自己成長之路,每位企業家都會有自己的創業之路。

 我走了不少彎路,本文分享一些小心得,希望能對你有一點點小幫助。

繼續閱讀