程式演算法與人生選擇 我用演算法來類比如何做選擇,說白了就是怎麼去計算,但是並沒有講程式員可以發展的方向有哪些。 所以,就算是有這些所謂的方法論,我們可能對自己的發展還是會很糾結和無所事從,尤其是人到了30歲,這種彷徨和迷惑越來越重。雖然我之前也寫過一篇《編程年齡和編程技能》的文章,但是還是有很多做技術 ...
程式演算法與人生選擇
我用演算法來類比如何做選擇,說白了就是怎麼去計算,但是並沒有講程式員可以發展的方向有哪些。 所以,就算是有這些所謂的方法論,我們可能對自己的發展還是會很糾結和無所事從,尤其是人到了30歲,這種彷徨和迷惑越來越重。雖然我之前也寫過一篇《編程年齡和編程技能》的文章,但是還是有很多做技術的人對於自己能否在年紀大時還能去做技術感到沒有信心。我猜測,這其中,最大的問題的是,目前從事技術工作的種種負面的經歷(比如經常性的加班,被當成棋子或勞動力等等),讓人完全看不到希望和前途,尤其是隨著年紀越來越大,對未來的越來越沒有信心。
同時,也是因為在GIAC的大會被問到,程式員老了怎麼辦?而在年底這段時間,也和幾個朋友在交流中不斷地重覆談到個人發展的這個話題。我的人生過半,活到“不惑”的年紀,自然經常性的對什麼事都會回頭看看總結歸納,所以,在交談過程中和交談過後,自己也有一些思考想記錄下來。因為我本人也是在這條路上的人,所以,談不上給他人指導,我同樣也是在瞎亂折騰同樣每天在思考自己要去哪兒的“一塵世間迷途老生”。況且,我的經歷和眼界非常有限,因此,下麵的這些關於個人發展的文字和思考必然是受我的眼界和經歷所局限的。也歡迎大家補充和指正。
這些東西不一定對,也不一定就是全部,期許可以讓你在年底的時候有所思考,在明年的時候有所計劃。
一個重要階段和標誌
在講個人發展之前,我需要先說一下人生中的一個非常重要的階段——20到30歲!
這個階段的首要任務,就是提升自己學習能力和解決難題的能力。這是一個非常非常關鍵的時間段!這個時間段幾乎決定著你的未來。
30歲以前,這個時間段,應該是人學習和積累的時間段,這個時間段,就是努力學習的時間段。這個時間段,你一定要把時間花在解決問題的技能上。就是說,你一定要練就成的技能是——你能解決大多數人不能解決的問題。使蠻力埋頭加班苦幹,當一個搬磚老黃牛的是肯定沒有前途的。如果你不幸呆在了一個搬磚的地方,天天被業務壓得喘不過氣來,我建議你寧可讓你的項目延期被老闆罵,也要把時間擠出來努力學習基礎知識,多掌握一些技術(很多技術在思路上是相通的),然後才能有機會改變自己目前的狀況。因為,比起你的個人未來,項目延期被老闆罵、績效不好拿不到獎金,都不是什麼事兒。
總結一下,你在30歲前,工作5-7年,你需要擁有:
高效的學習能力。這意味著——基礎知識扎實、觸類旁通、讀英文文檔不費勁、有尋找前沿知識的能力、能夠看到問題和技術的本質、善於思辯、能獨立思考。
解決問題的能力。這意味著——你要高效的學習能力、見過很多的場景、犯過或是處理很多錯誤、能夠防火而不是救火。
如果你擁有這兩個能力的現象是—— 在團隊或身邊的人群中的顯現出Leadership。
Leadership並不是當領導和經理,而是一種特征,這種特征有如下兩個簡單的表象:
幫人解問題。團隊或身邊中大多數人都在問:“這問題怎麼辦?”,而總是你能站出來告訴大家這事該怎麼辦?
被人所依賴。團隊或身邊中大多數人在做比較關鍵的決定時,都會來找你咨詢你的意見和想法。
一但你在在30歲之間出現了Leadership這樣的特征,那麼,你會進入一個正迴圈的階段:
因為你學習能力強,所以,你會有更多的機會解決難題。
你有更多的機會解決難題,你就會學更多的東西,於是你就會更強。
上面這個迴圈,只要迴圈上幾年,就會讓你人生的各種可能性大大的增加。
【 註意 】
要達到這樣的特質,需要找到自己的長處、以及適合自己的環境。就像魚的特長是呆在水裡,讓魚兒去追求陸上動物的刺激生活並不靠譜。
一般說來,有這樣的潛質的人,在學校中就應該要出現。如果你在大學中還沒有出現這樣的潛質,那麼,你在工作當中要加倍努力了(註:所謂的加倍努力,不是讓你使蠻力加班,而是讓你多學習成長,使蠻力拼命是彌補不了能力、思維、眼界上的缺陷的)。
Leadership也有範圍的,比如,身邊的朋友,工作中的團隊/部分,圈內,整個行業。Leadership的範圍越大,你的個人發展的選擇性就越高。反之則越小。
如果已到了30歲左右,還是沒有出現這樣的特征。那麼,可能未來你也很難有這樣的Leadership了。而你的個人發展的可能性可能也就不多了(sigh…)
讀到這裡,我必需要說一下,如果你已開始顯現出你的Leadership,那麼你才談得上個人發展,這篇文章後續的內容也可能才會對你有意義。
個人發展的三個方向
以我個人短淺的經歷和視野,目前只看到的人的發展有如下三個大方向(他們之間可能會有重疊):
1)在職場中打拼
2)去經歷有意義有價值的事
3)追求一種自由的生活
這三個方向,我個人或多或少都體驗過,我也見過身邊的很多人走這三個方向走的比較成功。也許還有別的方向,沒辦法,現在,我的視野就這麼大,所以,我在這裡,我主要就是談談這三個方向。Again,人有資格去走這三個方向的前提是——已有了上面我說的Leadership那種特質!
一、在職場中發展
在職場中發展應該是絕大多數人的選擇。通過加入公司來達到人生的發展。
我們經常可以看到很多所謂的“職業規劃”,但是大多數職業規劃只不過人力資源搞出來的東西,和實際其實是有很大出入的。我的人生經歷中,有18年左右是在公司中度過的,在過銀行,小公司,大公司,民營公司,外國公司,傳統IT公司,互聯網公司,不同的公司完全有不同的玩法和文化,我的經歷還算豐富,但也不算特別成功,這裡只分享一些我在職場中的心得(不一定對,僅供參考)。
1、去頂尖公司
去頂尖公司的一個目的就是讓你的Leadership的範圍的可能性擴大。
因為公司和公司的差距也不小,所以,就算你在低端公司里是骨幹份子,但在高端公司里可能只是一個普通員工(就像中國足球隊的主力到了英超可能都無法入選)。所以,在職場中,如果你要讓你的個人價值最大化的話,你一定要去頂尖的公司。因為頂尖公司里有非常不錯的工作方法和場景,這並不是能看書或是交流得來的,這是必需要去親身體驗的。所以說,在頂尖公司掌握的技能,開闊的眼界,通常來說都會比低端公司的要多得多。
另外,每個公司的工作級別都是有相互對標的,比如:阿裡的P幾對應於百度的T幾。國內的一線公司職位還相當,但是如果和國外一線公司的比,那就有差距了,而且差距還很大。比如,Google或Facebook的某個高級工程師,可能就對應於阿裡的P8/P9甚至更高。
是的,對於職場來說,如果你在頂尖公司是骨幹,那麼,你去低端公司,則有很大機會會成為他們高管和核心。就好像你在Facebook里乾三五年成為他們的技術骨幹,那麼你到BAT去成成為高管概率是非常大的。反過來,如果你畢業主去了BAT成為了一個螺絲釘,在天天加班中度過你的青春,你幹個十年能成為BAT的高管的概率可能會非常的低。
2、去真正的創業公司
去頂尖公司和去創業公司在某些時候並不衝突。不過,這裡我想講的是,一個技術能力強的人在大公司可能會被埋沒掉。因為大公司業務成功後,
成功的公司在招聘各種高級技術人才都不會成為問題,於是少你一個不少,多你一個不多。
成功的公司其整個技術體系已經完成,Legacy的問題也比較多,所以,可以供你發揮的餘地不大。
成功的公司更多的可能會想要穩定的系統,穩定必然會產生保守,而保守則產生不思進取。
所以,對於中高級人才來說,在大公司里的能產生的個人價值,可能遠遠不如那些求賢若渴、沒有包袱、可以盡情施展、相對更為靈活和自由的創業型公司。
不過,去創業公司需要小心仔細的挑選和評估,創業公司的不確定因素很多,也和創始人的因素太大了,所以,你需要小心瞭解創始人和他們的業務情況,想法和理念差不多才能更好的共事。
好多創業公司其實並不是真正的創業公司,他們創業有很大的僥幸和驅利心理,要小心甄別。因為那不是真正的創業公司。
3、職業生涯的發展階段
首先,有一個不爭事實——整個社會是會把最重要的工作交給30歲左右的這群人的。也就是說,30歲左右這群人是這個社會的做事的中堅力量。
所以,這是一個機遇!如果你有了Leadership,你就一定能在這個時間段內趕得上這個機遇——公司和領導對你寄於信任和厚望,並把重要的團隊和工作交給你。
於是,你的30歲到40歲就成了一個職業生涯的發展期,也就是你的事業上升期。如果你到40歲都沒有趕上,那麼你的職業生涯也就這樣了,老有所成的人是少數。
在你事業的上升期,你需要更多的軟技能,比如:
帶領產品和業務的發展的能力
推行自己喜歡的文化的能力
項目管理的能力——在任務重、時間緊中求全
溝通和說服別人的能力
解決衝突的能力
管理和發展團隊的能力
解決突發事件的應急能力
…… ……
另外,你還要明白在職場里的幾個冷酷的事實:
你開始要關心並處理複雜的人事。尤其在大公司,大量的人都是屁股決定腦袋,利益關係複雜,目標不一致,每個人心裡都有不一樣的想法。這個時候再也不是talk is cheap, show me the code!而是,code is cheap,talk is the matter。你需要花大量的時間去思考和觀察形形色色的人。需要耗費大量的精力在不同的人之間周旋,而不是花時間去創造些什麼有價值的東西。
你要開始學會使用各種政治手段。辦公室政治不可避免,越大的公司越重,自從你開始成為一線的leader的那一天起,你就開始成為“裡外不是人”的角色,需要在下屬和領導,員工和公司之間周旋。隨而你的級別越來越高,你需要使用更多的政治手段,你會學會審時度世的站隊,學會迎合員工和領導,學會用官員的語言說話,學會此一時彼一時,學會妥協和交換,學會忍氣吞聲,學會在在適當的時機表現自己,學會波瀾不驚,學會把自己隱藏起來,甚至你還會迷失自我,開始學會一些厚黑學,比如不得不在適當的時機在背後捅人刀子……你可能會成為一個你自己都討厭的人
聽上去真的好無聊,所以,你現在也明白為什麼高層們都看上去很忙很累,而且抽不出時間來關心細節問題,因為,他們更多的是要協調整個組織和系統來運轉,甚至還要四處周旋,各種博弈,沒辦法,這是職場的必需的東西!聽起來是不是感覺人類很愚蠢?這真是沒辦法的事。如果你不想或是也沒有能力玩這些東西,那麼你需要去那些可以讓技術人員安安心心做技術的公司。這類的公司,我見過Microsoft、Google、Amazon或是一些創業公司里都有。國內的大公司中也有讓技術人員成長的職業成長線,但老實說,錶面上看似是一個讓人專心做技術的升職成長線,但其實還是管理崗位。
所以,技術人員在職場中的歸宿有兩條路 —— 到真正的技術公司成為一個專心做技術的人,或是在成為一個職業的經理人。
二、追求人生的經歷
先說三個故事,
第一個,是在阿裡的時候,有一天在內網裡看到一個貼子,一個做產品的女孩說自己準備離職要去法國學烘培廚藝,引得大家熱評。
第二個,是在亞馬遜的美國老闆,他每年都要去報個培訓班學一個技能,比如:廚藝、開雙翼飛機、夜總會裡的DJ……、甚至去華盛頓去學當一個政客。
第三個,是在湯森路透工作時,一個英國的同事,有一天他說他離職了,和自己的老婆準備用餘生去周游世界,我問他是不是有足夠多的錢了?他和我說,錢不夠,他倆口子的計劃是,邊旅游邊打工,打工打夠到下一站的錢就走。他還說,那種用假期去另一個城市的旅游太沒意思了,如果你不在那個地方生活上一段時間 ,你怎麼能算是好的旅游體驗呢?好吧,無法反駁。
我是覺得他們把自己的人生過得如此有意思,令我很佩服。雖然跨界跨得有點猛,但是 Why Not?
在這裡,我想說,去追求一種和眾人不一樣的人生經歷也是一件挺好的事,我個人感覺,比起在職場里有趣地多多了。如果你厭倦了職場,其實為什麼不去追求一下不同的人生經歷呢。就算你不想去追求跨度比較大的人生經歷,那麼,在技術圈裡,也有很多有價值有意思的經歷也可以去的。追求刺激有意義的與眾不同的經歷的人,其實也能算是一種人生的成功,不是嗎?
如果只說技術方面,我個人看到的去追求經歷的人,有兩種追求的人其實也很成功的:
到技術創新的發源地去經歷創新。電腦互聯網各種技術的創新引擎,基本上來說,就是在美國了。我們趕上了這個時代,也選對了這個時代最火熱的行業,那麼,有什麼理由不去這個時代的技術發動機那裡去經歷呢?在美國矽谷灣區,無論是大公司,還是創業公司,都在迸發著各式各樣的創新,如果有能力有機會,為什麼不努力去經歷一下呢?不經歷一下,老了不會覺得錯過了是一種後悔嗎?
去經歷下一個熱點技術的發展。從IT,到互聯網、再到移動互聯網、雲計算、大數據,再到未來的AI,VR,IoT……,技術創新的浪潮一波接一波的過來,你是想在那繼續搬磚搬下去,是想迎浪而上去經歷浪潮,還是想成為一個隨波逐流的人?
打工也好,創業也好,在國內也好,在國外也好,這些都是形式,不是內容。內容則是你有沒有和有想法的人去經歷有意義有價值事?人生苦短,白駒過隙,我們技術人員最大的幸運就是生在這樣一個刺激的時代,那麼,你還有什麼理由不去追逐這些前沿刺激的經歷呢?
三、追求自由的生活
我相信“自由”這個事,是所有人的心中都會想去追求的。“生命誠可貴,愛情價更高,…… ”(哈哈)
但一說起自由,絕大多數人都想到的是“財富自由”或是“財務自由”,其實,並不完全是這樣的,在自由的通路上,我個人的經歷告訴我,其實,你會有很多的不同類型的自由。下麵,是我對幾個層次的“自由”的理解。
第一層自由——工作自由。人的第一層自由的境界是——“工作自由”,我到不是說你在工作單位上可以很自由,雖然有特例,但並不普遍。我想說的“工作自由”是——你不會有失業危機感了。也就是說,你成了各個公司的搶手貨,你不但不愁找不到工作,而且你是完全不愁找不到好工作。試想一下,如果是工作來找你,一方面,你就有真正意義上的工作選擇權了,另一方面,你都不愁工作了,你完全就可以隨時離職去乾你想乾的事了。此時,你就達到了“工作自由”。
第二層自由——技能自由。工作自由已是不錯,不過前提是你還是需要依賴於別人提供的工作機會。而技能自由則是你可以用自己的技能養活自己,而不需要去公司里工作。也就是所謂的自由職業者了,社會上,這樣的人也不少,比如,一些健身體育教練、設計師、翻譯者、作者……這些都可以算是自由職業者,程式員這個職業中只要不是搬磚的,有想法的,就有可以成為自由積業者的潛質,想一想,你擁有的編程能力,其實是一種創造的能力,也就是創造力,只要你Make Something People Want(YC創業公司的slogan),你是完全可以通過自己的技能來養活自己的。如果你通過某些自動化的東西,或是你在App上做了一個軟體個體戶,讓自己的收入不斷,甚至你做了一個開源軟體,社區每個月都給你捐款捐到比你打工掙的還多,那麼你就真正的有了技能自由了。
第三層自由——物質自由。我把財務自由換了一種說法。我個人覺得,除了有個好爸爸之外這種特例的情況,如果你想有物質自由的話,本質上來說,你一定要學會投資,投資不一定是你的錢,時間也是一種財富,年輕更是,你怎麼投資你的時間還有你的青春?你要把你的投資投到什麼樣的事,什麼樣的人?對於投資這個事,風險也比較大。但是,人生不敢冒險可能才是最大的冒險。這個世界有很多技術不是你能看書學來的,而要只能在實戰中學會的,比如:游泳。投資可能也是一種。只有真正懂投資的人,或是運氣非常好的人,才可能實現物質自由。
追求自由的生活,其實也是個人發展道路上的一個不錯的選擇。通常來說,自由的人,能力都不差,錢也不會少。因為,他們懂得投資。
也就是說,擁有追求自由能力的的人,
不但有領導力和創造力(也可指導大多數人並走在大多數人前面)
同時他還懂得怎麼投資(知道時間和精力和金錢應該投在什麼地方)
(註:這裡我沒有提精神自由,老實說,精神上的自由我也不清楚是什麼東西,因為我還沒有見過,眼界有限,所以先按不表了,不然真成雞湯文了)
總結
無論是在職場中打拼,還是追求精彩的經歷,還是去實現自由,我覺得都是不錯的個人發展的方向。
他們都有重疊,比如:
你可以在職場中去追求那些刺激的經歷的公司。
同樣也可以通過加入有潛力高速發展的公司來達到自由。
你也可以通過追尋不一樣的經歷來達到人生的自由。
……
總之,這裡的邏輯是——
能夠去規劃自己的個人發展的人,通常都是有很多機會和可能性的人。
有很多機會和可能性的人,通常都是有Leadership,喜歡冒險的人。
有Leadership喜歡冒險的人,通常都是學習能力強,思維活躍,喜歡折騰,懂得“投資”的人。
學習能力強思維活躍的人,通常來說,都是喜歡看書,喜歡實踐和新鮮事物,不怕艱難和挑戰,用智力而不是使蠻力的人。
懂得“投資”的人,通常來說,他們更多的關註的是未來和長遠的成長,而不是當下的KPI、獎金和晉升。
還沒關註我的公眾號?
- 掃文末二維碼關註公眾號【小強的進階之路】可領取如下:
- 學習資料: 1T視頻教程:涵蓋Javaweb前後端教學視頻、機器學習/人工智慧教學視頻、Linux系統教程視頻、雅思考試視頻教程;
- 100多本書:包含C/C++、Java、Python三門編程語言的經典必看圖書、LeetCode題解大全;
- 軟體工具:幾乎包括你在編程道路上的可能會用到的大部分軟體;
- 項目源碼:20個JavaWeb項目源碼。