1. 程式人生 > >突破技術發展瓶頸、成功轉型的重要因素

突破技術發展瓶頸、成功轉型的重要因素

640.gif?wxfrom=5&wx_lazy=1

本文來自作者KARL--DujinYang 在 GitChat 上分享「如何突破技術發展瓶頸、成功轉型?」,閱讀原文」檢視交流實錄

文末高能

編輯 | 飛鴻

杜錦陽:如果連熱情都無法保證,怎麼確定你能繼續往前走呢?

640?wx_fmt=png&wxfrom=5&wx_lazy=1

  • 我們所要關心的問題到底是什麼?

  • 技術遇到瓶頸?不知道如何轉型?有點迷茫了?

  • 做了幾年技術不知道以後怎麼樣?想做管理,又不知道有哪些途徑?

  • 不知道新任技術領導會遇到哪些挑戰?

  • 不知道除了技術還能幹什麼?

開發的道路上,大多數伴隨著未知和風險,風險來自哪?也許很多人不知道,有的是外包猝死有的是外派到國外後失聯有的是落下了頭痛和其它的職業病等,還有一些我們未涉及到的

政治風險,看似遙遠,卻是離我們部分程式猿很近,也許某天的地鐵上你身旁站著的程式猿就是這一類。

所以,無論是大神或是專家,首要建議的,必定是健康,如果你加過班,通宵趕過專案,犧牲所有時間保證專案的上線,那麼你一定懂得,健康才是最重要的。 

工作幾年後的,首要關心的,一定不是什麼技術,而是自己的身體,所以請記住,健康,是第一位建議每隔一段時間就去體檢一回,畢竟IT這個“高危”行業。

0?wx_fmt=png

很多在工作幾年後的程式設計師們普遍會比較焦慮,思考的是自己技術上沒有提升或者以後該幹什麼?那麼,技術遇到瓶頸怎麼辦

其實不然,技術並沒有瓶頸,而是自己的思想陷入到了死迴圈裡,大多數想著這門語言技術已經學會,並沒有太過於深入,新技術層出不窮,你都學會了?

不,也許你看了,可是你並沒有深入的去了解過,有些時候是自己知道要去補充哪些知識卻沒有主觀意識去做,如果你深入瞭解完這些知識,你還覺得技術遇到瓶頸?

如果還覺得遇到瓶頸的話那麼恭喜你,你可以升級去貢獻開源框架讓大家使用,第一可以幫助他人第二也可以監督自身並提升自己的技術,因為此時的你,已經有足夠的實力去幫助其他人解決一些別人所不能解決的問題了。

但是也有的人想著轉型,因為他的職業生涯走了很長的一段路,要麼繼續幹技術,要麼轉架構或者管理,往往很多人到了某個特定的時期都會面臨著這個選擇,這個時候,我們需要確定四點:

  1. 心態

  2. 喜愛

  3. 進步

  4. 關注

這四點決定著你以後,首先要擺正好心態,畢竟迷茫期工作也是會受到影響的,其次,沒有好的心態,是學不好任何技術的,試想,如果你每天抱著惶恐的心態,那麼連程式碼都碼不好,完全不在狀態中,連工作都無法保證的人,怎麼轉型?

其次,要確定自己喜歡的領域,如果不是自己喜愛的領域,哪怕轉型過去了,也是無法確定自己能保證這份熱情,如果連熱情都無法保證,怎麼確定你能繼續往前走呢?

然後,我們需要進步,這個進步不是平時講的學習,而是保持思想上的進步,程式猿,並不僅僅是極限於程式碼的,以前我常和學生講這個問題,但是很多學生並不能體會,因為並沒有達到一定層次的工作經驗和領悟,所以,無論是否理解,請記住,進步,並不止於程式碼。

最後,我們需要時刻關注未來的動向,好比人工智慧和深度學習,幾年前就有的概念,只是如今被一些媒體拿出來炒作後才得以強化市場,所以,我們關注市場的動態就好比給自己放了一個方向在那裡,機會無處不在,夢想還是要有的,說不定哪天實現了呢?

0?wx_fmt=png

我相信,大多數做了幾年技術的程式猿們都會思考一個問題,如何轉管理?不限於理論,我們需要準備:

  1. 管理知識

  2. 開闊視野

  3. 資本市場

