人最可悲的,是自己限制自己

這一兩週與幾個朋友聊天,有年輕的90後,也有大叔級的70後,這些人在我看來都是很有能力的人,但是一些喜好過於強烈,讓我不經意地回顧了我工作20年來身邊的人,有發展得好的,也有發展的不好的,有些人是很可惜的,因為限制他們的不是其它人,也不是環境,而是自己,所以,很想寫下這篇文章。

人最可悲的,是自己限制自己

(注:這篇文章可能會是一篇說教的文章,所以,可能會讓你看著犯困,所以,我會盡量地短一些,而且儘可能多講故事,少道理,這裡的故事,全是真實發生的)

幾個故事

2019年年初,我面試了一個很年輕的小夥子(93/94年出生),這個小夥子特別有靈性,也很聰明,計算機專業出身,也很喜歡技術,基礎和學習能力也很好。在我這20年來認識的人中,如果他能呆在北京、上海、深圳這樣的城市,我保證不出三年,他會成為他們同齡人中非常出色的技術人員,如果有個好的舞臺有一個好的團隊帶他,他的未來會非常成功。然而,這個小夥子有兩大喜好:1)只願(或是說被迫)呆在一個毫無IT的環境的三/四線城市,2)對技術有非常大的偏好,只喜歡Go語言,非常不喜歡其它的語言,比如:Java(離開Java的世界,基本上離開了做架構的世界(相關解釋見文末))。

他的這兩個喜好,足以讓一個未來會很優秀的人毀掉,因為,這個時代沒有限制他,他的能力也沒有限制他,但是他的意識完完全全地限制了他。

他把自己最寶貴的青春放在了很爛的項目上,就算能用一些新的技術,他也只能算是自娛自樂,在實驗室中玩玩具罷了。

他把自己的技術棧封閉起來,而直接放棄了這個時代最具工業化的技術Java,對於一個好的程序員來說,同時掌握幾門語言和技術完全是沒什麼問題,但是自己封閉了自己的視野。

實在是非常可惜,我本來是可以為他介紹到一些很不錯的公司的,但是他這樣的習性,等於自己把自己未來的門給關上了,雖然我跟他長談過,但是我也沒有辦法叫醒不想醒的人……

視野、環境和舞臺,對一個人的限制是非常大的。井蛙不知道大海,被空間維度所限制;夏蟲不知道冬天,是被時間維度所限制;圈養的動物沒有鬥志,是被自己意識所限制。

偏見和不開放,對一個人的限制是真正有毀滅性的。主動讓自己成為一個瞎子和聾子,主動把自己的能力閹割掉,這是一件令人痛心的事。想想大清的閉關鎖國是如何讓亞洲第一的北洋水師給毀掉的……

我還有個同學,他的技術並不差,就算呆在昆明這種很落後的地方,他也非常地好學,學習英文,學習各種新技術,對技術沒有任何的偏好,喜歡C/C++/Java/Python/Shell,同樣喜歡前端Javascript,對基礎知識非常地踏實,他在技術上沒有限制自己的潛力,有什麼就學什麼。後來,我帶他玩Docker/Go/K8S……分佈式架構,他也上手的很快……像他這樣的人,技術能力完全沒得說,比我還大一歲,44歲了,還是一樣的天天追代碼細節,看Youtube的各種大會,翻github裡的各種issue和pull request……

我同學這人,擁有了成為一個技術牛人幾乎所有的條件:基礎知識過硬,細節扎得深,面很廣,學習能力強,有英文能力,邏輯思維能力不錯,非常的自律,執行力也很強,抓得住重點……然而,只有一個小問題,就是沒有到大公司歷練過,我三番五次叫他從昆明出來,但是最終他都呆在昆明這個城市沒有出來,因為有所謂的家庭約束。然而,我身邊還有好些人,把自己家從北京搬到上海,從上海搬到深圳,從廈門搬到深圳……這樣的人大有人在……像他這樣的能力,在哪個公司都會是主力和骨幹,對於一個公司的主力和骨幹來說,家庭上的這些問題都是小問題都是有很多解的……

另外,我這個同學還是一個比較悲觀的人,任何事情都是先想到不好的事,他關注負面的東西會勝於正面的東西,而且他還有一定的社交恐懼,怕與人相處和交流,時間越長越害怕,甚至有時候直接跟我說,“我就是不想改變”這樣的話……其實,我以前也是一個很害怕與人交流的人,面試的時候,我根本不敢正眼看面試官一眼,也不知道與人怎麼交流。但是,我與他不一樣,我努力克服,不斷地面試,與人面對面的交流,到一線技術客服接用戶的電話,在公司裡做分享,慢慢地到外面分享……3-5年就完全克服掉了。

