學習最重要是方法,管理最重要是高度

技術學習要兼顧深度和廣度

夯實技術基礎

這麼多年來,我面試了很多人。我越發感到「技術基礎」非常重要。

很多技術的本質是一樣的。技術基礎足夠好的話,學東西可以非常快。往下到操作系統層面,甚至計算機硬件層面,你會發現,編程語言特性和虛擬機特性不再重要。而技術基礎和具體的編程語言沒有太大關係,你有良好的技術基礎,面試什麼樣的技術人員都是無障礙的。

另一方面,計算機在軟件方面發展特別快,越往高層走,變化就越快,越往基礎走,變化就越慢。我們掌握了更多基礎,就相對更不容易被時代淘汰掉。

計算機軟件硬件發展這麼多年,最根本的東西是沒有太大變化的。這裡說的技術基礎包括計算機硬件、操作系統(資源抽象和資源管理調度)、網絡層面的 TCP 、HTTP(如果對 TCP 理解深刻,不管是中間件還是底層操作,都會遊刃有餘)、語言的虛擬機(虛擬機怎樣處理內存?虛擬機的代碼執行流程是怎樣的)、安全基礎、設計模式、方法論、數據庫和統計學等。

比如安全基礎方面,安全是有大的基礎原則的,只要理解了,在安全方面就不容易犯低級錯誤。比如 SQL 注入、跨站腳本攻擊,說白了就是要徹底理解,“數據就是數據、代碼就是代碼,代碼跟數據交換要進行過濾或者說是隔離”。

技術學習的廣度

如果具備很好的技術廣度,你就很容易做出最優的技術方案,而不是隻能是選擇自己最熟悉的東西。對技術管理者來說,具備比較好的技術廣度,我們可以跟所有崗位流暢溝通,客戶端、服務端、前端、測試、數據庫、算法工程師……技術上很多東西是相通的,我們也容易理解各種方案,不被忽悠。

一個事實是,對於大多數的技術,瞭解只需要一天,簡單搞起來只需要一週,入門可能只需要一個月。最難的是踏出第一步。廣泛看書是必要的。我買了好幾個書架的書,各個領域都買。一本書帶來的信息量和價值遠大於書的價格,各個領域的經典都通讀一遍,這個價值絕對超過幾萬塊錢購書成本。

有空的話,看技術文章、微信公眾號和博客,時不時看好書排行榜,補充一下自己對於技術實時的瞭解。我會記錄下各種地方看到的新名詞,知道這個東西大概是幹什麼的 —— 不一定馬上做很詳細的瞭解 —— 以後如果用到就會想起來。

多學幾門語言突破自己的舒適區,沒有那麼困難。我由 .Net 轉 Java 也只是一週多時間,Java 的東西和想法 .Net 也都有,並沒有什麼太特殊的,只要把基本的 IDE 調試一下,SDK 瞭解一下就行。

開源項目這麼多,對於著名的開源項目,我會花個一兩小時寫最簡單的 demo ,自己調適參數,認識它怎樣運作,對這個產品有最基本的瞭解。

很多人問我 .Net 轉 Java 的想法,我覺得如果是規模偏小、偏 toB 的話,.Net 在開發效率和穩定性上面都不錯。公司互聯網化、規模大了,不管是招人方面還是社區配套,Java 更適合。

技術深度同樣重要

技術深度和廣度相比也是非常重要的。

具備了技術深度,遇到問題可以快速定位並從根本上解決。如果對技術底層不瞭解,你可能只能猜。有技術深度之後,學習其他技術可以更快,再深入其他技術就不會怕。

對於技術深度,看書的作用不大,技術深度的探索主要是需要實踐,在實踐的過程中踩坑填坑得到經驗。對於實踐最好的方式是自己寫代碼、做實驗,自己證明結論。找自己的興趣點造輪子,比較一下誰造的輪子更好,甚至開源出來和大家共同切磋。

我自己寫過 MVC 、RPC 、IOC 以及底層的網絡框架,雖然只是自己寫著玩,但是這個過程對我的幫助很大。

閱讀源碼很重要。那些演化很久的源碼肯定有非常多的精妙設計和性能優化技巧,肯定也是踩過各種性能上的坑。

