cwenwen / notes

Notes on web development
8 stars 0 forks source link

「程式導師實驗計畫」課後心得 #21

Open cwenwen opened 5 years ago

cwenwen commented 5 years ago

背景介紹

北一女、台大政治系畢業的我,這輩子還沒坐過辦公室。我非常喜歡電影,欣賞注重細節的工匠,所以上一份工作是電影特效化妝師——看 reference 把寫實的畫面重現,最擅長老妝。

我迷上的事情就會認真去做,從大學以來做過劍道校隊、機車研究社社長。近年在實踐大學服裝設計全修班學做衣服、拿了倫敦 Academy Of Freelance Makeup 的 Total Pro Creative Specialist Certificate、學了鋼管舞。

除了看得見的技能以外,我大量閱讀並樂在其中,喜歡思考,喜歡鍛鍊大腦和心智。近年來看過的書都做成書摘。我很愛看書,coding 是除了看書以外第二件讓我專注到忘記時間、感受不到旁邊動靜、沈浸在自己世界(也就是進入 flow)的事。

我在人生各個階段都會被問到「為什麼你要做這個?」這次的轉職也不例外。
聽過一個說法:我們擅長的、做了很開心的事是舒適區,完全不會的事是恐慌區,在這兩者之間的區域是學習區。學習也就是脫離舒適區的過程。

我的動機就是這個:不斷踏出舒適區,做不擅長的事,像打遊戲開地圖一樣,把舒適區越變越大。
這是我這輩子一直在跟自己玩的遊戲。

給考慮轉換職涯,卻遲遲踏不出第一步的人

當我們面對轉變職涯的抉擇,「過去為了達成目標所做的一切努力都付諸流水」的想法,可能會成為最大的心理障礙。如果努力多年好不容易爬上高階職位,發現自己其實過得很辛苦、想要離開這一行,大概很少會有朋友安慰你說「這是人生旅程中的一部分」或是「其實過去完全沒有白費」。

事實上,後面這句話有一部分是對的,你在之前職涯中習得的技能,可以成功應用在其他領域——但這樣的陳腔濫調並無法安慰那個當下的你。此外,你也可能不願放棄給了你地位和歸屬感的工作認同。結果我們會發現,自己不斷在和過去拉扯:順從於以前的自己,而不是我們想要成為的自己,因此無法下定決心做新的嘗試。

我們可以想像,自己彷彿陷入了兩種遺憾之間:第一種是遺憾自己放棄了投入多年的職涯,包含所耗費的時間、心力和情感。另一種則是在老年回顧人生時,遺憾自己沒有離開那份無法帶來成就感的工作。

那麼我們在做決定時,應該優先考慮哪一種遺憾?答案是後者。

最新的心理學研究顯示:最耗蝕心力的遺憾就是,無法採取行動實踐自己心底最重視的事情。隨著時間過去,我們沒能做出的選擇,會越來越盤據心頭,而「要是我……」的想法,也會讓我們的人生蒙上一層陰影。哲學家 A. C. Grayling 的看法也很相近:「如果人生在世有什麼值得擔心的,那就是過著可能會抱憾終生的生活。」

- How to Find Fulfilling Work, Roman Krznaric, 2012

課程感想

先講結論,我還沒上完課程,做了第十二週前兩個作業後,在 2018 年 12 月開始海投履歷,順利得到一些面試邀請和 offer。

老實說加入計劃之初,我還不確定自己喜不喜歡 coding,反正先試再說,大不了就像愛迪生說的「I have not failed. I've just found 10000 ways that won't work.」幸運的是,就這樣找到做起來舒服、適合我的事了(瞬息萬變的網頁開發領域,需要不斷學習以適應變化。對渴望挑戰自我的 introvert 來說,有什麼比這更夢幻的工作呢?)

我本來跟電腦完全不熟,2018 年 2 月第一次用 command line 建立資料夾時超級感動,第一期常常一邊跟課一邊暗罵(XD),對於接受文組教育、沒任何程式背景的人來說,這個計畫的 workload 還蠻瘋狂的,就像 huli 自己說的,這是一堂沒那麼適合初學者的課程

自覺報一期不夠,我報了兩期。第二期剛開始時,huli 請我在 Slack 分享心得,鼓勵一些在 JavaScript 程式基礎卡住的同學,我當時是這樣說的:

嗨~
現在很多沒基礎的同學還沒做完作業,老師請我和你們分享一下我當初的崩潰和調適。

上一期 Git、CLI、JavaScript 基礎只安排一週,第一週結束時,我作業只做出判斷質數和簡答題,兩者都還有錯誤。我一直對自己要求嚴格,這樣的結果讓我很茫然。
我花了超過 1.5 小時跟 huli 老師口頭問 Git 在幹嘛、JavaScript 在幹嘛,unit test 先不管了(那時真的零基礎的人只有我),講完後,對「程式」這件事才有了非常模糊的感覺。

