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),但搞培訓和咨詢其實是很難做大的,每次上課其實都是體力活+腦力活。
這與我多年前的夢想是完全不一樣的,我期待自己的公司具備核心技術,并且這個核心技術能為社會帶來很大價值,公司能通過這樣的模式賺到很多錢。
小結
每個人都會有自己成長之路,每位企業家都會有自己的創業之路。
我走了不少彎路,本文分享一些小心得,希望能對你有一點點小幫助。
-
工程師
+關注
關注
59文章
1570瀏覽量
68516 -
代碼
+關注
關注
30文章
4787瀏覽量
68591
發布評論請先 登錄
相關推薦
評論