其實,很多事情,完全是有解的,也沒有必要擔心,自己的心理障礙也是可以克服的,重點就是自己願不願意,只要願意完成了一半,接下來就是不斷的摸爬滾打堅持了。

不限制自己的人,會窮舉各種方法來解決問題,限制自己的人,只會找各式各樣的問題或藉口。

不限制自己的人,會努力改變自己的問題和缺陷,限制自己的人,會放任自己。

另外幾個故事

我還有另外幾個故事(活到四十多,能看到好多人十幾年的發展過程,感覺有點上帝視角了)

我還有一個以前團隊裡的一個小夥,人是很聰明,但就完全就是野路子,他對技術沒有什麼偏好,一個PHP程序員,做那個Discuz!論壇,公司被併購了,轉成Java,開始研究Java的各種細節,對技術從來沒有什麼偏見,有什麼就玩什麼,每做一個項目,就算是一樣的他都要用新的技術做一遍,然後跟著我做雲計算,我教他TCP,教他C/C++,後來一起玩Docker/Go,等等,反正是一點就通,他是我見過學習能力最強的人。但是,有一個事他一直與我的想法不一樣,就是我希望他先把軟件設計好,再寫代碼,他非常不能理解,他習慣於直接動手開幹,然後有什麼問題就整什麼問題,我也很難教育他。

有一天,他電話面了一下Facebook,電話面了15分鐘後對方就放棄了,他受到了嚴重的打擊。然後,他就開始找菲利賓人練英文口語了,我也讓他做算法題,然後,他才發現,一道連算法都不是的純編程題都提交幾次都過不了,等他做完了Leetcode最初的那151道題後,整個人都改變了,寫代碼前認認真真地在紙上把程序的狀態,處理時序以及可能遇到的一些條件先羅列出來,然後,進行邏輯設計後,再寫,從此,他就開啟他更大的天地了。我後來把他推薦給了微軟,先在中國的Bing,在中國升好2-3級,然後去了美國的Azure,現在聽說他準備要跟 k8s 的 co-founder Brendan Burns 混了(雖然,他現在還在印度人手下,但是,我真的不知道他未來能玩多大,因為今年他才33歲,而且非常聰明)

他以前是把自己封閉起來的,我叫他出來,他也不出來,後來因為一些辦公室政治的原因不得不來找我,於是我就帶著他玩了兩年,跟他講了很多外面的世界是怎麼玩的,他這個人也是一個相當不善於社交的人,但是心是開放的,願意接受新的東西,雖然對技術也有一定偏見,比如不喜歡Windows,但是也不會不喜歡到完全封閉。後來我跟他說,微軟的技術相當的強的,你看到的技術只是表面,深層次的東西都是相通的,直到他到了微軟後發現各種牛逼的東西,對微軟系統的技術的態度也有了改變,而且我讓他跟我說很多微軟那邊的事,我發現,他對技術瞭解的維度已經是越來越高級的了……

還是我以前團隊的一個小夥,他是一個前端,他說前端的東西沒什麼意思,想來找我做後端,我也一點點帶他……後來,我說,你如果想要玩得好,你必需來北京,無論現在你覺得過得有多好,你都要放棄掉,然後,盡最大可能出去經歷一下世界最頂尖的公司,我甚至跟他說,如果他女朋友不跟來的話,就先分開一段時間,先自己立業,他來北京的時候,他之前的同事都等著看他的笑話,我說,那些人連想都不敢想,不必管他們。於是,他去了Amazon,再過了一年去了西雅圖,我跟他說,接下來就是去AWS,然後,如果有足夠的野心,用自己的年輕這個資本去硅谷創業公司賭一把……未來他怎麼樣我不知道,但至少他沒有限制自己,他的未來不會有封頂……

也是我的同學,我跟他在大學是上下鋪,後來他去了人民大學讀計算機博士,大學的時候做國產數據庫kingbase,然後去了一家外企,天天被派到用戶那邊做數據分析,後來,他想回科研單位做國產數據庫,我說,別啊,你的技術比我好太多,還有博士理論加持,你不去國外頂尖公司玩玩,你不知道自己有多強的,於是他跟公司申請去了國外做核心,後來因為Hadoop的原因,公司的產品最終成為了歷史,於是我說,你來了美國麼,你一定要去AWS,於是他就去了AWS的Aurora團隊,成為了AWS明星級產品的中堅力量,天天在改MySQL的核心源碼,幹了兩年,正在晉升 Principal Software Engineer ……