第二週上前端基礎,第三週遇到過年放假!我簡直溺水者看到浮木。
因為人在英國沒有過年這件事,我每天花超過十小時做 Codecademy JavaScript,遇到複雜、不理解之處,我就搭配用關鍵字找到的 YouTube、Udemy 影片,一邊看一邊在我的 IDE 實作。
等我終於跑完 Codecademy 基礎部分,回來複習第一週的直播,終於聽懂老師的語言,我簡直要哭出來。

我到第四週才把第一週作業補齊,到第八週才把第四週作業補齊,到現在 SPA 留言板還做不出來。但我沒退出,我再報一期。

回來看自己第一期的作業,幾乎都是有做完就很滿足了,很多都做得很掉漆。
我把作業全部重做一遍,現在才剛開始,就學到非常多當時還看不到的。

我想說的是,這是你自己的旅程,好好看著自己就好。

我很謝謝 huli 老師開了這個課,讓我不用再自己一個人找書、過濾網路上良莠不齊的心得文。
老師用他超過十年的經驗給予明確的方向,讓我知道什麼是重要、現在該花時間弄懂的(這很重要);在同一條船上的同學也會分享筆記、好東西;看同學的程式碼,研究不同邏輯,也讓我學到很多。

我現在還是有一堆基本的東西不會,上禮拜猛然才發現 markdown 換行要空兩格(難怪有時按半天 enter 都沒用)。
你說這很難嗎?一點都不會,但每個人吸收知識時會有不一樣的盲點,這非常正常,笑一笑就好了。
一旦靠自己的力量 debug 成功,或解決了卡住好幾天的問題,那種滿足感讓我覺得一切都好值得。

跟大家說個好消息,這兩週 JavaScript 基礎告一段落後,會開始做一些真的可以看到的東西(漂亮的網頁~)真的沒有那麼難,也很有成就感!熬過此關,暫時(XD)就海闊天空囉。 大家一起加油吧~

我在全力衝刺時,每天花超過十小時學習。從早上六點張開眼睛,一直研究到晚上睡前。上第二期時,做出簡易計算機仿 Google 表單串接 Twitch API 的直播列表和自己的小練習 123 後,我以為已經可以開始找基礎的工作,卻被 huli 打槍。我花了一天來沮喪,之後開始看 React 和 Node.js,在接下來的兩個月做了 Node.js 留言板Node.js 短網址生成器、React 小練習 12。huli 終於說可以投履歷看看了,結果就如前面所說,順利得到大約五十個面試邀請和一些月薪 40k~50k 之間的 offer。

其實第一期招生結束後我才發現這個計畫,本來想說如果沒辦法參與,我就跟著這個五個月的計畫上面列出的資源來自學,幸好那時報名的人不會太多,huli 就讓我加入了。我覺得這個計畫非常珍貴之處(也是我選擇環境時,很在意的點),就是老師提供的即時 feedback

據說傳奇教練 John Wooden 只有 5% 和 6% 的話是在表揚和批評,他不關心好壞,而是發不同的指示,75% 的話都是非常具體的給予 feedback,他在訓練場上的話永遠很短,沒有一句超過 20 秒。這是最好的教練,他不是鼓勵你、給你做長遠的安排,而是不斷地對你任何細小的動作提供 feedback。

每次交作業發 PR 後 huli 的 code review、Slack 上的即時回答、在學生還沒準備好時狠狠地打槍—— huli 一直在給學生最關鍵、最簡潔的 feedback。帶著筆電聽一個老師在 100 人的課堂上講課或是跟線上資源自學,都遠遠比不上直接向 mentor 請教的來得直接,我認為這才是真正有效的網路課程,huli 的意見,是教科書上沒有、這行前輩總結出的,最值錢的經驗。

我下禮拜即將加入的團隊也是如此:在面談前仔細看過我的程式碼,面談時和收到我的測驗答案後,給予大量的 feedback。若被問到「你理想的團隊?」我都是這樣回答:「希望能找到重視思考過程、重視細節、英文能力佳、樂於學習新技術、對前端有高度熱情的夥伴一起成長。」工作是生活很重要的一塊,我不要很閒、養老、沒熱情,要做就要做到最好,跟相似的夥伴一起努力。我確實是這樣想的,如果未來的團隊不是這樣的話我也會失望。

有看過一些有年紀的 senior(不一定是工程師),他們把自己會的東西看得很重要,不願分享也不願踏出舒適圈。huli 是這類人的相反,他前進的同時不藏私,不斷地反省、進化。huli 也是我認識的人裡,openminded 前幾名的人。溫和、謙虛、不會評斷他人。我覺得一個人若擁有這些特質,不會輕易被摧毀。

在這一年裡,我不只是學了一個工作技能,而是進入了一個新的生態圈。這個圈子的強者都謙虛且樂於分享,我在踏入程式世界之初就能接觸到其中一位,真的很幸運。感謝 huli,能加入這個計畫真是太好了!