-
Notifications
You must be signed in to change notification settings - Fork 63
Description
前言
嗨嗨,我是 Derek,雖然有點晚了,但深知我是完美型拖延症的人,所以如果不趕快記錄下來,恐怕未來也只能在儲思盆裡看到了吧。
背景介紹
基本上求學時期我就是大家所謂的三類人,大學念營養,研究所跑去做基礎科學,每天跟細胞和老鼠打交道,當完兵後的第一份工作也順理成章進入了科技部下面的單位去做新藥開發相關的工作。
雖然工作很有挑戰性,也時不時會有成就感,但這真的是我喜歡的嗎?當時不斷問自己的我,後來迎來人生的第一次轉職。
由於對媒體與體育的熱愛,我進入了 yahoo,那是一個我一待就待了快三年的地方。在攝影棚打仗的日子,除了讓我碰觸到各種製作節目眉角,也讓我結識了許多好戰友。雅虎不愧是大公司,每天免費的午餐、飲料,還有拿不完的零食,讓我有時也不禁想:『就這樣一直待著好像也沒有不好』,但,這真的是我要的嗎?我又開始問我自己。
有的人很幸運,從求學途中就發現了自己喜愛的事物;有的人出了社會之後,經過不斷的試誤才終於找到;有的人則還在這條道路上前進中,所以思索了一陣子之後我決定再試試。
在美加旅行的時候,住在紐約的工程師朋友家,我覺得也是那時候讓我覺得好像可以開始嘗試看看,嘗試看看寫程式這件事,至少那個時候我是這麼覺得的,所以我回國之後就開始搜集各種資訊準備自學,畢竟學學看也沒什麼損失。
在報名之前
回到台灣之後,我找了一些文章,在 udemy 買了一些課,也有買了六角的 HTML, CSS 的課來上,但不知道為什麼我覺得效果沒有我想像中的好,也就是我看不完。
正當我開始思索是不是自己不適合學程式之際,我看到了這篇文章『零基礎的小明要如何成為前端工程師』,看完之後我只有兩個感想,第一個是連我這個沒有程式基礎的人,都可以輕鬆理解,這個思路很好我喜歡,第二個就是如果這個作者有開課我想去上!
於是,我就開始搜尋這個作者的一切,嘔不是,是他的文章們。也發現他的確是有開課的,只是課程已經結束了,而且又看到可能不會有下一期了,所以後來就決定去買一點 lidemy 的影片,並且照著『紮實的網頁前端學習路線與資源推薦』的學習路徑繼續自學。
就在學完 JavaScript,以及其進階觀念之後,突然不知哪來的想法,『不如就去求職看看吧?』,想說趕快進到業界學習,應該會變強的比較快吧。於是我就開始投履歷。
當時我丟了九家,只有一家回覆,抱著沒差就試試看的心態參加了面試前測。印象中限時 100 分鐘,需要線上完成四題,其中三題是給 input, output,要你寫出 function,詳細內容已經不記得了,只記得其中一題是要 debug,讓他可以正確執行,第四題則是給你設計圖,要你做出來跟畫面一樣的靜態頁面。
意外的竟然被邀請面試了,但條件是如果通過的話,必須要在時限內到職,由於在職的關係,我只好忍痛拒絕了邀約。這次的經驗很寶貴,他同時告訴了我,我有資格同時也還不夠格。
有資格是指,在不會框架的情況下,我還是有機會被邀請參加面試的。
不夠格是說,其實我第四題沒有解出來。放到現在的角度來看,這題應該要馬上可以刻出來,但既然我沒辦法完成,是不是有哪些地方出了問題。
我當時的結論是,我都只是照著影片來練習寫程式碼,甚至有些我也只是看了覺得自己懂就過去了。缺乏練習,也無法了解自己的 code 寫的如何,若是就這樣進了公司,應該也會有不少問題,正好當時 huli 決定要開第四期,所以我也就順理成章的報名了,想說給自己半年的時間試試看。
報名信
我想轉職成功。
這是我當時寫在報名信上第二題的答案,很普通,但我相信也是大多數同學的目標。
由於後來決定在職學習的關係,我當時的設想是平日利用上班前的 8:00 - 9:00,以及下班後的 20:00 - 24:00;假日則是預計上午 3 小時,下午 4 小時,這樣一週可以有接近 40 小時的學習時間。但要注意的是,這裡的時間安排都是最理想的狀況下,實際在執行時一定不可能這麼順利,在安排的時候一定要有這個認知。
至於為什麼我最後選擇在職學習呢?
首先,我之前有一段找工作的空窗期,我明白自己會因為這個狀態而感到不安,所以選擇不辭職(事實證明我是了解自己的);再來則是我認為工作可以適時的調劑身心,把自己從 coding 的狀態抽離出來,在做不同事情之間切換,說不定可以意外解開遇到的 bug(效果一半一半,也會因為工作太累影響學習);最後則是我相信自己的學習能力。
課程開始
詳細的課程介紹,就不再另外贅述了。
這邊以我觀察到的課程內容與實際體驗為主,如有雷同純屬巧合:
作息
這是我覺得最重要的環節,至少對我來說。
我是需要一點儀式感的人,所以我會先試著排出一套我的作息,並且持續滾動調整。
我習慣早上邊吃早餐邊寫昨天的進度報告,寫寫昨天做了什麼,感受是怎樣,並且規劃今天預計要學的東西。讀書和寫程式很順的時候,常常會進入心流,有時候一晃眼就不小心過了晚上 12 點,但如果為了要去卡這個進度而破壞心流,要再進入又要花一段時間,所以乾脆就放在早上寫,這樣晚上弄完東西還可以直接睡。
至於運動、聚會等等,就要很嚴格管控了,每週要設一個扣打不能超過,不然就是端看當週進度決定,但還是推薦適當運動保持體力,畢竟有體力才走得長久。
進度報告
進度報告就是我的一個儀式感,雖然後來我改成了 B 方案,並沒有一定要交心得,但每天交心得,會用讓我在上班前對於今天下班之後要學什麼心裡有一個底,觀看大家的進度報告,也會讓自己感受到有夥伴們一起在努力的感覺。
我覺得是個很棒的一個機制。
課程編排
老實說我個人還滿喜歡這份課程編排的,既有廣度又有前端新手的深度,但也因為學的東西很多,往往到了後期,前期的東西就忘得差不多了,這我覺得很正常。
我回憶我上次有這種感覺,應該是在準備面試題目的時候,看到題目卻腦袋空空,但這是個問題嗎?我自己覺得不是耶。
本來不常用的東西,會不熟或是忘記,就還滿正常的,這時候如果回去翻一翻筆記,通常記憶就會慢慢浮現。所以我覺得應該要做的是,讓大家培養做筆記的習慣,不用是放在部落格那種的精美筆記,而是當下咀嚼過後用自己的話大致整理過的筆記就夠了。
因為離開課程後,會一直碰到一樣的事情,你會不斷地忘記,再不斷的想起來,而自己寫的筆記就是那個重要的媒介。
會特別提這個是因為好像有印象 huli 有為此想了個雙循環的課綱,但又忘記寫在哪了。
社群交流
這一塊是我個人覺得最可惜的部分,因為我沒有好好使用。
當初課程開始時也抱持著,想到處去看同學的作業、筆記,互相交流的天真心態,但對於還要上班的我來說似乎有點吃力,所以後來就只有刷刷大家每天的進度報告而已。
再加上我也沒去過小樹屋,所以自然而然好像就沒認識什麼人了,算是如果要在職參加計畫的人要特別去思考的點,因為我覺得非本科轉職,這些人脈也是很重要的。
作業批改
先來說一下作業批改的機制。
我曾經在面試被問到課程的交作業機制,記得我描述完之後,面試官有說恭喜你選到一個好課程,給予滿滿的讚賞。
而實際的體驗上,我覺得改作業的速度可以快一點XD
因為有時候週與週之間,不一定關聯性這麼高,難保過了一兩週之後,同學們還記得自己當初到底在寫什麼,即便是相類似的課程也是一樣。以我當初為例,已經寫到 24 週了,但 21 週的作業才剛改完,我就有點無心回頭去看了,但也可能也是因為我沒有全職學習,導致學習時間的關係拉XD,所以這就是如果你是邊上班邊學習需要注意的點。
筆記
個人覺得這個很重要,我記得胡立在第零週也有貼過類似的文,你的筆記可以寫在 blog 裡面,甚至躺在自己的筆記軟體裡也沒關係,因為你到後期可能光是要唸書和寫作業,根本沒多餘的時間寫出精美筆記,但在第一次接觸時整理出來的筆記是必須的,除了方便回頭查找之外,用自己的語言寫出來的東西才能夠內化到你的腦袋裡。
線下活動
特別講一下期末那一次,那天真的各種驚喜,除了剛開始的遊戲意外的拿到第三名和一串 Lidemy 的貼紙外,也現場看到 huli 表演 b-box(如果想要看那個右下角的男人今年又練了什麼新才藝,請不要錯過),最驚喜的是發現我的大學同學竟然分別是第一和第二屆的同學,我只能說世界真的小到爆炸。
我會很建議如果時間排得開一定要去參加,這可能是少數你可以見到這些一起奮鬥戰友的場合,就算是抱持著去看看心情都好。
podcast
有一陣子很喜歡,邊打 code 邊放著當背景音,覺得效率提升十倍。唯一認真聽完全部的是 minw 朋友來上節目的那集,我覺得找其他在業界的工程師來分享,不管是生活或是做事的方式,都會是正在轉職路上的人一個很棒的指標。
方案
最一開始我原本是選 A 方案的,會換方案的原因是因為我覺得算起來,以在台北找到工作的前提下,B 方案會比較划算,所以仍然可以將我視為一個非本科轉職者。
課程結束之後
我最後大概是在第二十五週完成課程的,雖然在第十九週有寫了大致的 user story,也畫了 wireframe,但大致上 side project 是在課程完成之後才開始做的,和其他同學相比應該是晚了一點。
關於 side project 的題目,其實在交報名信的時候就想過了,當時是打算做醫院的病歷管理系統,或是棒球網站,雖然到了十九週的時候有猶豫了一下,想說會不會換題目,可以比較展現技術,但最後還是照原訂計畫。
我覺得如果你打算要在求職時端出 side project 的話,不妨可以趁課程初期提早規劃,尤其是在職轉職的人更是,否則難保你之後焦頭爛額沒有時間,或是可以找隊伍加入也是一個不錯的選擇。
當初沒有找人一起做 side project,主要原因是因為我時間不夠,當時做專案的團隊大部分都是和學習 react 同步進行的,唸書寫作業已經佔掉我大部分時間了,除非晚上不睡不然應該很難一起合作,所以只好作罷,這是在職協作會碰到的問題,事前要好好想清楚。
我的 side project 是做一個台灣職棒的官網,由於中職官方沒有提供 API,所以我還另外寫了爬蟲去爬資料,整理過後放到我的資料庫,後端做出 API 後提供前端使用,因為官網的資料實在太髒了,所以爬蟲花了我滿多時間在整理資料的,有機會再寫一篇我在實作時碰到的坎。
就這樣前前後後大概花了三週的時間,把一個有中英文化的官網架起來了,陸續也補上了明暗模式和登入機制,雖然還有超多地方可以加強跟擴充的,但當時我給自己設一個 deadline,就算還沒完成也要先稍微停手開始求職,畢竟不要忘記你的主要目標是求職而不是做專案。
在自己做專案的時候,的確會有一些問題,像是遇到問題時沒辦法討論,無法提早接觸協作可能會碰到的問題,以及思考比較單向等;但其實好處也不少,像是當我一個人一條龍把網站架起來的時候,那種成就感真的溢於言表,且因為沒有分工問題,也不用討論,所以效率上會比較好,這些都可以考慮的點。
另外,很幸運的是,我竟然釣到了另一個做台灣棒球遊戲的 co-founder 來回我的第十九週的 PR,真的讓我又驚又喜,也讓我覺得還好我最後有堅持做這個題目,我想這就是工程師社群的力量吧。
所以我覺得不論你最後有沒有做 side project,都可以持續思考自己想要解決的事情,並嘗試利用程式去解決它,這就是軟體工程師的價值所在吧。
全職求職
前面有提到我做 side project 大概花了三個禮拜的時間,為了之後能夠專心準備求職,我在做專案的前期也同步提了離職。
因此在正式離開時,我已完成專案、履歷的初版,原本以為我會有超多時間,順利找到工作,過著幸福快樂的日子。
但我錯了,我變得效率極差。
雖然每天多了 8~9 個小時的時間,但不知道是不是還沈浸在剛離職的氛圍中,整個人懶懶的,覺得還有很多時間所以一直上 yt 看廢片、聽 podcast、玩手遊,最後甚至還去投資了美股。雖然還是有陸續在投遞履歷和準備面試題,但效率就是很差,一直到第一家公司聯絡我才又振作起來。
一個維持了半年的以上的作息突然被改變,要重新建立,是需要一點時間的。雖然可能會面臨一些陣痛期,但我仍覺得全職去準備求職是需要的,至少對我來說,我有更多的時間可以複習技術題,在面試時間的彈性上也會更好。
回頭談談求職這件事。
我會說,每一次面試題目的準備,都像是對自己人生的回顧。向下不斷挖掘自己,喚醒曾經學過的知識,透過每一次面試結束後的紀錄、檢討,了解到自己的不足,並且持續進步,雖然過程是很耗費精神體力的,但這一切會以另一種方式回到你身上。
相信網路上已經有很多面試的準備方法,胡立也在影片中講了很多實用的技巧,所以就針對我在面試中遇到的,不管是問題或是經驗來分享:
每一次的面試檢討都很重要
在每次的面試結束之後,我一定會馬上找個地方把剛剛所有記得的資訊記錄下來,反正不管怎樣就先記下來就對了。
考題我一定會把它搞懂,被問到不會的東西或當場忘記我覺得都很正常,但如果同樣的題目出現第二次你卻沒有把握到,不覺得很漚嗎?
記錄下來還有一個很重要的功能,有時候公司面試完,下一次聯絡你已經是一個月以後的事了,如果你無法天賦異稟的記得這家公司用到的技術、人員的配置的話,還是乖乖地記下來吧,這對於到時候選擇 offer 會有很棒的幫助。
第一次視訊&英文面試
視訊面試是我沒有過的經驗,但也不會太緊張,就把它當作一般面試只是透過電腦螢幕就好了。
至於英文面試就稍微小緊張,上一次講這麼久英文應該是前年在美加自助的時候了,但所幸面試官不嫌棄我的爛英文,後面也盡力把我會的東西都講出來,也有拿到 offer 算是順利通過吧!未來如果有有機會,我也很想再試試看自己有沒有能耐可以應付國外的工作,畢竟這算是人生目標之一。
第一個 offer
我的心態開始比較穩定,應該算是拿到第一個 offer 之後吧。
雖然這個 offer 的條件真的滿不怎麼樣的,但我很感謝他的出現,他消除了我大半的自我懷疑,因此我會覺得如果可以的話,盡快拿到第一個 offer 會是一件滿重要的事。
面試官的建議
雖然我最後只有面試六間,樣本數還不多,但就我碰到的面試官給的建議讓大家參考看看:
-
給我的建議
- 覺得寫筆記滿不錯的,但也表示看過很多人的筆記,若之後能做出差異化,寫出自己的風格會更好。
- 看了我的 side project 覺得是想要解決一些問題的,他覺得這很好,因此決定邀請面試。並且我當場也和他討論了一些目前碰到的問題,面試後他也有寄一些參考資料給我。
-
給課程的建議
- 對於課程的交作業流程採用 git workflow 表示讚賞。
- 對於我知道 scrum, sprint 表示讚賞。
所以我的結論會是,每一週學的東西都是重要的,一些細小的地方說不定就會是你勝出的關鍵。另外,關於筆記和專案,我覺得並不是必須的,這不是入場券,只是如果有做的話,建議可以多做出差異性,或是試圖解決一些事情,這都可以讓你從其他面試者中跳出來,面試時也比較多東西可以聊。
可以讓我想一下嗎
關於得到 offer 之後可以思考多久,這是我這兩個禮拜最大的難題。
會有這個煩惱代表你同時間會有多個 offer 在選擇;或是你拿到 offer 了,但是有其他的機會還在等結果。
到處問了 huli, clay,還有其他的同學和朋友,並且在自己思考之後得到的結論就是,找工作跟愛情真的有 87 分像,對的時間錯的人,錯的時間對的人。
能做的事大概就是,盡量爭取一至兩週的時間考慮(當然能長則長拉,但實務面上很難),可以做表比較各 offer 的優缺點,並且思考一下你在意的點是什麼,是薪水?有沒有人可以討論?使用的技術?工作型態?
或是,如果覺得你目前面試狀況不錯,時間上也允許,就繼續丟一些你喜歡的職缺吧,不一定一定要糾結在這些 offer 上也行,建議利用空擋時間就可以加減想一下這些問題,才不會像我一樣突然到了要抉擇的時候才開始想。
最後也要感謝胡立在最後當軍師,給了我不少建議,也成功喊到我認為不錯的薪水,雖然我因為一些原因最後選擇去了其他地方,但這個經驗還是十分寶貴,也深刻體會到談判確實是一門學問。
後記
在準備面試題目時,有一個很常看到的問題是這麼說的
你覺得你三到五年後會在哪裡?
這是個問題,同時也不是個問題,經過出社會這些年的體驗後我會覺得,稍微規劃一個目標,並且努力的去接近他,不要埋頭苦幹,時不時抬頭起來看看自己看看這世界,逐步去修正這個目標,不要放棄好奇心,保持對於生活的熱情,並且持續去尋找你的所好。
我很喜歡呱吉說的:
『人生沒有一條路是白走的,沒有什麼選擇一定是錯的,而且砍掉重練的代價也沒有你想像的那麼高。無論你想要做什麼,只要你有興趣、有熱情你就應該要嘗試看看,因為不論何時你都有機會重來,而且這些重來的事情都會在你意想不到的時候給你重要的幫助 。』
僅以此心得,獻給同在人生道路上努力的大家
就像艾爾文團長常說的,前進吧!你各位