NingJS 剛剛落下帷幕,參加 寧JS(JSConf CN 2016)是個什麼樣的體驗? - JavaScript 也成為一時熱議。

諸如此類技術分享會每年都有很多,熱心參加這些會議的人重合率很高,但是,

除了公費旅遊

(寧 JS 主持人 Goddy Zhao 現場統計非自費參會者,目測大約八九成)

和麵基蹭飯之外,技術分享會的真正價值何在?參會者應該以怎樣的期望和態度參加此類會議?

本文想談談我在回程路上的一些思考,以供拋磚引玉。

下策:學技術

一個很直接會想到的答案是,

技術分享會,我們當然是去學技術的

以這樣心態參會的童鞋,很容易抱怨“

都 TM 是廣告,乾貨也太少了吧

”、“

這個講得太基礎了吧,好幾年前的技術了,還來科普

”、“

這個好像很乾貨啊,幹得嚼都嚼不動啊,我沒用過這類框架,講師到底在講什麼

”等等。

那麼,我們不妨思考一下,一個理想的技術分享,究竟應該怎麼講。

以《3D on the Web》為例,講師先是介紹了 WebGL 的渲染管線,再引到很大程度上簡化工作的 Three。js,後面花了大量篇幅介紹了 Three。js 入門教程,最後展示了 AutoDesk 在做的一些非常酷炫的三維工具等等。

因為我對 WebGL 方面有點了解,所以同事問我怎麼評價這個分享。我覺得大概作者在一上臺時,分享的這個名為《How to Draw A Horse》的著名漫畫或許就是一個非常恰如其分的自我評價:

如何優雅地參加技術分享會?

如何優雅地參加技術分享會?

圖片來自:

http://

oktop。tumblr。com/post/1

5352780846

此處完全沒有黑講師的意思,對於像 WebGL 這種大部分人都聽說過、小部分人知道個大概、很小部分人真正在日常業務中有需求的技術,即使是再過幾年,仍然不會明顯提高實際使用者的比例。而如果在場的大部分聽眾並不具備圖形學的儲備知識,要講進階教程也的確差強人意。所以,這就造成了年年只能科普 Three。js hello world 的局面,當然我一再強調,這一點完全不能怪講師。

事實上,

像這個分享做到介紹一門技術能夠實現如何酷炫的效果

(對於其他框架,也可能替換成解決的實際問題)

以激發聽眾瞭解或是進一步學習的興趣,展示入門學習曲線的平緩以緩解初學者的顧慮——這幾乎就是將學技術視為目的的人能指望一次技術分享可能帶來的最大收穫了。

中策:瞭解別人遇到的問題,參考別人的解決方案,借鑑別人解決問題的思路

對於講師來說,難度很難把握。講深了,大家不知所云,要是還是個不會講段子的講師,可能大家就都刷知乎去了;講淺了,大家覺得沒啥意思,抱怨沒什麼乾貨。而更困難的是,底下聽眾的水平參差不齊,連讓大部分人滿意都很難做到。

對於這個問題,我覺得常常是聽眾對參會的定位不是很合適,有時候,也是講師對分享的定位不是很合適。

我們都非常清楚,任何一種技術的掌握都不可能在短短的幾十分鐘的分享中完成。顯然,實踐、閱讀文件、查閱 StackOverflow、看相關技術書等,是更高效的學習方法。而技術分享有其自身的價值——比如在中策中我想說的,

讓你發現一個原來沒聽說過的新技術或是一個別人碰到的問題

,下次等你碰到相似的需求或是問題的時候,就可以回想一下,以前聽過的這個技術是不是能解決你的問題。

有些講師不太注重“我講的技術解決的是什麼問題”,而一直在強調“我講的技術多麼牛逼”。

對於這樣的講師,我想說——

他要麼是一個不太稱職的佈道者,要麼就是一個惡意安利的傳銷者

我想請那些覺得不知道講師在講什麼的聽眾再回想一下,

你之所以一臉懵逼,到底是因為你對這個話題一無所知,還是因為講師沒有說清

(san)

(bian)

這到底是在解決什麼問題?

拜託,要是你對這個話題很熟悉,難道在臺上的不該是你嗎?

對於中策而言,重要的是理解講師想解決的究竟是一個怎樣的問題;他是如何解決的;(如果可能的話)更進一步地,他是如何(經過了怎樣的失敗嘗試之後)想到這樣的解決方案的。

因為他講的技術可能你(暫時)用不著,但是他解決問題的思路(尤其是踩過很多坑的老司機的思路)——作為一種更抽象的存在,是更通用,因而也更有價值的。

你可以不用在會後瞭解每個分享提到的工具或技術,但是應該對上面的這些問題有一個比較明確的記錄——無論是記在筆記本里,還是腦子裡。

上策:使自己躋身於一個更積極的技術氛圍

多年在較好的學校學習的經驗告訴我,名校的價值,相比於更優質的師資力量,一個重要得多的因素,是一起學習的優秀夥伴。

他們使你見賢思齊,成為你努力的動力和目標,而完全不會有諸如“好像抄個作業老師也完全不會知道”這樣的思考模式。

或許之前的種種經歷使你並沒有一個很好的機會進入一個有健康技術氛圍、或是有足夠業務需求鍛鍊你能力的工作環境。那麼,這樣的技術分享就是一種非常好的打破原有技術圈的渠道。

即使是處於技術氛圍非常好的公司團隊,接觸(尤其是高質量的)多樣性程式設計師仍然是有非常積極的作用的。

不要以為,你天天加班努力工作就可以比別人成長得更快——笨鳥先飛的故事,(有意)錯誤地假設了每隻鳥的效率是一致的,而我們根據常識可以知道,至少人的學習效率可以有天壤之別。

由於人是一個社會性動物,我們跟怎樣的人相處久了,也會由於趨同性成為他們那樣的人,即使我們在一開始的時候抱怨他們是多麼的不堪。

所以,和優秀的人多交流,不僅僅是為了從他們那裡學到什麼具體的知識——

一個重要得多的目的是,讓自己認同“奮鬥成為他們那樣的人”是一件理所當然應該做的事

那麼,

具體如何透過技術分享,使自己突破在公司業務中打交道的技術圈子呢

一、永遠帶著問題去

雖然技術最牛的人未必都熱心此類會議,但的確這些前端網紅們大多是抱團的,對於新人而言,可能會疑惑如何融入其中。雖說是“網紅”,我看誰也沒認真把自己當“明星”了,最多也不過是知乎抖個機靈多幾個讚的小虛榮罷了,

絕大部分大家眼中的這些前端“網紅”的都沒什麼架子的,甚至大多都是非常熱心的佈道者

那麼,為什麼常常你在微博的留言或是知乎的私信都沒有回覆呢?不要再問“在麼”、“我能問你一個問題嗎”之類的問題了,甚至連“我好崇拜你”的開頭也可以省了。

想清楚、講明白你的問題,提供足夠的資訊,儘可能不要問抽象到沒法回答的問題

——能做到這一點,基本可以不至於使你的問題有去無回。

二、嘗試做一個輸出者

但是,

“解決問題”和“加入這樣的圈子”之間還是有很大的距離的

。畢竟,如果你要的只是解決問題,那 StackOverflow 懂的恐怕要比任何一個大牛全面而迅速。

這就是技術分享會能夠提供的好機會了——

再沒什麼比這種一個炸彈可以讓中國前端倒退十年的會場更適合接觸到圈內人士了

把提問作為一種契機,是認識他們的好方法。但是,

如果希望能夠長期融入其中,

一定不可能只做一個聽眾

自己也一定需要有足夠的輸出,這樣的關係才是互惠平等、因而健康的。

三、思考!思考!思考!

即使你有機會被邀請和他們在這樣的技術分享會後一起吃飯,如果你只是聽他們談笑風生,這和在微博上看他們的段子又有什麼區別?

作為一個業務經驗不多的人,很多時候思考只能是空想。但一個有空想的人是可以和有經驗的人交流(即使是錯誤的)想法的,而一個不會自己思考的人,即使一直聽大牛們步道,也是沒法真正吸收的。

你想從他們這裡學什麼?這個問題只有你自己才能回答,而這也是決定你能從中收穫的最重要的答案。

當然,上面所說的,都只是我的一些思考,可能非常片面而狹隘。但應該也不失為一種拓寬思路的方向。

下面說一下我算是融入圈子以來的一些收穫和感想

,可能有些偏題,可自行略過。

(不要臉地說)作為一個因為寫了一本總被人以為是翻譯的電子書,網頁簡歷被盜版得滿天飛,在去年在 ShenJS 上透過 Lightning Talk 上初露頭角,以及因為一些花哨的專案吸引眼球的前端網紅圈新成員,我深知自己的華而不實和圈子裡這些前輩的差距。有時候在談到嚴肅的技術問題的時候,也會讓我覺得有插不上話的自卑。但正是這種差距的存在,才讓我這種人生觀非常虛無的人還能有點努力的動力。

很神奇的是,不知道為什麼,在這個圈子裡,我認識了非常多讓我非常敬佩的人,因為這個比例在現實中還挺低的。不僅僅是技術方面很牛,更是他們的為人讓我感覺如沐春風——包括並不限於 @徐飛、@賀師俊、@趙錦江(勾三股四) 、@大漠 。在這個圈子中,讓我有很多能夠聊得來的朋友,或者只是遠遠地欣賞他們的為人,讓我這個理想主義者在現實中還不至於那麼孤獨。

對此,我心存感激。