不要等到「受夠了!」才開始進步
剛踏入職場時,小明對工作懷抱著憧憬,接手的專案總是格外珍惜且戰戰兢兢,生怕自己哪個地方做不好連試用期都過不了;因此入職的第一年像海綿般瘋狂吸收新的知識,並在錯誤中學習成長。
SERIES ・ 系列
Full-Stack Engineer Survival Notes
第 13 屆 iThome 鐵人賽 Software Development 組佳作:從履歷、面試準備到職涯選擇,整理全端工程師的求職與職場心得;後來出版成《給全端工程師的職涯生存筆記》。
共 30 篇文章
剛踏入職場時,小明對工作懷抱著憧憬,接手的專案總是格外珍惜且戰戰兢兢,生怕自己哪個地方做不好連試用期都過不了;因此入職的第一年像海綿般瘋狂吸收新的知識,並在錯誤中學習成長。
整理履歷是持續性任務,但許多人都把它當成一次性任務;讓我們回想一下,入職後有多久沒有整理履歷了。
人在面對自己不擅長的事情時會慣性逃避,但隨著時間拉長,有些人不只忘記自己當年的逃避,甚至還把它放上履歷;當求職者在毫無防備的狀態下被問到當年逃避問題時,最先可能有短暫的失神,而後為了填補這段尷尬的時間開始胡言亂語創造歷史,把無能跟想要找藉口的醜態直接呈現在面試官眼前。
我想很多人都聽過木桶理論,一個木桶可以裝多少水是取決於最短的木條;但木桶不一定要正著放,如果你把木桶斜放,只要角度正確了,能裝多少水就是取決於最長的那根木條。
面試是用來衡量自己市場價值的方式,有時你無法成長未必是不夠努力,而是被產業限制了發揮。
面試已經是充滿未知數的戰場,如果你到了戰場才發現自己把裝備忘在家裡,那不就是自尋死路嗎?筆者將在這篇文章分享自己面試前的自我檢核表,面試不求超常發揮,但至少不要犯下低級錯誤。
我認為面試就是在打一場資訊戰,除了公司要了解你之外,你也要了解公司;很多人在面試的時候不敢提出自己內心真正的問題,深怕問錯一個問題就錯失了工作機會;如果你有這些擔心,可能來自於你對自己的專業沒有自信,又或是過去人生的負面經驗。
在這個快速變遷的世代,絕大多數人都不可能在一間公司終老;但什麼時機點跳槽卻也是一個學問,這篇文章會先帶你綜合評估現在的公司,讓你理性思考要留任還是離職。
新聞時常報導有些人在中年轉職工程師後取得巨大成功,這類新聞讓許多人誤以為轉職工程師是一件很輕鬆的事情;但你們可以做個反向思考:「之所以能登上新聞版面,就代表這件事在現實生活中不常發生!」
隨著時代演進,大部分的公司都採用框架來加速開發效率;自從有了框架,工程師可以更輕鬆,並且在更短的時間完成專案。
除非你是草創成員,不然進入一間公司後,往往都是跟著前輩訂下的規則走;大部分的前輩在交接的時候只會說要這樣做,而不會告訴你為什麼要這樣做。
回想當年還是前端菜鳥時,我完全信任後端前輩回傳的資料;記得當年有個產品上線前的測試一切正常,但上線幾天後 PM 就接到客戶回報系統上有頁面顯示不全的 Bug;因為網頁前端是我負責的,所以第一個被抓去興師問罪。
工程師真的很難,會得不多會被問為什麼沒學,會得很多還要被質疑專業程度;這種比較類型的問題,除非你有事先做功課,不然就算你都會用也未必能在現場對答如流。
這是一個在了解後,無論面試還是工作,CP 值都很高的題目,建議讀者要真的融會貫通。
建立 Mock Server 後,前端工程師就失去耍廢時間不需要等後端做好才能串接。
既然 Junoir 跟 Senior 的後端工程師都能寫出可以運作的 API;那公司為什麼要多花錢請一個比較貴的工程師呢?
如果公司有專門的 DBA,後端工程師就可以把心力放在資料邏輯的處理上;但筆者詢問周圍的朋友,似乎有不少公司都是讓後端工程師兼任 DBA...
除非你的實戰經驗超級豐富,不然在面試時一定會遇到不熟悉的議題;面對無法回答的問題,我個人會老實向面試官表明自己沒有這方面的經驗,會持續學習,瞎掰答案容易讓對方覺得你以後進來公司也會這樣做事。
網路商城特賣會常常會推出特定商品限量 1 組的搶購活動,在搶購過程除了會產生高併發的問題外,同時也需要考慮到「商品會不會超賣」,在現實生活中聽起來很不可思議;但在網路的世界裡,如果SQL邏輯沒有設計好,真的可能發生明明只限 1 組卻賣了 10 組商品的超賣事件。
如果今天有上萬人在同一時間搶限量商品,昨天分享的方案基本撐不住。
「沒有最好的程式,只有更好的程式。」在完成功能後 Code Review 是非常重要的事情;不只看自己的程式碼,也要多觀摩其他人的程式碼,這個動作除了可以優化程式碼品質外,還可以幫助團隊了解彼此的工作進度。
其實前面 10 幾篇文章的內容都是系統設計的一環,只是問題的方向是從你過往的履歷、技術或是面試公司的需求出發,透過詢問細節來評核你技術的硬實力。
相比於系統設計,白板題往往需要寫出能夠運行的程式,或者提供面試官認為可行性高的演算法;大部分的白板題難度會落在 LeeCode Easy 的等級,有程式基礎的人基本上都能夠給出答案,但除了給出答案外,程式的正確率與執行效率也會列入評分。
從第二份工作開始,幾乎每場面試你都會被問到:「過去在公司或是專案上扮演過什麼角色?遇到過什麼樣的困難、如何解決?」
這邊筆者依照類型統整了經常遇到的經典面試題,並附上筆者認為回答時要注意的重點與忌諱。
我想很多人跟筆者一樣,從小就被教導謙虛是美德、不要去邀功;相信皇天不負苦心人,默默地做總有一天會被看見的。
每份專案都是團隊盡心竭力的成果,而 Demo 就是向長官及其他部門展示團隊實力的重要時刻!
每間公司在新人教育訓練上,願意投資的資源落差很大;有些有完整的制度與流程,讓新人一步步走上軌道;而有些則是放牛吃草,讓他自行摸索。
同一個部門,類似的職缺;為什麼有些人做的輕鬆愜意,而有些人卻累的跟狗一樣?
本篇文章想跟讀者探討內部加薪這個議題,如果有辦法在熟悉的環境中持續成長,應該沒有多少人想在陌生的環境中從零開始吧?