什麼是 mentor (饅頭) 呢?mentor 並非像是教室的老師能夠全程時間來「教學」,而是比較偏向「引導」的角色,也因此 mentor 也可以稱為人生與職場導師的代名詞。
我相信你在投入前端時,時常會有不知道自己下一步到底該怎麼走的窘境,很希望有人可以教你該怎麼走下一步,讓自己不至於繞太多歪路,導致浪費太多時間。我必須老實說自己從就業到現在沒有遇到 Mentor 過,直到我反過來輔導別人,在幾年前看到 mentor 這個詞彙才發現自己都在當別人 mentor 了,所以這裡也來分享如何找一個好饅頭 (mentor)。
首先你先要有個認知,沒有人天生就必須幫你忙,我常常會看到有人去加一個前端開發者的 FB 好友,然後問他些問題,沒獲得回應就抱怨對方冷漠。但是你有想過彼此素未謀面,當你請教個程式問題裡頭很多 BUG,就算資深開發者也需要花一陣子才有辦法搞懂邏輯,那對方為什麼有義務幫你去 Debug 呢?每個人都有自己的人生要過,光自己的事情都應付不暇,怎麼還管得著別人?
難聽的話雖然說在前頭,但並不代表就無望了。這裡分享一些方式給各位。
我相信在你投入前端領域時,多少也透過一些網路資源與社群文章發現一些活躍人士,進而追蹤他們的動態、部落格與演講。或是在前端聚會時,遇到些資深開發者,這些人自然會有可能是 mentor 的最佳候選人,畢竟他們在這條路走跳許久,自然會知道許多經驗談。
舉例來說,他們可能會在哪裡演講或參與什麼聚會時,這時你也就可以跟著前往。如果有見到面,也可以透過提問讓對方留下好印象,如果能私下請教問題那就更棒了。這裡分享一個小訣竅給你,請不要太過阿諛奉承,誇讚對方的技術能力。越資深的開發者也因為投入的技術過深過廣,所以也相對覺得自己掌握的技術比較起來微乎其微。比較好的方式是你有看過對方的技術部落格、 Git repository,然後請教一些東西,如果你有用他分享出來的技術自己做一些小應用,那就更棒了。對方就會覺得你真的有認真閱讀他的技術內容而對你產生好感,印象分數自然大加分。
接下來你就可以試著加潛在 mentor 好友,並再次自我印象加深他對你的印象,能做到這你其實就走近一大步了。
在你投入前端過程中,勢必會有許多程式與職涯上的問題想詢問他人,所以強烈建議你要將提問的智慧看過一次,不要讓 mentor 認為你是伸手牌,另外在發問頻率上也要節制,像是以我個人主觀感覺,每天都問超過十幾個問題可能會有點排斥,但如果是三四天問一兩個問題倒就覺得可以。
在發問前要讓對方認為說你確實有花許多時間在尋找問題上,別人發現你是有備而來才會主動想要幫你。另外提醒一點,如果你是程式碼問題的話。
絕對不要截圖程式碼,也不要在聊天視窗貼程式碼。
絕對不要截圖程式碼,也不要在聊天視窗貼程式碼。
絕對不要截圖程式碼,也不要在聊天視窗貼程式碼。
因為太重要了所以要講三遍,如果是觀念不通時,你可以把該程式抽化出來放在 codepen、jsbin 上,好處在對方可以即時從 code 瞭解你問題,並回改給你。還有就是絕對不要將所有的程式碼放上去,只將自己觀念有問題的放上去,這樣才可以加速檢視程式碼的時間。若是專案複雜的話,至少也要傳到 Github 上,絕對不要丟一個 zip 壓縮檔要請對方幫你看,如果你做這樣的事情會被莫名扣很多分數,一定要切記,說真的沒有那個美國時間解壓縮看你的 CODE。
因為 mentor 並非會一對一教你技能,所以許多事情有疑惑時,大部分 mentor 都是會提供個方向給你參考。有些人都會以為有可能獲得免費的教學那真是大錯特錯。像是以我在引導學生時,我會大量問問題來讓他反思,讓他能夠自行尋求自己內心的答案,且有時候旁觀者清,又較能看出學生在意的點在哪裡。例如我就常反問學生說:
透過這樣的問答才能夠讓學生知道自己的真正想追求的是什麼,所以有些人會覺得我這麼忙,竟然還有辦法線上輔導學生轉職感到不可思議,但其實我除了少數回應他們程式問題並確保所學觀念沒問題,依照他們的背景適時提供資源讓他們自己去消化外,絕大部分的時間也就是陪伴他們更加瞭解自己而已。
但要切記人生是你自己的,不論是 mentor 或是其他人都無法為你的人生做決定,你要走的路是你自己要承擔風險的。若是你把這決定權交由給他人幫你做決定,那豈不就很不負責任嗎?所以我都會跟學生說:「我沒辦法下決定,若是我說了你得到失敗的結果,那豈不就會怨恨我?況且你自己下決定失敗了也沒關係,至少你自行承擔風險而努力過了,代表你也向前一大步,在以後人生會更有智慧地下決定。」
mentor 除了技術引導外,其實更看重關係的建立。有些人本身就很忙,不會主動關心你。但你問問題時,他還是都會回覆你。有的則是會主動關心你的近況,就端看雙方的個性調性如何,所以也相當看重緣分。有些又有點像是師徒制,師傅看出你的潛在性,自然會希望你能發光發熱,而徒弟也在觀察潛在師傅是否適不適合自己。
同時也會因為技術與個人的發展,mentor 也會只短暫一陣子,或是持續很長一段時間,其實是很正常的,但也要記得受人點滴,未來有機會也能湧泉以報。
有錯字喔 Degug
感謝, bug fixed :D
湧泉已報 似乎改用 湧泉以報 比較好
感謝海綿寶寶,注音打太快 XD
蠻喜歡這樣一系列的文章,雖然是for 前端,但對於我這個偏後端的新手也很適用。
然後那個提問的智慧真的很棒! 真的應該要來學習和應用看看。
然後就也想和你交流看看目前我遇到的一個職涯問題XD 感覺和這一篇文章沒有太大關係,希望你可以見諒。
就是說,我被一些職場的前輩提醒說我比較像是個"程式工匠"而不是"程式設計師"。
我覺得這個提醒也是相當有趣,而且我也認同我目前的的感覺真的是比較像是"工匠"。
但想到後面越覺苦惱....不知道大大對於"工匠"和"程式設計師"或"工程師"的主要差別認為在哪裡? 你會怎麼建議工匠如何做可以升級成為工程師呢哈哈?! 還是答案其實就是"經驗的累積"嗎XD
我覺得程式設計師多少都會有一些工匠精神,
舉變數命名來說,時間趕的時候你就會想要亂命名,但內心又覺得不行不行如果我真的這樣命的話一定會有很多罪惡感,但是時程又來不及了啊啊啊到底該怎麼辦!!! 之類的 OS,內心會衍生很多糾結的小劇場。
但這樣也沒什麼不好的,誰不想用工匠心態,以細細打磨的精神,刻出自己的歷史鉅作呢。
所以也沒什麼好調整心態或試圖升級,我們本來就是處於這種掙扎的心態在寫 CODE XD
這系列應該列為
「轉職工程師前你必須完的文章」
有時候遇到一些人提問,劈頭就問「我要完成OO功能」
請問要怎麼做?
「為什麼我的程式不會跑」還有一種
就是我拿他問題原話去搜尋
會在結果前三筆看到正確的、繁體中文的說明
學校老師因為收你的錢
還有一些責任呀,職業堅持什麼的會從頭到尾講解
出了學校還保持這種心態的人只會讓有心做饅頭的人失去熱情而已
這也是我想寫這篇文章的初衷,希望能將一些常遇到的狀況條列出來,讓初入程式的朋友也能從中瞭解一些生態脈絡。
老師是不是在line收到太多程式碼而發出的感慨?~~~XD
我之前不知道codepen之時都擷取圖片或傳檔案傳給人看的說...
程式碼片段沒辦法還原環境,通靈點數沒點高會很辛苦,還是放在 codepen、JSBIN 會比較方便 XD