這裡我到不是說出國有多牛,也許你只關注能掙多少錢,但是我想說,他們之所以能有這樣的際遇,除了他們本來就有實力,還更因為他們從來不給自己設制什麼限制,就是那種“藝多不壓身”,有什麼就學什麼,有更高的就去向更高的邁進,其它的像家庭什麼的問題其實都是會有解的,真的不必擔心太多……

別限制了自己

上面的這些故事,也許你能看得懂,也許你看得不一定能懂,這裡,讓我來做個總結吧

做有價值的事。這個世界對計算機人才的要求是供不應求的,所以,不要讓自己為自己找各式各樣的藉口,讓自己活在“玩玩具”、“搬磚”和“使蠻力加班”的境地。其實,我發現這世界上有能力的人並不少,但是有品味的人的確很少。所謂的有價值,就是,別人願付高價的,高技術門檻的,有創造力的,有顛覆性的……

擴大自己的眼界,開放自己的內心。人要變得開放,千萬不要做一個狹隘的民族主義者,做一個開放的人,把目光放在全人類這個維度,不斷地把自己融入到世界上,而不是把自己封閉起來,這裡,你的英文語言能力對你能不能融入世界是起決定性的作用。開放自己的心態,正視自己的缺點,你才可能往前邁進。你的視野決定了你的知不知道要去哪,你的開放決定了你想不想去。

站在更高的維度。面的維度會超過點的維點,空間的維度會超過面的維度,在更高維度上思考和學習,你會獲得更多。整天在焦慮那些低維度的事(比如自己的薪水、工作的地點、穩不穩定、有沒有戶口……),只會讓你變得越來越平庸,只要你站在更高的維度(比如: 眼界有沒有擴大、可能性是不是更多、競爭力是不是更強、能不能解決更大更難的問題、能創造多大的價值……),時間會讓你明白那些低維度的東西全都不是事兒。技術學習上也一樣,站在學習編程語法特性的維度和站在學習編程範式、設計模式的維度是兩種完全不一樣的學習方式。

精於計算得失。很多人其實不是很懂計算。絕大多數人都是在算計自己會失去多少,而不會算會得到多少。而一般的人也總是在算短期內會失去什麼,優秀則總是會算我投入後未來會有什麼樣的回報,前者在算計今天,目光短淺,而後者則是舍在今天,得在明天,計算的是未來。精於計算得失的,就懂得什麼是投資,不懂的只會投機。對於賺錢,你可以投機,但是對於自己最好還是投資。

勇於跳出傳統的束縛。有時候,跳出傳統並不是一件很容易的事,因為大多數人都會對未知有恐懼的心理。比如:我看到很多人才都被大公司壟斷了,其實,有能力的人都不需要加入大公司,有能力的人是少數,這些少數的人應該是所有的公司share著用的,這樣一來,對於所有的人都是利益最大化的。這樣的事現在也有,比如:律師、設計師……。但是,絕大多數有能力的技術人員是不敢走出這步。我在2015年到2016年實踐過一年半,有過這些實踐,做“雞”的比“二奶”好多了,收入也好很多很多(不好意思開車了)……

莊子說過幾句話——

井蛙不可以語於海者,拘於虛也;//空間侷限

夏蟲不可以語於冰者,篤於時也;//時間侷限

曲士不可以語於道者,束於教也。//認識侷限

別自己牆了自己,人最可悲的就是自己限制自己,想都不敢想,共勉!

————————————————————

注:這篇文章就是要勸大家更為開放,讓自己有更多的可能性,能到更高的層次,做更有價值的事,成為更強更好的人……當然,如果你覺得你只想做一個平凡人,也和本文並不衝突……另外你也不要覺得這篇文章是讓你要成為一個精英,但你一定要去摸高……這篇文章是告訴你一種面對人生的思考方式,在這種思考方式下,你會有更多的可能性,更大的場景……而不是直接把自己歸到“平常人”,把自己“牆”了!

注:我以為用Java適合做架構這事應該是常識了,但是評論中有很多人非常反對這個事。那我解釋一下吧:首先,小型的項目用什麼語言都行,愛用什麼用什麼。但是,真正的企業級架構就不一樣了,其中並不僅僅只是RESTful API或RPC,還有各種配套設施和控制系統,比如:應用網關,服務發現、配置中心、健康檢查、服務監控、服務治理(熔斷、限流、冪等、重試、隔離、事務補償)、Tracing監控、SOA/ESB、CQRS、EDA……這些東西在非Java的技術棧體系內,很難看到全貌,Java強大的生態環境,就是讓你把注意力放到更高層次的架構和業務上來的。(千萬不要覺得,整幾個服務RPC一下,加個緩存,加個隊列,就能叫架構,那只是系統集成罷了)


分享到:


相關文章: