[心得]WebConf 2013 參加與準備心得
前言
今年很榮幸獲得龍哥跟 P 董的邀請,得以參加第一屆的 WebConf ,並在第一天負責一場 session ,內容請參考: [BDD][TDD]BDD in .NET–TDD 在實務上最後一塊拼圖 (投影片分享)
其實很慶幸自己負責的 session 排在這麼前面,因為自己負責的 session 講完之後,就可以放寬心參加所有有興趣的 session ,好好當隻寄生蟲,吸取一下各領域前輩的靈氣。
準備的心情
在一開始知道 WebConf 這個活動,看到這麼多不同領域赫赫有名的講師,就覺得這講師陣容也太豪華了一點,感覺就像剛進店裡,就跟老闆講旗艦級的套餐先來一輪的 fu 。
當下其實心裡覺得有點忐忑,這些講師群的等級也太高了一點,相較之下自己是什麼咖,加上自己要講的東西又這麼冷門 (BDD? TDD 搞不好都沒人要聽了…),還以 .NET 為例,在兩天的場子的 session 裡更是少見,而且主題跟 web developing 和 designer 好像也沒有什麼太大關係。
雖說有點挫,但再怎麼樣也不能丟龍哥和 P 董的臉,也不能搞得好像 .NET solution 很遜一樣,只能盡力準備硬著頭皮上了。
這一次的 session 時間與一般活動相比,相較之下比較短,有 40 分鐘與 30 分鐘兩種,我是比較沒把握,所以挑了 40 分鐘的課程。
在活動前一個月,大概把主題相關題材準備好,直到活動兩週前第一次準備完 slide ,自己順了一遍之後,決定把內容跟範例都砍掉,因為實在敲不中我想講的點,太多技術面跟細節的東西。因為聽眾並非全部都是 developer ,也很多人不懂 .NET ,更別說 TDD 系列相關需要知道的各個技術環節。這樣的 slide 只是講給自己爽的,並不是以聽眾為出發點。
活動前一週,第二次準備完成,順了一遍,覺得挺通順的了,是我想講的東西,但是再講一遍時,計時完的結果竟然接近60分鐘!距離原本期望只講 35 分鐘,留 5 分鐘 Q&A 的落差太大了。加上這次的課程安排,跟前面的 session 是無縫的,最好是可以壓在 30 ~ 35 分鐘,會比較剛好。
因此,活動前三天,第三次的修改又把一堆投影片砍掉, demo 只講重點,目的只是為了讓大家看到 TDD 完成體的 vision ,才把時間完美的抓在 33 分鐘左右。
很難得準備課程 re 稿 re 到沒啥聲音,但就跟我想講的主題的重點一樣:「寫程式不是寫給自己爽的,重點要滿足使用者的需求」,演講也是如此,演講的重點在於:
聽眾才是主角,講師不是講給自己爽的。課程的價值不是用來炫耀講師有多厲害,而是聽眾離開教室時,可以有多少收穫,可以對這主題激起多少熱情跟衝動。
Session 回顧
一開始到會場,其實就覺得動線排的相當順利,工作人員也都很努力的在引導大家,完全可以感受到大家的熱情!其實一開始沒有想到,一張門票一千三,可以在四分多鐘就銷售一空!也沒想到,一個颳風下雨的週末,學員報到率還可以到九成多,幾乎每個場子都是滿滿的學員,聚精會神的在聽課。其中還有幾位是遠從台中自費上來的大學生,真的讓人感到很欣慰、很欣賞、很想給他們個大拇指!
兩天研討會的開場就是 Ruddy 老師的 key note ,再次證明了,到了一個 level 以上,什麼樣的場子都可以震的住,什麼樣的聽眾都可以滿堂喝采!
老師的主題是:「Making it big in web. (開發 web 的遠大前程)」
老師有著三十幾年的開發經驗,光站在台上,就是在座每一位 developer 職涯的燈塔, Ruddy 老師從不講一些空泛、打高空的東西,所以都可以很直接的引起聽眾的共鳴。
對我自己來說,感觸最深的幾句話(只擷取大意,並加入自己的共鳴)是:
- 為了興趣而運動的人,比起為了健康而運動的人,更能獲得健康。財富與成功也是如此。
- 時間管理上,「如果你還沒有自己的興趣,那麼你要注意一下了,趕快找到自己的興趣」,往往一直覺得自己都在努力工作,沒有多的空閒時間,往往越做不好時間管理。
-
老師推薦「放下手中的大象」這本書,有太多太多的現代人,把太多壓力放在自己的身上,汲汲於名利,卻可能達不到目的,更甚至於失去其他更可貴的東西。
- 寫程式記得手不要放頭上 XD
- 不要害怕把自己做大,目標放在把自己做大, web 的潮流已經變成 server 為雲,其他不同裝置為 client 的情況,每個人都有機會讓自己一舉成名。
- 兜兜哲學,不要重複發明輪子,但也不要忽略了發明輪子過程的重要性。
接下來主要就是在準備自己的場子了,我的主題是:「BDD in .NET – TDD 在實務上的最後一塊拼圖」
依據這一次活動的主軸,以及聽眾的特質,我把 TDD 主題的主軸,放在「在實務上使用 TDD 進行開發時,如何整合整個軟體開發流程,以及如何讓團隊中的各個角色可以協同合作」。
最重要的精神則是「該如何讓寫出來的程式碼,能夠滿足使用者的需求」。
主要的內容大綱則是:
- TDD 在實務上會面臨什麼樣的問題?
- 如何解決團隊中各角色之間溝通基準一致的問題?(不會各說各話)
- 如何降低開發流程中每個階段轉換的成本?
- 如何讓測試案例變成每個角色都看的懂,每份程式都用的到,花的每一份功夫都是為了滿足使用者需求。
很慶幸這個場子裡有蠻多熟識的朋友,讓我比較不會這麼緊張。
感到很欣慰的是,看到聽眾的神情,我可以確定他們都聽的懂我在講什麼。會後更有許多人在路上會拉住我,興奮地跟我討論一些實務上的情況,以及該如何達到那樣的願景。我知道我這一個場子的目的已經達成了
接著最有印象的,當然是 Allen Own 前輩的資安 session ,這一場實在太有趣了。主題是:「你們都誤解了,網路是很安全的!」
Allen 一路都以輕快的節奏,拉住聽眾的注意力,笑聲不斷,卻又可以讓聽眾不停地吸收演講內容的精華。
主要的記憶點:
- 「七龍珠哏」由此而生啊!
- 什麼叫 Hacker Friendly … show 給你看。
- 介紹了 hacker 通常會由哪幾個方向下手,再不斷的「軟土深掘」,直到他爽為止。
- 打破了許多常見的迷思 (一切都是無知、無能、無恥造成的啊…)
內容實在相當精采,也相當有感,讓聽眾既歡樂又學到相當多知識,也足以證明 Allen 的演講功力真的相當深厚。
接下來 Richard 的 key note 也相當精采,主題是:「借力使力的乾坤挪移大法 - 以使用者為中心的設計決策奧妙」
介紹了軟體常見的問題,需求的變動就像舞龍中,龍頭追著龍珠一樣。
在幾種不同導向的開發方式裡面,如何以使用者為中心,來設計我們的系統。如何依據使用者的行為模式,來 fine tune 我們的系統。
重點還是要讓使用者埋單,而不是我們以這些「super user」的角度,設計出我們爽就好的產品。
Richard 也介紹了幾個實驗,在場的聽眾馬上就證明了,我們真的是所謂的 super user 。
第二天的 key note 也是相當有名的噗浪創辦人:雲惟彬,主題是:「錯失過的機會」
(key note 的場子,在國際會議廳看起來就是壯觀!)
接下來開始第二天的課程,印象深刻的是 ihower 介紹的 SPDY,主題是:「A brief introduction to SPDY - 邁向 HTTP/2.0」
對這一場印象這麼深刻的原因是:我壓根沒聽過 SPDY ,身為一個 web developer ,我一整個汗顏。
ihower 真的介紹的很好,因為把 http 協定原本的作法,可能碰到的問題,如何做稍微的改進,到最後為何產生了 SPDY 的協定,來龍去脈介紹的一目了然。
接下來有印象的是 Hitomi 的 「溝通的藝術:設計與開發如何真心合作?」
這一個場子大爆滿,堪稱這一次 WebConf 的奇景啊!
因為太晚到沒有座位坐,又不想跟人家人擠人,加上這一軌偏 designer ,所以拍完整場爆滿的盛況後,我就跑去 developer 軌聽課了。
接下來是聽 保哥的 TypeScript介紹,主題是:「TypeScript 開發實戰:開發即時互動的 HTML5 WebSocket 聊天室應用程式 [source code]」
印象最深刻的,莫過於保哥先用 javascript 寫了一個線上互動的聊天室,開放大家隨時可以上去玩。然後就跟 Allen 說的一樣,網路是很不安全的,聊天室馬上就被 XSS 了…(聽眾真是太壞心了)
保哥把 TypeScript 主要的特色都介紹到了,不過還是有許多不同語言平台的朋友,對 TypeScript 有著不少的疑問。
例如:
- 強型別的必要性
- 參考到的 library 都需要轉成 ts ,才能享受到完整的好處。面對一些 library 更換版本相當迅速的情況,是否會有什麼副作用。
- 不用 Visual Studio 是不是就很難使用 TypeScript
- debug 的方式會不會增加困擾 (這基本上還好)
接下來則是聽 iCook 的 Richard 介紹,主題是:「打造愛料理開發及營運團隊」
Richard 介紹了很多 infrastructure 與 process 輔助的開發工具,例如 issue tracking, 版本控管, CI, testing, team co-work 的工具等等…
雖然每一個工具都沒聽過,不過腦袋裡面倒是可以 mapping 回來,在 .NET solution 中,各個面相對應的工具是哪一些,所以也還聽的津津有味的。
最後一場 session 則是聽了 Orange 的場子,主題是:「(Hacker's) Best Practice - The Upload」
一開場就很多哏,一直聽到上床是很危險的…沒法子, upload 這個字的中文很難念的。
Orange 的台風也很穩健,真的很難想像還在念書就這麼厲害,想起自己又汗顏了起來…
提到了許多因為 upload 可能可以使用的攻擊手法,針對不同的平台、套件或是語言,有哪些應注意的事項,也都點的相當不錯。
(不得不提,許多場子都會一再出現 Allen 大的叮嚀或是玉照…由此可見,駭客是無所不能的,都駭到 slide 裡面了)
最後最後,我一定要講,這一次活動,連微議程(lightning talk)都是臥虎藏龍啊,短短五分鐘裡面,要介紹自己、介紹自己要講的東西、要埋哏、要 demo 、要廣告,一些主題都超級專業。很有印象的幾個 lightning talk,這邊列出來,請有興趣的朋友自行參考:
- 劉宇庭 (Justin Liu) - Web 專案管理,何不找 NAS 幫你?
- Gias Kay Lee - FSM FTW!
- Zhusee - TubeNews.in: a backend-free YouTube “News Channel”
- hothero - 客製化 Google Map 的圖層
- danix - 國內雲端主機 VPS 經驗談 (完全打臉!)
by the way, 趁著上課的空檔,跑去跟 twMVC 社群的朋友聊了一下,那兩天也有蠻多朋友詢問到新書的事,感謝各位朋友的詢問與讚賞,希望這本書能在農曆年前出版,讓各位有興趣的朋友,可以在春節期間,除了打打麻將、打打牌、玩十八豆仔以外,還可以補充一些成長養份,我相信一定也有很多人,太久沒寫程式就會手癢的!還敬請大家期待一下囉!
下圖是我跟在 twMVC 攤位顧攤的另位一位作者:demo 。(其實他們才是主要作者,我只是插花的...)
結論
以往參加的 conference ,其實主題都蠻明確的,今年參加 WebConf ,加上主軸有 designer 與 developer ,相較之下廣度真的廣很多,而這些相當厲害的講師也可以把很深入的東西,講的很好懂。
這次收穫真的很大,出來外面的世界看看,真的覺得自己實在太渺小了…不斷的接受刺激,就不斷的湧出熱血,獲得了成長的動力,以及不同面向的養份。
更有幸的是,能藉著這機會,認識幾位講師,了解在不同領域下的高手,是如何設計與規劃系統的。期許自己可以更努力一些,更成長一些,希望自己可以在某些領域上與他們一同分享、討論與成長。
也很誠摯的希望,未來還有其他機會,可以幫助到更多的聽眾或朋友
最後也要感謝一下,所有熱血、熱情的志工們,沒有你們的幫忙,活動不會這麼圓滿!
相關參考
- WebConf 官網
- Facebook 粉絲團 (本文的照片來源,都從粉絲團相簿而來)
- WebConf 2013 懶人包
blog 與課程更新內容,請前往新站位置:http://tdd.best/