當我參加培訓的時候,我在學什麼?

2021-08-02 18:22:10 字數 3557 閱讀 2743

參加一次技術培訓,代價往往不菲,像這樣乙個四天的培訓,**是兩千多刀,你很難說出它有多值 —— 培訓的主題有一半都是我已經了解或掌握的內容,在過去的一兩個月,我還給我的 team 培訓過;另一半,其實給我空出來四天的時間,我自己看書或者讀 erlang 的文件,獲取到的知識也未必比參加培訓少,那麼,花這樣的大價錢參加的意義是什麼?

自己先想想看。

尋找合適的,志同道合的工程師?no。通過參加培訓達到這樣的目的,既不規模,也不經濟,還不如去相關的 meetup 上勾搭呢。

跟講師套磁,建立關係?hmmm... 你覺得四天能套出什麼結果?大家都是實誠的程式設計師,講究以德胡人,活好的自然互相傾慕(我跟講師約了五月份他來灣區有機會喝個咖啡聊聊);活不好,培訓完就是路人。

朝著這些方向想,too ******, sometimes *****。

其實,花錢參加培訓的終極意義是(敲黑板):你購買了一次 附帶培訓的諮詢服務。

(此處應該有黑人問號臉)

就拿我參加的 complete otp 培訓來說吧。講師 francesco 是 erlang solutions 的 founder。erlang solutions 是乙個諮詢公司,很多著名的開源專案(比如:rabbitmq,riak,mongooseim)**於他們,他們還是 erlang/elixir 大會的發起人。考慮到這樣的 profile,你去 erlang solution 買個四天的諮詢服務試試看?不定給你派個什麼水平的諮詢師來,而且起價沒個幾萬肯定下不來。兩千?做夢去吧。

這個 complete otp 的課程內容不算特別緊湊,其中,做乙個 ebank 專案的練習時間,快佔了一半。這個寶貴的問各種二逼問題的時間,你造麼 —— 絕大多數工程師都在寂靜無聲地吭哧吭哧寫**,偶爾遇到問題了問問 francesco 這怎麼回事,那裡為什麼編不過去?

這就好比你守著扁鵲,不讓他給你問診,卻讓他給你剪指甲。

或者,說個程式設計師熟知的段子:妹子對序員說你要是能讓論壇的人都吵起來,我今晚就歸你。序員在論壇裡說:php 是世界上最好的語言。。。

暴殄天物啊。

很有價值,但實現這個價值的時機不對。

全班同學彷彿只有我預先(或者之後)把 exercise 做完,而在 exercise 的時候,問課程中各種沒有來得及問的問題,以及工作中踩到的各種坑。

你看我都問了哪些很 "silly" 的問題:

等等。在 francesco 的推薦下,我甚至還讀了一些 otp 的原始碼,和他**原始碼裡的細節。

這才是有效地利用這樣的「附帶培訓的諮詢服務」。

如果你覺得我說的對,那麼接下來我們看看如何從一次培訓中收到最大的收益?

選擇合適的講師

如果抱著上述所說的目的,那麼,培訓的內容其實是次要的。既然把它當做是「諮詢」,那麼,我們需要選擇合適的「諮詢師」。

前面說了,這次的講師是 francesco cesarini,我們前面介紹過他是 erlang solutions 的 founder(這個身份暫且放在一邊不提),他的其他身份(吸引我的身份)是:designing for scalability with erlang/otp 一書的作者,erlang/otp r1 的開發人員。

也就是說,可能除了 erlang 的幾個 founder 外,如果在全球範圍內海選十個有資格講 otp 的人,他必定是其中之一,而且排位靠前。

我知道大部分讀者不知道 erlang/otp,大概也搞不清 francesco 和 san francisco 有什麼區別。我們換個角度說 ——

搞清楚了這道選擇器後,我們再出一道題:rich hickey 有個 clojure 的 培訓,或者 guido van rossum 講 dive into python,面向中級水平的程式設計師,而作為 clojure 或者 python 的高手高手高高手,你參不參加這個培訓?

做足功課

培訓上可能講到的內容,是不是先自己過一遍,把所有自己沒搞明白的問題整理出來,在培訓的過程中隨時發問呢?

工作中,我們在乙個方向上工作久了,業務熟悉了,就會成為所謂的「專家」,如果周圍的人在你的領域都遠不如你,便會自以為是。是不是可以趁著這樣的機會把自己工作中遇到的問題,不懂的,似懂非懂的,以為自己懂的,以為自己對的,都拎出來跟講師辯一下呢?

