[心得]WebConf 2013 參加與準備心得

  • 6430
  • 0

[心得]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 的遠大前程)

ruddy

老師有著三十幾年的開發經驗,光站在台上,就是在座每一位 developer 職涯的燈塔, Ruddy 老師從不講一些空泛、打高空的東西,所以都可以很直接的引起聽眾的共鳴。

對我自己來說,感觸最深的幾句話(只擷取大意,並加入自己的共鳴)是:

  1. 為了興趣而運動的人,比起為了健康而運動的人,更能獲得健康。財富與成功也是如此。
  2. 時間管理上,「如果你還沒有自己的興趣,那麼你要注意一下了,趕快找到自己的興趣」,往往一直覺得自己都在努力工作,沒有多的空閒時間,往往越做不好時間管理。
  3. 老師推薦「放下手中的大象」這本書,有太多太多的現代人,把太多壓力放在自己的身上,汲汲於名利,卻可能達不到目的,更甚至於失去其他更可貴的東西。
    放下手中的大象
  4. 寫程式記得手不要放頭上 XD
  5. 不要害怕把自己做大,目標放在把自己做大, web 的潮流已經變成 server 為雲,其他不同裝置為 client 的情況,每個人都有機會讓自己一舉成名。
  6. 兜兜哲學,不要重複發明輪子,但也不要忽略了發明輪子過程的重要性。

 

接下來主要就是在準備自己的場子了,我的主題是:「BDD in .NET – TDD 在實務上的最後一塊拼圖

BDD session

依據這一次活動的主軸,以及聽眾的特質,我把 TDD 主題的主軸,放在「在實務上使用 TDD 進行開發時,如何整合整個軟體開發流程,以及如何讓團隊中的各個角色可以協同合作」。

最重要的精神則是「該如何讓寫出來的程式碼,能夠滿足使用者的需求」。

主要的內容大綱則是:

  1. TDD 在實務上會面臨什麼樣的問題?
  2. 如何解決團隊中各角色之間溝通基準一致的問題?(不會各說各話)
  3. 如何降低開發流程中每個階段轉換的成本?
  4. 如何讓測試案例變成每個角色都看的懂,每份程式都用的到,花的每一份功夫都是為了滿足使用者需求。

很慶幸這個場子裡有蠻多熟識的朋友,讓我比較不會這麼緊張。

感到很欣慰的是,看到聽眾的神情,我可以確定他們都聽的懂我在講什麼。會後更有許多人在路上會拉住我,興奮地跟我討論一些實務上的情況,以及該如何達到那樣的願景。我知道我這一個場子的目的已經達成了 微笑

 

接著最有印象的,當然是 Allen Own 前輩的資安 session ,這一場實在太有趣了。主題是:「你們都誤解了,網路是很安全的!

Allen 一路都以輕快的節奏,拉住聽眾的注意力,笑聲不斷,卻又可以讓聽眾不停地吸收演講內容的精華。

主要的記憶點:

  1. 「七龍珠哏」由此而生啊!
  2. 什麼叫 Hacker Friendly … show 給你看。
  3. 介紹了 hacker 通常會由哪幾個方向下手,再不斷的「軟土深掘」,直到他爽為止。
  4. 打破了許多常見的迷思 (一切都是無知、無能、無恥造成的啊…)

內容實在相當精采,也相當有感,讓聽眾既歡樂又學到相當多知識,也足以證明 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 有著不少的疑問。

例如:

  1. 強型別的必要性
  2. 參考到的 library 都需要轉成 ts ,才能享受到完整的好處。面對一些 library 更換版本相當迅速的情況,是否會有什麼副作用。
  3. 不用 Visual Studio 是不是就很難使用 TypeScript
  4. 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,這邊列出來,請有興趣的朋友自行參考:

  1. 劉宇庭 (Justin Liu) - Web 專案管理,何不找 NAS 幫你?
  2. Gias Kay Lee - FSM FTW!
  3. Zhusee - TubeNews.in: a backend-free YouTube “News Channel”
  4. hothero - 客製化 Google Map 的圖層
  5. danix - 國內雲端主機 VPS 經驗談 (完全打臉!)

by the way, 趁著上課的空檔,跑去跟 twMVC 社群的朋友聊了一下,那兩天也有蠻多朋友詢問到新書的事,感謝各位朋友的詢問與讚賞,希望這本書能在農曆年前出版,讓各位有興趣的朋友,可以在春節期間,除了打打麻將、打打牌、玩十八豆仔以外,還可以補充一些成長養份,我相信一定也有很多人,太久沒寫程式就會手癢的!還敬請大家期待一下囉!

下圖是我跟在 twMVC 攤位顧攤的另位一位作者:demo 。(其實他們才是主要作者,我只是插花的...)

 

結論

以往參加的 conference ,其實主題都蠻明確的,今年參加 WebConf ,加上主軸有 designer 與 developer ,相較之下廣度真的廣很多,而這些相當厲害的講師也可以把很深入的東西,講的很好懂。

這次收穫真的很大,出來外面的世界看看,真的覺得自己實在太渺小了…不斷的接受刺激,就不斷的湧出熱血,獲得了成長的動力,以及不同面向的養份。

更有幸的是,能藉著這機會,認識幾位講師,了解在不同領域下的高手,是如何設計與規劃系統的。期許自己可以更努力一些,更成長一些,希望自己可以在某些領域上與他們一同分享、討論與成長。

也很誠摯的希望,未來還有其他機會,可以幫助到更多的聽眾或朋友 微笑

最後也要感謝一下,所有熱血、熱情的志工們,沒有你們的幫忙,活動不會這麼圓滿!

相關參考

  1. WebConf 官網
  2. Facebook 粉絲團 (本文的照片來源,都從粉絲團相簿而來)
  3. WebConf 2013 懶人包

blog 與課程更新內容,請前往新站位置:http://tdd.best/