第一點需要做的是補充管理的理論知識,畢竟,這不是矇眼實幹的,不同的環境不同的團隊不同的公司所需的管理也是不同的,程式碼敲的好並不代表你管理上也會很好,所以,多讀書總是沒錯的。

第二點無論是專案上還是交際上,要改變自身現在的狀態,需要付出實踐行動,平時可以多和朋友出去玩,也可以多參加技術沙龍活動,同時通過不同的渠道認識更多的大牛,同時也可以開闊視野和見識,這個往往是程式猿所缺乏的“交際”。

第三點資本市場,一談及資本市場,大多腦海裡閃現的應該是“資本市場怎麼玩?”或是“關我P事”,不要緊,大致瞭解即可,因為大多數已經過了風投期,只需要知道大概即可,有興趣或是不瞭解的可以私下加我。

職位如果走上了技術領導或CTO,或者還是任職碼神的,無需擔心,每個公司的框架和架構都是不同的,所用到的技術也是不一樣的,所以不需要太擔心技術性問題。

如果接手了公司這個位置,只需要跟著專案和公司的進度走,把邏輯理清,剩下的技術性問題都是一些小問題,因人而異,但對於多年的碼神來說,這些都是“so easy”了,搞不定,那就來找我吧。

0?wx_fmt=jpeg

“不幹技術了,我要回家種田。”一句玩笑話,卻代表了萬千程式設計師的心聲,不是真的不幹了,而是不幹技術了我們還能做些什麼?其實一開始我們的思路就限定在了一定的局域範圍內,所以我們一直覺得好像沒什麼可以做的了,只是我們固化了這層思想,所以你就會覺得不做IT了,就好像沒什麼好做的了。

從產業到職業,IT市場佔了一大半,難道一百多種你都挑不出一樣自己做的?

換個方向來說,你搞個淘寶或者電商,時間長了使用者有了,日常生活總不是問題吧?時間長了,說不定升級天貓呢?什麼,你說這有點難?

其實這就是我想說的,做什麼事沒有不難的,想空手套白狼,除非你像奧特曼超人一樣,從外星球飛入地球打個怪獸然後附帶接受人類的祝福,沒看懂?

打個比方,房地產用貸款的資金去蓋樓出售給購買者獲取利益一樣,市場有著太多可玩性,古董拍賣會、渠道資源、天使投資、土地煤礦行業等等……看懂了嗎?

各行各業都有自身賺錢的門道,入了門才能瞭解各行各業的規則,如果實在不明確自己是否適合做什麼,建議就從自己的愛好下手,喜歡做什麼就先去做,先入行再說,然後再看是否適合自己,慢慢的挑選,每個人的機遇都不一樣,每件事情都沒有定域的。

所以,先挑一個簡單又適合自己的下手作為試練才是上上策,哪怕不是做產業,那,一百零八種職業中難道都沒有你勝任的其中一種?所以說,不要擔憂,每天過得充實才是最美好的,世界如此美好,你的身邊,也並不只有程式碼。

0?wx_fmt=png

生活才剛開始,慢慢來,別急,首先得踏出第一步,實踐去改變,道理誰都懂,可是想得透徹想得明白並著手去做的人,佔少數,貴在堅持,一點點看到自己進步。

最後目標才會現形,你的問題在於還沒做就開始想得太多,《安徒生童話》裡面有著一句話至今我印象深刻,“只要你是天鵝蛋,就是生在養雞場裡也沒有什麼關係。”

 所以,當你對所處的職位已經有了一定的瞭解,開始覺得自己如同“行屍走肉”的工作,成為一個開發工具的時候,那就應該要明確一下自己的發展方向了,程式設計師也許天生都有著一種逼迫感(包括快30歲的)總會想著再過幾年應該怎麼辦?這時候,你就更應該明確一下目標,努力向自己的發展方向前進了。

迷茫,總是一貫的想法,那現在歸納一下,可從下面幾項裡選擇適合自己的一條道路:

1. 從技術向業務過渡

國外大部分都比較重視人才,並且國外很早就發展機器學習這個方面了,國內應該是近期才火起來,而外企中一個高階的程式設計師與一個專案管理者Project Manager收入相差一般不超過30%。

