已經工作了的程序員該如何提高自己?我看到過很多說法,包括但不限於:
- 多讀書,然后各種書單,技術的、管理的,情商的、智商的,文學的、藝術的……
- 鍛煉健身,身體是革命的本錢嘛!
- 寫博客,這個@dudu應該最喜歡了
- 多交朋友,積攢人脈
- 學學做貼膜賣烤串啥的
- ……
錯了么?也不能說錯。但我總覺得啊,怎么說呢?一股或濃郁或清淡的“技術宅”味道,算了,不知道怎么形容,直接上我的觀點吧:
向你的老大學習,或者說,向人力資源市場學習。
啥意思呢?你就仔細琢磨:你和你的老大之間的差距。然后想方設法的縮小這種差距,就OK了。等你們之間沒有差距的時候,你是不是就有資格坐他的位置了?你是不是就成長了?這里的老大,可以是老員工、team leader、project manager,或者大boss,總之,身邊比你強的人就行。
你干嘛要到QQ群里去問,到論壇里問,到一些你其實搞不清楚情況的地方瞎問?我們就不說有些人自以為是喜歡海吹胡說,就算人家是個老實人,但他根本不了解你的情況你的環境,他的回答是不是適合你,鬼大爺才知道!
比如人家是海龜博士在一線城市搞芯片,你野生碼農三線城市搬磚,他告訴你要有所發展,至少得985/211研究生文憑,熟悉CPU底層架構和電路知識……人家沒騙你,在他那個位置,研究生學歷確實是打底的,他鑽研的是芯片設計當然要知道什么CPU架構了,但你只是個碼農,你做的是應用軟件開發,他的這些話你能聽么?
我特么估計有些同學還真要聽進去!開始為自己學歷自卑,開始為自己碼農的工作和身份自卑的同學請舉手。
好吧,都坐下。例子舉得不恰當,我們得換過來:
比如人家是年薪百萬獨角獸公司的CTO,你是一破研究所搞芯片的,他告訴你要有所發展,還是得“站在風口上”,要有快速學習的能力,處理復雜業務的能力,學學管理帶帶隊伍……人家沒騙你,做互聯網開發做應用開發,業務是第一位的,但你一做芯片開發的,這些話能聽么?
例子還是不恰當,不用舉手,我知道有好多人都真的丟了本職,學Java學PHP奔更有“錢”途的互聯網去了。
例子舉得不好,但寫都寫了,舍不得刪。圍城啊!
我正面說吧,假設你是一個搬磚的野生碼農,其實呢,你最腳踏實地最有可能成功的路徑是:
- 自己能熟練的搬磚
- 能帶着別人一起搬磚
- 能自己不搬磚,指揮別人搬磚
- 有一幫用慣了的人,能自己接點搬磚的業務……
搬磚不丟人!周圍看看,有幾個人不是在搬磚?無非是搬這樣磚搬那樣磚而已。
搬磚不容易!周圍看看,有幾個人把磚搬好了?屎一樣的垃圾代碼,到處都是。
那怎么樣才把搬磚這個有前途的工作干好呢?或者更直接一點,怎么一步一步的往上爬呢?最簡單的,抬頭,看看你旁邊幾位已經爬上去了的老大啊。
我知道很多人不服氣,“我那個老大,豬一樣的……”,然后可以吧啦吧啦說一整天他老大的毛病。我真不知道怎么說,只能推薦《折騰》這幾章。不願意看的,我簡單點說,是人都有毛病。但你要能看到他的閃光點。你以為你在外面認識的那些“大佬”沒毛病,一樣一樣的(比如是飛哥我了,還不是一樣被自己員工嫌棄)。
做這個思想工作很難,所以我建議退而求其次:向人力資源市場學習。
怎么整呢?經常去看看招聘啟事,甚至時不時地悄悄參加幾次面試,看看你這個方向,市場上需要的是什么人。注意我加粗的部分,確定的方向非常重要。
我舉個例子吧,ASP.NET方向,從0工作經驗到CTO,下面是我在51上面隨便弄的幾份招聘要求:
無工作經驗要求
要求很低,就是一個“熟悉”。大概就是Visual Studio要會用,能用ASP.NET連上數據庫寫個小demo就OK了。所以其實沒有工作經驗,找份工作也不是很難的。算了,略過了,我現在是站着說話不腰疼了……哈哈
1-3年工作經驗要求
好了,我們看到了一些更多的東西,比如“大型”“高並發”“優化”,不過這些是優先項,會最好,不會也不強求。但對“B/S結構”“MVC框架”這類更基礎一點的東西有要求了,C#語言要“精通”,並且要“深入理解”.NET。另外值得注意的一點就是:“技術文檔”。所有的開發人員都討厭寫文檔,但你要知道,能讓你寫文檔,已經是對你能力的一種肯定了。技術沒到一定水平,你寫文檔的資格都沒有!
所以,這就是看“招聘啟事”的作用。不然你還稀里糊塗的,吐槽項目經理讓你寫文檔……
5年以上工作經驗
重復的我們不說,需要注意的是:
- “大數據優化處理能力”不再是“優先”,而是要求“具備”了。
- 我們看到了“軟件項目的管理流程”“帶領”“團隊”,這是什么?管理技能啊!
- 最后,有一點大家千萬不要忽略:“知名產品系統架構工作經驗”。系統架構,不用說了,我強調“知名”二字。啥意思?從這時候開始,人家就不僅僅看你本身的能力,還要看你一些“外在的”東西。本來,你產品架構得好不好,和這個產品知不知名,是沒什么關系的。知名產品的架構就一定好嗎?不一定的。但是,注意這個但是,用人單位不這么想。因為到了這個階段,用人單位對你的能力判斷,就有些力不從心了。就像我們消費者也沒辦法判斷挖掘機技術那家強,怎么辦?看包裝唄,看廣告唄!國強代言的,應該不會太差吧……就是這種心理。越到后面,越是高級人才,越是這樣。
5年以上工作經驗
首先說一下,這時候,你還用“ASP.NET+5年工作經驗”做關鍵字,搜出來的職位就不多,也不具有挑戰性了。所以我換成了CTO,從任職要求也可以看出來,沒有具體的語言要求了。
然后,特別注意,5條要求,有3條出現了“團隊”。說明什么?說明這個時候,管理能力就非常非常重要了。除了管理能力,其他要求其實也很“虛”。
好了,我隨便抓的幾份招聘要求,就舉個例子,可能不全面,大家最好還是自己去看看,自己去分析分析。這樣做,我覺得比聽一些籠統的空洞的五花八門的說法強。比如說,就沒有被某些人吹上了天的“數據結構和算法”——這並不是說“數據結構和算法”不重要,可能你的領域(比如圖像研究啥的,我瞎說的),這些東西確實重要,但並不是任何領域他們都重要,更不是不精通“數據結構和算法”就沒辦法混出頭。我是不是又挑起來“口水戰”?我猜有些同學會說“優化”“大數據”就是數據結構和算法干的,呵呵……
就這樣吧,就像我題目說的,【終結篇】,以后這個問題我就再也不說了。有些人,一點就通;有些人,怎么說都沒用。自己的路,自己走,祝大家一路走好!
點了個推薦會走得更好喲!
+++++++++++++++++++
每天一篇博客 第2周第2天,完成,(^-^)V