大約在今年一月底完成了在 AppWorks 七個月的實習。以往都是在剛結束感受最深時把想法分享出來,但照 Taleb 所說,能沈澱下來的才是資訊。所以這次我會試著用實習結束半年後的角度,分享在 AppWork 這段時間實習給我的影響。
但首先不免俗的,還是要先介紹 AppWorks 是什麼樣的公司。
所以說 AppWorks 是做什麼的?
這大概是開始實習後最常被問到的問題。首先,讓我們簡單認識一下 AppWorks。
AppWorks 是一家「推動網路產業」、「幫助新創團隊」的公司
基於上面的定義,AppWorks 對外發展出三項主要的功能:創投 VC、加速器 Accelerator、學校 School。
簡單來說
- 創投是投資標的為新創團隊的投資公司(詳細可見這篇或這篇)
- 加速器是幫助新創團隊成長的機構(詳細可見這篇或這篇)
- 學校則是幫人轉職成為軟體工程師的學校兼慈善機構 XD(詳見官網介紹,AppWorks Medium 則可以看到畢業學員們的分享)
我自己喜歡的解讀方式是:AppWorks 的三項功能主要就是為了分別滿足一個新創團隊成功的三個要素:資金、能力、人才。
接下來我不會仔細介紹 AppWorks 的工作,而會用列點的方式,把在這裡半年覺得重要的幾個想法記錄下來。
戒掉看中文媒體的習慣
這是 AppWorks partner Joseph 的忠告,也是在結束實習的半年後能夠深刻感受到改變的地方。這邊所指「中文媒體」比較偏向「翻譯文章」,而我自己感受到看中文媒體的風險如下:
翻譯品質
看中文媒體的風險有幾個,其中最顯而易見即是「翻譯品質參差不齊」,這風險輕則閱讀不順,重則扭曲原意。
想像今天要針對一個團隊做 Due Diligence,或是對特定市場做研究,錯誤的資料源頭若沒有經過查證,細微的翻譯誤解也可能被層層放大成造成錯誤決定的原因。
資訊時差
除了翻譯品質的問題,另外一個潛在的風險則是「資訊時差」。我們能大致想像,世界上「大部分」新知識或想法的傳播方式如漏斗,按照「原文文章」、「原文演講」、「原文書籍」、「翻譯文章」、「翻譯書籍」的順序過濾,每傳遞一層,整體的資訊量就減少。
翻譯成中文的文章及書籍雖然經過過濾,原文本身的品質也許因為篩選而較高,但其中犧牲的就是時間延遲。
按照 Xdite 講過的話就是:
一直以來,我注意到牛逼的思想,在翻成中文前至少要等待 6-12 個月的出版社翻譯。如果能拿到這些最新的思想,在現在這麼講究信息差的社會,無非是一大殺器。
資訊廣度
最後,看中文媒體的另一個風險則是你知我知大家知的視野問題,中文媒體的市場需求本來就無法跟英文比,因此資訊量跟涵蓋範圍本來就很難相提並論。戒掉看中文媒體的習慣去強迫自己多接觸原文,長期下來很明顯地可以幫助我們有能力跟管道去接觸更新更廣,甚至更冷門的資訊。
重新看待教學的方式
在 AppWorks 的後五個月,我都待在 AppWorks School。如上所提,AppWorks School 是一個教人寫程式,幫助人成為工程師的地方。但不像傳統學校,AppWorks School 的教學方式相當特別。
沒有講課的教學
在 School,沒有講師會在台上手把手教你如何寫程式。學生學習的方法是透過動手去實作一個又一個的專案及目標。
簡單來說,這就像給你一個任務,要你在幾個禮拜內做出一台車子。但在這段時間內,不會有人教你怎麼做,你唯一的工具就是 Google。
當遇到困難時,你可以先跟其他同梯的學生互相交流資訊,只有你快陣亡時,老師傅才會跳出來,告訴你 Google 什麼關鍵字可以救你一把,再不行,最後才會秀出他自己做好的車子讓你研究。
對於工程師而言,做中學是痛苦但有效的方法。如果有人手把手帶著我們一步一步實作功能,我們雖然可以較輕易地完成作品,但卻也很難馬上發現自己的盲點。
從嘗試自己寫,到用 Google 嘗試尋找解決方法,最後真的遇到困難後,再跟程度相當的同學互相交流,這個過程雖然比較容易卡關,卻可以很有效地挑戰自己的盲點。
關於這種不一樣的學習體驗,詳細引用自 AppWorks School /iOS Class#4 畢業的校友 Francis 的分享
“導師就是常常打我們臉的那號人物,在 School 實作導向的規劃下,除了一些經驗分享外,他大部分的時間都不會主動餵東西給我們,而是給我們研究方向或是查詢的關鍵字。
一開始相當不適應,跟以往的學習經驗截然不同,但習慣後才發現這樣對我來說才是正確的學習方式!若學習都仰賴一個人帶領,哪一天沒前輩鋪路分享經驗了,是否還能夠繼續學習?”
迎頭趕上
「迎頭趕上」的概念是上學期修電機系的課時,李琳山教授所說。這個概念是在講:
“學問太快了,你一定追不上的,唯一的方法是迎頭趕上。
例如說一個學問,幾十年之前開始發展到現在,長得很遠,你花了很多時間唸了一些東西,但是他長得更快,從後面永遠都追不上。
什麼是迎頭趕上?你要知道他的基礎是哪些,找到基礎之後直接跳到最新的部份,當然你會有不懂的地方,你這時候就繞回去找你需要的東西,看懂之後你就可以直接跳到最新的地方去。”
這個概念在 School 中也有深刻的體會。要在幾個月的時間從非本科轉職成為工程師,勢必需要犧牲或跳過一些基礎,把時間先花在最緊急且重要的地方。
舉個例子,對於前端工程師來說,資料結構及演算法可能對找第一份工作就不是那麼必要。要能夠花更少的時間成為稱職的工程師,勢必在最基礎穩固後,就必須跳去學業界應用端所要求的部分。而最基礎與業界應用之間的差距,則是在遇到不懂時才回去像撿石頭般,一顆一顆撿回來。
AppWorks School 時常會辦一些校友分享的活動,請已經轉職成功的前學生分享經驗。其中校友有一段話十分讓人印象深刻,這段話大致是說:
當初遇到有些底層的地方還沒搞懂就要進行到下一階段時,總是覺得不太踏實。但導師說這些你之後變強一點回來看就能簡單弄懂了,現在你要搞懂太難了。
現在回想,如果當初一直拘泥在那一個個小細節,勢必會拖累學習的進度。在要快速成長的時候,適度先放棄自己不會的地方,等到回頭再撿,雖然心裡可能不踏實,但卻更有效率。
如何撿石頭
如同前段所說,在迎頭趕上後,要往下一個階段前勢必要把之前沒有撿起來的石頭一顆顆撿起。而撿石頭的其中一個方法就是讀書會。
撿石頭的過程跟學應用端酷炫的技術相比,常常是無趣且漫長。透過讀書會社群的力量去降低學習的阻力,是學習「不緊急但重要技能」很好的方式。
在 School 的幾個月,很幸運能夠跟畢業校友參與讀書會,一起把資料結構的石頭撿起來。不管是對於轉職後的工程師又或是自學者來說,資料結構就是屬於那些「不緊急但重要」的石頭。像這種學起來沒那麼有成就感的知識,透過社群互相幫忙的力量學就是相對合適的方法。
註:關於李琳山教授所說的「迎頭趕上」,我覺得另外一種理解的方式是,你要如何趕上那些在某個領域遠比你有經驗或比你聰明的人。這就像如何在一個競爭飽和的市場賺到錢,你可以選擇差異化或是比競爭者服務好十倍。你要如何迎頭趕上比你強那麼多的人,你可以專注在他們不想做的冷門領域,或是比他們努力十倍。
但如果你要追逐的人比你努力、比你聰明又願意做任何領域,那就:)
尋找自己的成長痛
在 AppWorks,做筆記是每個實習生都會做到的一項工作。在 AppWorks 可以做筆記的場合包括 Accelerator 的講師幫新創團隊上課、新創團隊跟 AppWorks Partner 的 Office Hour 以及申請 Accelerator 新創團隊的 interview。
而實習生的工作就是整理對談的內容、寫下自己的 Summary 跟 Take-aways 並寄給所有 AppWorks 的同事。
如何做「別人也能看懂」的筆記
剛開始做筆記時通常分為兩個階段:在聽課的階段,就專心聽談話內容,把聽到的重點列點記下來。而等活動結束後的整理階段,再開始整理筆記架構、精簡文字、把邏輯相關的歸類,最後完成讓沒有參與到活動的人也可以藉由筆記馬上掌握到重點。
剛好在暑假的時候有一個參與 Summer Associate Program 的 MBA Intern Thomas 跟我們一起工作,當時剛來 AppWorks 因為聽說 Thomas 是之前待過 BCG 的顧問,就好奇去看他做筆記,一看才發現原來連做筆記這件事也能被海放到這種程度。
Thomas 做筆記的方式幾乎是把我的兩個階段合在一起。在聽的當下除了把重點記下來,還動態地調整架構,把新紀錄的重點直接歸類到與邏輯相關的區塊。談話結束,筆記就幾乎完成到別人可以清楚看懂的程度。
成長痛來自明確地感到不舒適
對我來說,剛到一個新環境,最快適應和趕上別人的方式就是找到一個讓自己有成長痛(Growing Pain)的學習模式,然後想辦法去克服它。
而找到讓自己有成長痛最好的方法就是在做一件事時,去挑戰身邊做那件事最強的人。
而俗話說,要達到目標最快的方式就是直接模仿。因此之後有做筆記的機會時,我就強迫自己想辦法跟 Thomas 一樣,能夠一邊吸收一邊整理。但天真地模仿別人十年功力下做筆記方法的結果就是開始撞牆。
成長痛是明確感覺到自己打字不夠快、中翻英不夠快、新進資訊跟舊資訊的連結不夠快、歸納速度不夠快。剛開始模仿的時候因為實在整理的太慢,有時還會漏掉新的訊息,因此事後要聽錄音,才能夠完整完成一份筆記。
克服成長痛之後
但模仿的好處就是經過一陣成長痛後,如果夠痛,那至少可以達到「雖不中亦不遠矣」的程度。雖然常常還是沒辦法一次到位地整理到自己滿意,但整理的時間確實減少了不少,且這種記筆記的方式也帶來另外一個好處。
如同我自己一直以來都很認同的學習理論,「吸收如果沒有咀嚼,則資訊只是被下載到你所紀錄的媒介上,而不是真的進入腦袋」。記筆記也是如此,一開始列點做筆記的方法就有點像打逐字稿,只是反射性的一直抓每一個句子或段落的重點,資訊只被下載到電腦的文件當中,最後都還是要等到整理時才會比較用力思考每段重點。
而邊記筆記邊整理的好處在於,它可以強迫你在第一遍就用力動腦。用這種方式即使整體花費的時間變少,但對於資訊的印象卻可能遠比兩階段記筆記還深,因為你在吸收的同時就開始咀嚼,這樣你更能夠在記錄階段就把重點間的關聯性抓住,也才能從被動吸收變成可以主動去整理。
回歸所有學習的目標
實習的最後一天
在 AppWorks 實習的最後一天,到六樓點咖啡時,看到新加入的 Intern 又君正在負責開放空間的活動 Setup,但 Setup 的過程剛好遇到音響設備故障。於是就去看看是什麼原因故障了,但研究了老半天還是沒能排除,所以就去麻煩 Joseph 幫忙。
Joseph 來之後看了一下,就用最基本固定控制變因,改變操縱變因的方式,一步步縮小故障發生的可能範圍。然後再透過經驗,一下子就把故障排除。
在 Joseph 快修好設備的時候,我就突然有預感接下來會接到什麼挑戰。果不其然,Joseph 排除故障後,馬上就問我,「從排除這個設備故障的過程學到什麼,之後遇到相同狀況該怎麼辦?」
還好因為有先預料了有所準備,所以可以順利接招,但這件實習最後一天的事卻給了我很深的印象,深刻到當天晚上喝酒唱完歌回家,倒在床上後,竟然開始回想為什麼今天早上沒辦法靠自己把故障排除。
學習的最終目的
或許設備故障在生活中不過是極為瑣碎的問題,但不可否認,我們的生活就是由像這樣的一個個細碎問題所構築。
一切學習的最終目的是什麼?
撇除學習時單純的愉悅,一切學習的最終目的是什麼?在現在這個時點,我自己覺得的答案是「一切學習的最終目的就是為了解決問題」。
「遇到一個不熟悉的問題時你能夠如何解決?」 一路上學習的知識、技術、想法,最後能夠體現在生活中的,都指向了這個情境。
演算法裡學的「動態規劃」,講的是遇到不熟悉的問題如果拆解成小問題時,如果每個小問題的最佳解可以建構出大問題的最佳解,那就應該從小問題開始解。
邏輯裡給出的另外一條路像是如果 p 則 q 不好解決,可以從非 q 則非 p 下手,然後小心日常中非 p 則非 q 的陷阱。
經濟學裡教的想法是如果要檢驗一個模型,一次只操作一個變數會是比較可靠的做法。就連操作變數得到的結果,也必須分清楚每條線的移動是依據哪個效果得來。
行銷裡學的類比,要解釋複雜概念時先從簡單熟悉的類似概念著手,降低門檻後再往下解釋異同。
這些一路上學習的東西也許都只是一片片瑣碎的知識點,但每個知識點再向下鑽深一點點就能發現,它們不只能是概念知識,而可以是幫我們解決未知問題的工具。最後套句羅胖所說的,
「如果你只是為了增加你的社會競爭力而學習,那你就會覺得你的知識裡,充滿著你的知識概念,沒有溫度。 而滿腦子概念,什麼問題都解決不了。」
回歸所有學習的目標,為什麼實習的最後一天我沒辦法靠自己把問題解決。我想在學習後自己該努力的,不單純只是把一個個概念塞入腦袋中,而是要從概念跨到現實,到能夠解決問題。
致謝
回顧上一篇實習的心得,竟然也是兩年前了。在 AppWorks 實習的感覺跟在貝殼很不一樣,但不變的是能表達的感謝,總是遠小於心中的感激。
特別謝謝我的老闆 Enid,一直做著我覺得很偉大的事情,帶領著 School,給了我很多空間揮灑卻也很願意花時間跟我討論每篇文章的細節,看到一起產出的文章還能夠持續幫助到想學程式的人,甚至能得到一些回饋真的很開心。
也要謝謝我的第一任老闆 Alyssa,帶我最快速地熟悉了 Accelerator,也願意 support 我去 School,還有最貼心照顧我們的 Shu Hua,跟讓我期待每個禮拜 Team Sharing 的鳥哥。要感謝的人實在太多,最後謝謝所有 AppWorks 的大大們、在 School 一起度過的 iOS class#4,還有最重要的,一起實習的夥伴仔們。
最後的最後,一直相信有機會能夠幫助到別人是人生最美好的事情。雖然前面這兩段旅程跟現在主要在學的東西沒有那麼直接相關了,但 the journey is the reward(每次回顧都硬要引一句教主的話 XD),如果有任何我可以幫助到你或是你剛好想接觸這些領域需要參考一些其他心得的,隨時歡迎:)