分享和社區貢獻也非常重要。只有自己 100% 理解,你才能分享;別人給你反饋,你會學到更多。

分享和幫助他人,樹立個人品牌

打造個人品牌很重要。但是,打造個人品牌不等於到處宣揚,重在分享和幫助別人。

我一開始喜歡論壇,從 CSDN 開始,做過 .Net 版塊版主;自己寫博客,在博客園曾經排名前十;自己寫過書,也翻譯過大量的書;有機會的話,我會去做線下分享。

把技術整理成細緻的技術網絡,這對自己在技術上的提煉是非常好的。如果是線下分享,你可以深挖自己的興趣點,以最簡單的語言分享給大家。

我覺得混論壇、寫博客、寫書給我的個人品牌和技術成長的幫助非常大。當然,寫書和翻譯書最重要的是把事做好,而不是為了讓書上有你的名字。

多管齊下的英語學習方法

英語是非常重要的。用英文關鍵詞在 Google 搜索技術問題,是更容易快速找到真正答案的。國外的英文社區很活躍,一手技術資料也多;等到有中文資料再看,往往已經落後半年甚至一年了。在工作中和老外打交道,口語足夠好就會比較方便。另外,英語還可以擴展事業和提高生活質量,比如國外自由行或者看美劇。

學習最重要是方法,管理最重要是高度

我在大學英語很差,畢業以後第一家公司就是外企,之後慢慢對英語感興趣了。上班的人沒有太多的集中時間去學習英語。我總結了對工作的人比較容易實踐的英語學習方法,這裡分享給大家。

讀,從翻譯開始

讀可以從翻譯技術文檔和技術書籍開始。積累基礎詞彙和基本表達,至少看英語數據就不需要翻字典。這個過程非常快,翻譯一兩本書之後,你就可以徹底拋開詞典了。

還要強迫自己優先閱讀英文資料。技術資料的閱讀是第一層次,生活化閱讀更難。找喜歡的小說甚至打英語遊戲,這些難度比技術資料高很多。後者是更長的過程。

隨著閱讀的增多,不再需要查辭典,其實不難。一年以後,看各種資料都不再需要字典 —— 當然你可能寫不出來,但你知道這些意思。這是一點問題都沒有的。

寫,從工作相關的文檔博客開始

如果沒有外企經歷,可以寫英文文檔、博客或者生活日記,不斷鍛鍊,同時也是在輸出和分享。英語和中文一樣,普通表達、正確表達、精確表達和優雅表達四個層次有很大區別。只有大量閱讀之後,你才能體會到詞與詞的區別,你的寫作才會更優美。

如果更有興趣,可以閱讀專業寫作類書籍,比如美國大學英語寫作。還可以將中文譯文進行反向翻譯,對比自己的譯文和原文的區別,這樣你就能知道 Native Speaker 跟你的表達的區別:哪些是不成熟的?哪些是不正宗的?

聽,從技術視頻開始

學習最重要是方法,管理最重要是高度

聽會更難,需要的時間也更多。

可以看技術視頻入門,比如說 YouTube 上有很多國外大學授課視頻,不但能夠學技術,而且能夠提高英語的聽的能力。比如斯坦福的 iOS 課程、深度學習課程。在這裡,你可以聽老外正常語速下的表達,而不是英語學習材料裡的很慢速的表達。習慣正常語速對聽力非常重要,而看授課視頻是對自己比較簡單又受益的方式。

對我來說,最重要的是看美劇。工作的人沒有太多時間專門學英文,但是你還是需要休息,看美劇確實是比較好的方式。反覆的看,帶中文字幕看、帶英文字幕看、不帶字幕看、不看屏幕純聽……我一開始看美劇,只有 30% 可以聽懂,一步步走下去,200 小時、300 小時之後甚至六七百小時之後,質變發生了,耳朵一下子變靈敏了,大部分都可以理解、都可以看懂了。

我現在看大部分的美劇不需要字幕也非常適應普通的語速,聽力的養成基本全靠看美劇。不管你信不信,在沒什麼聽力基礎的情況下,堅持看老友記之類的美劇三部,之後你的聽力一定基本過關。

