1. 程式人生 > >程式設計師能純靠技術渡過中年危機嗎?

程式設計師能純靠技術渡過中年危機嗎?

作為曾經的半個程式設計師,分享一下個人經歷。程式設計師會有中年危機,一個很大的因素來自:我們曾經引以為傲、賴以生存的開發技術會被淘汰。而學習新開發技術成本太高。看著快速崛起的年輕人,不免使人心生:廉頗老矣的感慨。但是如果眼光不僅僅侷限在開發技術上,可以做的空間就大了很多。

我一直在做資料分析相關的工作。作為一個83年的老男人,最慘的就是:當我進入職場的時候,資料分析遠遠沒有現在火熱,網際網路行業也遠沒有現在強大。我在職場起步階段學的還是SAS。大多數分析主題以商業分析為主,很少用演算法。做過資料探勘專案,也侷限在銀行的外呼,運營商的流失使用者挽留等特定領域。不但做的模型單一(其實就是邏輯迴歸),而且跟網際網路行業沒一毛錢關係。和現在全民all in機器學習的在校生比起來,簡直弱爆了。畢竟人家人手一本西瓜書,天天上kaggle撈程式碼,張口隨機森林閉口SVM,scikit-learn各種起飛。兩下一對比,就顯得我各種土鱉。

學習新開發技術對在校生容易,可對中年職場人士真是太難了。業餘時間,回家帶寶寶、打掃衛生、陪孩子出去玩,已經把人累的筋疲力盡。在企業也很少實戰新資料的機會,畢竟大多數我們帶出來的系統已經穩定,除非投身新公司新部門,否則很少有新技術使用機會。問題是,有幾個中年人敢輕易換坑的。

<img src="https://pic1.zhimg.com/50/v2-8c0c4e63255fa2919f7d5a83d1d9f800_hd.jpg" data-size="normal" data-rawwidth="597" data-rawheight="349" class="origin_image zh-lightbox-thumb" width="597" data-original="https://pic1.zhimg.com/v2-8c0c4e63255fa2919f7d5a83d1d9f800_r.jpg">

感覺就像自己好不容易弓馬嫻熟,結果人家換了機關槍……

幸運的是,30歲那年,一個前輩指點我,逐步走出了這種困局。他當時對我說的話,至今猶在耳邊:

“你思路要開闊點,一個專案成功可不僅僅是寫程式碼這麼簡單。你也做過很多專案效益分析,你自己想想,有幾個專案是真的死於技術不行的。如果老闆期望過高呢?如果給的資源不夠呢?如果其他部門不配合你呢?你做精準營銷,人家一線銷售根本不鳥你,你怎麼精準?如果你能從結果出發,倒推做成專案需要什麼。用這些分析去影響業務部門,豈不是比別人挖好了坑,自己邊罵邊填更好?”

這段經歷直接影響了我後來的職業發展。確實,為什麼要一輩子做爬坑的那個,而不試著拿過挖坑的鍬呢?這就開啟了我轉變的第一步:擺脫接需求→做開發→交結果的被動思維,站在如何做成一個對企業有用的專案的角度思考問題。

上一個臺階看問題,就發現影響專案成功的因素有很多,技術只佔其中一部分。特別是銷售、市場、運營類專案。這些專案本質上還是要和人打交道。無論是做經營分析、做精準營銷、做個性化推送、最後還是要靠各部門通力合作。從做好專案的角度來看,還是有很多發揮餘空間的。

<img src="https://pic1.zhimg.com/50/v2-f32bdc0c75c3eebc937d71f41296679a_hd.jpg" data-size="normal" data-rawwidth="512" data-rawheight="432" class="origin_image zh-lightbox-thumb" width="512" data-original="https://pic1.zhimg.com/v2-f32bdc0c75c3eebc937d71f41296679a_r.jpg">

專案成功八要素

這個時候,開啟第二步思考:如果讓我自己來挖這個坑,我會怎麼挖?順著這個思路,我開始反覆覆盤自己經過的大大小小的專案。站在專案全域性而非僅僅是分析建模的角度去覆盤問題。覆盤的時候經常會遇到資訊不全的問題。很多資訊被業務部門掌握。這時候就充分發揮自己愛好喝酒擼串的優勢,廣結善緣。有不懂的直接拉夥伴出來吃個飯討教,進步的速度還是很快的。

這樣我便慢慢走上管理道路。之後5年,我做的技術方面的東西越來越少,最後徹底轉向業務方向。等到我有了自己的團隊,就幾乎不怎麼碰程式碼了。然而,我在專案裡承擔的責任一點都沒有減輕,因為除了技術以外,真的還有很多工作需要做的。

<img src="https://pic4.zhimg.com/50/v2-d2e23ca1ac0d45770ce510577257e546_hd.jpg" data-size="normal" data-rawwidth="953" data-rawheight="507" class="origin_image zh-lightbox-thumb" width="953" data-original="https://pic4.zhimg.com/v2-d2e23ca1ac0d45770ce510577257e546_r.jpg">

這裡大部分是軟實力,可這些軟實力能結結實實的為專案保駕護航

有些同學可能會說:這已經是管理工作了呀。確實如此。不過做技術出身的人做管理,會比業務線出身的人有一定優勢。我們瞭解技術實現的具體方式,純業務出身則把它看成一個黑箱。這樣我們能更準確的評估問題,找到靠譜的解決方案。而純業務出身的經理人,經常把專案拖到坑裡去。

比如這5年來,我服務的很多客戶是傳統行業,他們想搭上O2O、網際網路+、消費升級、新零售等新東西的順風車。然而,相當多傳統行業經理人缺少對技術的基本瞭解。就拿精準營銷類專案舉例。他們只能從結果,看到別人發了一個簡訊,做了一個推送,但完全不知道在這背後隱藏著多少東西。這就導致,他們會低估投入成本,高估了效果。最後做起專案來各種東施效顰。

而我參與專案時就發現:相當多的傳統企業,資料建設都很滯後;不同系統資料間缺乏關聯,基礎資料欄位缺失嚴重;一線業務部門和總部脫節;尾大不掉、驕兵難馭的情況也很常見。我從不會急匆匆向客戶說:“使用者畫像系統一般有三層結構”“關聯分析常用Apriori演算法”這些話。而是從最基礎的資料欄位、採集流程入手,先摸清水到底有多深。在設計方案的時候,先考慮合作部門的利益,儘可能把其他部門拖下水。這樣專案的資料基礎很紮實,推進阻力相對小,分階段輸出成果。幾年下來,累積的口碑和經驗還是不少的。

在這種工作中,我也慢慢清晰了自己在團隊中定位。我主要負責和客戶站在一條戰壕,面對各方挑戰,諸如:“憑什麼這個專案值得投入300萬?這個專案能為公司創造多少業績?到底這樣驗證推薦系統效果?這次營銷新增業績多少?憑什麼說新增業績是系統的功勞不是銷售部的功勞?”掃清了這些障礙,客戶在公司裡有個更大的功績。專案的費用、時間、成果認證也就有了保障。剩下的交給更年輕,更有活力的小夥子們。現在我的團隊裡也有很年輕的做演算法的小夥。他們比我懂得多,比我搞演算法有熱情。幹活的時候他們打主力,我就打個輔助。然而我卻並不擔心被他們取代,大家合作的很愉快。

之後就發現,當找好自己的定位以後,就不會害怕新人的崛起。因為大家各有各的長處。總的來看,新人重技術,老人重結果。新人喜歡高精尖,老人喜歡穩重實。

新人看PPT,都喜歡說:哇塞,這一頁好漂亮,用什麼排版工具畫的?老人看ppt,都先問這個是做給誰看的,想表達什麼。

新人做分析,都喜歡先想:這個問題可以用個什麼模型。而老兵去做分析,都喜歡先看:你們的資料是從哪些系統產生的,產生資料需要什麼流程,有哪些欄位,這些欄位在業務上有什麼含義,基礎質量如何。

這是中年人的優勢。經歷多了以後,我們就不會急於炫耀技巧,而是認真的圍繞結果想過程。過程越細越好,每一個忽略的細節,都可能是日後爬不出的大坑。

然而,技術出身的往業務或者管理上走,也有特殊的缺點。性格可能是一個方面,好在我個性比較活潑,在這方面沒有很大阻礙。業務經驗是另一方面,做業務的人筆桿子很硬,嘴巴很鋒利,很多時候討論起來,你明明知道他在瞎扯,就是扯不過他。為此我也在不斷努力,比如上知乎寫文章也是練習筆桿子的方式之一。

可能有些同學會覺得這個過程太辛苦。然而,想要不被淘汰就是要辛苦啊。或者很辛苦的擠出時間學習新的技術,保持不被時代淘汰。或者很辛苦的克服能力短板,向綜合方向發展,往業務和管理上走。其實,大家細想一下,那些被中年危機淘汰的程式設計師,不正是趁著年輕進了大公司,做個螺絲釘,之後生活安逸,技術沒進步,業務沒長進的人嗎?

當然,還有其他很多方式可以走出程式設計師中年困局。就我身邊的朋友:

有些和別人合夥創業做CTO去了

有些在大企業混個技術管理崗安穩度日

有些轉身做新入行的培訓(學會Java,走遍天下!)

有些把BI分析部改成AI分析部,繼續在技術領域奮戰

總之保持努力,保持進步,總有好前途,與大家共勉。

連結:https://www.zhihu.com/question/264237428/answer/320325900

來源:知乎