國內由於培訓結構的介入,人才氾濫的情況經常可以看到,尤其是在一些小公司或是創業公司裡面經常會遇到這種,但不否認這確實幫助了一部分小白完成了轉向,因為在大學裡大部分都是沒怎麼學的,對技術和專案更是一知半解,雖然大部分是被忽悠進去的。

所以,從一個技術員過渡到一個PM是一條向前發展的一個選擇,但同時也需要知道,要成為一個PM不單單是技術,而更重要的是對管理方面認識。

一個PM主要的工作是組織團隊,控制成本,管理業務,控制專案進度,與客戶進行溝通,協調工作,定期進行工作報告等。

所以要成為一個成功的PM更要重視組織能力,PM必須能提高團隊的積極性,發揮團隊所長,在有限的開發資源前提下為公司得到最大程度上的利潤。

成為一個PM後,通常不需要直接接觸技術開發,而著重管理的是業務發展,但PM對技術也需要有一定的瞭解(在下曾經為PM對技術瞭解的必要性寫過一篇文章,得到很多支援但也惹來不少的爭議)。

在這裡我還是要強調自己的觀點:要成為一個成功PM最重視的是管理能力,但對技術也應該有足夠的瞭解。

因為這是與團隊成員溝通的橋樑,只有這樣才能與整個團隊的成員有著緊密的結合,讓團隊成員感覺到他們自己存在的意義,從而調動團隊的積極性,而不是漠視技術人員的存在。

技術並非成為一個成功PM的充分條件但卻是必要條件!

2. 從程式設計師向技術管理髮展

在網上看到幾句話貼切地形容了PM與TL的區別:“技術人員樂於被’領導’,但他們不喜歡被管理,不喜歡像牛一樣被驅趕或指揮。管理者強迫人們服從他們的命令,而領導者則會帶領他們一起工作。

管理是客觀的,沒有個人感情因素,它假定被管理者沒有思想和感受,被告知要做什麼和該如何做。領導是引領、引導,它激勵人們達成目標。

領導力是帶有強烈個人感情色彩的,它不是你能命令的,也不是你能測量評估和測試的。”

其實 Team Leader 的職責與 Project Manager 很像,但是 Team Leader 更著重於技術方面,通常一個大型專案都會有幾個開發團隊由他帶領,負責核心開發部分,而其它部分分派給不同開發小組或者分派給外包公司。

無論是PM與TL,對業務與技術都要有深入的瞭解,只是PM更側重於業務的管理,盈利的多少,風險的大小等等,而TL則側重於專案的成本,開發的難度,軟體的架構等技術方面的問題。

在此時期必須注意的是與同事之間溝通,很多的開發人員喜歡獨來獨往,開發的專案總想一個人搞定,不受外界的干擾。但要明白團隊協作的重要性,就算你有再強的本事,一項大型的專案也不可能由你一個人全扛下來。

所以團隊的合作性與同事間的溝通是必要的,這也是成功一個TL的必要條件。

3. 成為行業資深專家

如果的確非常喜愛技術工作,而不擅長和喜歡與人溝通,則可以完全專注於自身的領域,以發展成為行業資深專家為方向和目標,當然,這一發展過程可能會比較漫長,任何一個領域的頂尖技術人才都需要長期的行業經驗的累積和個人孜孜不倦的投入。

不過這類人才的一個優勢是越老越吃香,當別人隨著年齡的逐步增長而開始擔心飯碗問題時,你則漸入佳境,開始進入職業發展的黃金時期。說白了,就是深入某項的技術領域。

這是提供的大致方向,比較普遍,但是每個人都可以用不同的方式成長,用自己的喜歡方式去計劃自己的未來,畢竟三十歲以後,你的選擇將變成:

  • 創業

  • 退居二線城市

  • 往高層走

  • 其它職業

0?wx_fmt=png

三十歲以前,你不需要想太多了。

總結

首先不管是從事什麼職業,都應該根據自己的自身情況,給自己做一個短期或者長期的職業規劃,這樣是為了不必要的迷茫,可以分多個TASK完成,如果要求不高,給自己定的目標不會要求太嚴格的話,過得還是會很健康的。

人活一世,健康是首位,過了是家庭,職業是其次的。也許你現在理解不了,但過了幾年,你一定會回想起我這句話的。

—— 來自程式設計N年的奧特曼超人Dujinyang

近期熱文

0?wx_fmt=jpeg

「閱讀原文」看交流實錄,你想知道的都在這裡