最近在和團隊成員一對一溝通的時候,聊到比較深入的地方,得知大家有一個擔憂和想法:擔心現在工作上的積累,包括對業務的深入了解和產品相關技術的深入學習,以后到了新的項目上可能不適用,因而自己會變得沒有競爭力?;谶@樣的想法,會刻意花不少時間去學習其他“有用”的技術,可能和產品用到的完全不相關。
剛開始聽到這樣的想法有點吃驚,但是想想大家有這樣的擔心也不奇怪,其實有這樣的思考也是負責任的態度,畢竟現實中很少有人一直在一個項目中做非常久,也許只有Windows,Office這樣的產品有工程師可以連續做個二三十年。擔心自己的競爭力沒有問題,但是這樣的做法是有效的嗎?
下面想說說我個人的觀察和思考,希望能給大家一些參考。
首先這樣的想法忽視了一個現象。那就是個人的成功往往是和產品或者團隊的成功聯系在一起,這個不是關于團隊的口號, 而是在我觀察到的很多地方都是這樣,包括我工作過的地方。分析下來,其實原因也很簡單。
1. 只有產品或者項目成功了,整個組織才能獲得發展和成功,才會從市場獲得比較豐盛的回報。這個是大的環境和前提。
2. 在一個組織里面,成功的項目通常也對應著成功的團隊,是因也是果。而成功的團隊才更容易有優秀的個人出來,同樣,是因也是果。
所以從這個角度,如果大家不能一起努力把產品和項目做得更成功,其實在組織里面,大家的發展都會受到影響。
也許大家覺得上面的團隊說得有點虛,那我們看個具體的。
觀點很簡單:不和實際需求和問題結合起來的技術學習和研究很難深入。
關于這個方面我可以舉出很多的例子,任何人在任何一個技術方面稍微深入了解后都可以舉出例子。
比如1:HTTP協議
這個如果是業余學習下,說起來很簡單,看下Richard Stevens的書,然后學習下RFC,自己用Firebug等工具抓包看一下,了解一下各種返回碼的意義。然后給自己一種錯覺,真的是錯覺,我對HTTP協議已經懂得不少了。
但是我相信大家在實際中都會發現,這樣的理解相比我們這些在工作中要用到的人,遠遠不夠,因為還有太多的重要的細節,比如1.0和1.1關于連接和請求的處理的不同, 各種header的意義和用法,如何做緩存,還有cookie,還有不同的HTTP代理/反向代理,還有如何做性能的優化,還有安全性的問題,等等。
一個只是業余看看的人,我相信很難在這方面專深,一方面是上面覺得自己懂了的錯覺(真的很多人有這種錯覺,就像很多人因為看了幾本C++的書,寫了些課程作業,就在簡歷里面說精通),另一方面就是他沒有遇到工作中這樣的需求和問題,“逼”著他去做深入的學習和研究,以便高質高效的完成自己的工作?;谶@樣的原因,使得無法深入的學習。
類似的例子還有很多,比如電子郵件,對于很多人來說,就是收,發,回復和轉發等,學習了一下的人知道有SMTP協議的交互過程,還有MTA,MUA,MDA 等概念。但是做了幾年的電子郵件的項目后,回頭看看我發現里面的細節真的太多了,光一個MTA的核心參數都有上百。一個業余看看的人如何能夠深入學習和了解呢。
編程語言也是一樣,業界有一萬個小時的說法,公司也有PHP相關的T4專家,如果和工作從來不相關,隨便看看學學,兩天就能寫代碼了,也覺得自己“懂”了。其實這樣的“懂”了,又有多大意義,這樣淺的積累真的能讓自己更有競爭力嗎?至少在我看來,如果一個人和我說自學了下PHP,但是從來沒在任何實際的工作中用過,我不會認為是加分項,充其量也只能算有點上進心。
如果大家認同業余學學,不和實踐結合,很難專深,那么接下來的一個問題就是這樣的一個對比,那種人更有競爭力?
一個在少數的某幾個方面比較專深 vs 在大量的地方有泛泛的了解但看不出重點
以我了解到的情況和面試的經驗,對于工作年限越長的人,后面的那一種越沒有競爭力,很少大家會愿意招一個這樣的什么都懂一點,什么都不精的人。之所以不愿意,原因至少有三點:
1. 這樣的人,工作好幾年了,應該算資深了,但是在哪方面資深了呢,看不出來,所以沒有競爭力
2. 關于招聘,有一個得到很多公司(包括我們公司)認可的STAR方法,簡單的說就是去了解候選人在特定的situation下,接到的具體task,他采取了什么action,最后得到了什么result。某種程度上,是一種以過去的行為來推斷未來的表現的方法,可能并不完美,但是很多時候靠譜。換句話說,一個在以前工作中泛泛的人在未來也是泛泛,而項目組應該不想要這種人。
原文轉自:http://blog.csdn.net/superqa/article/details/7893777