用這樣的機會跨越平台期

程式設計師估計都知道一萬小時理論 —— 足夠長時間(一萬是個約數)在某個領域的刻意訓練(deliberate training)能夠讓你成為專家。我們據此堅信,24小時學會 c++ 是錯誤的,膚淺的;相反,只要功夫深,就能學精 c++。

也似乎不太對。

因為我遇到太多幹了十幾年的平庸程式設計師了。他們似乎困在乙個無論怎麼努力也很難跨越的平台期 —— 這是一萬小時理論裡的禁飛區。

這次培訓,同學們的 erlang/elixir 的工作經驗都遠高於我 —— 我 elixir 三個月,三千行**經驗,erlang 零工作經驗。在做 exercise 前,我都搞不清楚寫**的時候什麼時候該用分號,什麼時候該用逗號。

但四天下來,我覺得我寫 erlang **的水平(雖然還是比較慢,還會漏句號)已經並不比有好幾年 erlang 經驗的同學差多少了。

這是為啥?

我想,很多人誤解了 deliberate training 的含義了 —— 朝著目標頭懸樑錐刺股是對的,但要知道該如何跨越平台期而高階。我最近每週六晚都帶著小丫頭溜冰。我知道她跟我溜得再努力,每次一刻都不停歇乙個小時滑一百圈也不可能成為下乙個關穎姍。我的上限就決定了她的上限;可是,她要是有幸跟著關穎姍滑上一年,接受指點,同樣的努力程度,往大了不敢說,一年後制霸 cupertino 同年齡段應該不成問題。

所以 deliberate training 很重要的組成部分是 feedback loop。對,我又要灌 build - measure - learn 的雞湯了。你光是機械地 build build build,沒有 measure,哪來 learn 呢?measure 很重要。更重要的是,怎麼 measure,誰來 measure?用什麼 criteria 來 measure?這很有講究。

跟著乙個高手學幾天,即便不能功力大漲,但起碼知道自己應該突破的脈門何在。我們不是都讀過令狐沖和風清揚在思過崖上的故事麼?

善用你的老師。老師不光是有血有肉的,由碳基構成的那些位,還有無色無味的,從 0 和 1 演化而成的源**們。

linus 說:read the f**king code!

我們讀一本優秀的書,就像是和作者在進行心與心的交流;我們讀一段美妙的源**,如同長輩和晚輩間的薪火相傳。這世上,也許只有寫作和編碼,能夠像無崖子渡讓內力給虛竹那樣,並不太費力就能完成知識和經驗的傳承。

讀到不通處,再和他**。

你看,傻小子郭靖,不就在七公手下,這麼成長的麼?

就寫這麼多。此致,敬禮。

head fake 1: 你以為這文章是寫給你的?不不不,是寫給我的同事的。

head fake 2: 你以為這文章是在告訴你看清培訓的意義,以及如何選擇培訓?不不不,請看思考題。

思考題:趙丹陽 08 年 211 萬美金拍得和巴菲特共進午餐的機會。他是真的為了和巴老聊天套磁尋覓投資機會麼?

當我們學OC的時候,我們在學什麼

實現部分 成員變數 屬性 init,self,super 擴充套件 件 import 引入標頭檔案,與c語言類似 ns assume nonnull begin ns assume nonnull beginns assume nonnull end。在這兩個巨集之間的 所有簡單指標物件都被假定為n...

當我運動的時候我在想什麼

記得之前看過村長 村上春樹 寫的一部作品 當我跑步的時候我在想什麼 跑步對於我來說多 少和我能扯上關係,因為從大二開始,到現在一直未中斷過跑步。然而運動對於我來說,不止是運動本身而已,而是我現在生活的不可缺失的一部分。在大二之前,基本沒有什麼跑步,最多是打打桌球。大二的時候,公寓宿舍旁邊就有乙個足球...

當我閒困的時候,我在想些什麼

必須要坦誠的是,一直以來 養成 的小傷感 無病呻吟 猶疑的 本性 使我從來都沒有真真的深入每乙個 當時 的處境,也從來沒有真正的擁有過理性思考。一些自欺欺人的藉口,也都隨著年齡的增長,不敢甚至恥於拿來遮羞了。那些曾經寫在某某空間中一類的低端趣味,也已經是我回不去也不願回去的時光,而前方,我又該如何走...