已經工作了的程式員該如何提高自己?我看到過很多說法,包括但不限於:
- 多讀書,然後各種書單,技術的、管理的,情商的、智商的,文學的、藝術的……
- 鍛煉健身,身體是革命的本錢嘛!
- 寫部落格,這個@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