當然也可以聽自己感興趣的播客,也能夠進行訓練。這跟美劇不一樣,這個本來就是沒有圖像的,你可以在開車的時候聽,你可以在地鐵上聽,這個都是可以的。有條件的可以裝衛星電視,直接收看國外的電視節目。

說,從簡單的關鍵詞開始

說是最難的。最重要的是認識音標。核心是重音。重音讀不對,就完全不是這個詞,而變成了另外一個詞。

可以購買口語課程,和外教進行口語對話。在開始階段,你的表達不流暢,可以抓關鍵字,這樣別人一聽就知道你想說什麼。不要用很複雜的語法和很多修飾詞,只要說關鍵詞就可以。隨著時間推移,慢慢的你就可以從中文翻譯到英文,變成英語思維直接表達。

學習最重要是方法,管理最重要是高度

管理,最重要的是招到優秀的人

多招聘優秀的人,構建梯隊

找到優秀的人,招聘到優秀的人,如果可能,讓優秀的人儘量多,這對團隊是非常關鍵的。為什麼要盯著優秀的人?優秀的人做事效率比一般的會高几倍,而且它們更可能做出正確的決定,決策過程能夠比較快速同時不需要你去糾正。

最重要的是,優秀的人是自我驅動的,還可以影響帶動周圍一批人。還有一點就是,他可能會做出意想不到的創新,這些創新對團隊可能是革命性的變化。

接下來在團隊構建方面,還有些要注意到。首先是不要怕比自己強的人出現,你作為技術管理者,本身就不應該是技術最強的。有能力的管理者,哪怕是不懂技術,都可以非常好地管理所有技術人員。

而這裡面,如何甄別和篩選?試用期很重要的,要敢於及時淘汰不合格的人,讓團隊裡充滿正能量。試用期得過且過,往往會給團隊帶來很大的副作用。

要儘可能讓團隊技術統一,減少管理成本。之前我帶的某個團隊,大部分是 Java ,只有一個 php 。從我的角度,這位 php 同學也要培養,也需要上升空間。我花了很大精力瞭解和培養他,但事後來看這對於整個團隊管理是非常不值得的,時間完全浪費掉了。

在團隊規模大了以後,要構建有梯度的團隊。必須有非常牛的架構師,也要有剛畢業有衝勁的年輕人做梯度。類似的,要需要培養優秀的副手,給自己留時間做更高層的事情。

學習最重要是方法,管理最重要是高度

管理要以身作則,也要真誠相待

我覺得,團隊管理重要的是以身作則。在團隊氛圍上,要構建學習型團隊,鼓勵開源,甚至可以制定相應規章,增加一些財務上的獎勵。

要真心真意對待團隊成員和幫助大家。讓團隊成員明確,工作和個人成長要兼顧。對於太注重工作的人,要告訴他怎麼樣成長。對於注重個人成長而不把工作放在心上的人,要告訴個人品牌和職業素養非常重要,確保工作的前提下你的個人成長才更有價值。

儘量保持團隊的工作量,忙起來以後就不容易多想了。即使我們處於平穩階段,也要想怎樣讓產品更好、怎樣做創新、怎樣更高效,讓團隊忙碌起來。要讓大家知道,做這件事情是為什麼,而不僅僅是告訴他完成這件事。共同的目標很重要,大家認可目標,才會做得更好,才會主動從自己的角度考慮如何實現目標。

做事要目標導向,思考要有高度

我堅持做事情目標導向。設定目標之後,要有必勝的信念,這樣就能夠忽略過程中的一切困難,包括職位的邊界、所謂甲方乙方區分之類的。

要多思考多分析。很多時候,你感覺走不下去了,其實就是一個很小的點在阻礙,分析出困難本質就很容易突破,而不是過早下結論說無法完成。之前,有同事問我,我要做這個,你看是不是可行?我評估後覺得不可行。同事告訴我其他公司就是這麼做的。後來我仔細想了一下,確實是有辦法繞過之前想到的限制。最後同事告訴我,那家公司其實也沒有實現。當然了,多分析同行的產品也是很有幫助的。

最後一點,站在更高的位置思考。這樣才能理解上級決策,然後從公司角度做出更有利的決定,甚至是從社會價值角度做出更好的決定。只有思考層次更高,你做出的決定才會更有高度。

學習最重要是方法,管理最重要是高度


分享到:


相關文章: