初次見面,我是 PRUM 株式會社的 masa。
今天想和大家分享一段我這個從零經驗進入現場的人,在最初幾個月踩過的坑:一開始就想把所有東西都學完,結果反而什麼都學得半吊子的狀態。希望能對主要是沒有工程師經驗、卻把很多領域都稍微碰了一點,最後被龐大的學習量搞得不知所措的人,提供一些參考。
剛入行時,我一直覺得:「既然要當工程師,前端、後端、基礎架構最好全部都會。」
實際上,只要打開學習網站,就會接連看到各種新名詞。React、AWS、Docker、Swift 等等。每一樣看起來都「應該會比較好」,於是我就一個接一個地碰,結果每次都只學到一半又跳去下一個,日復一日重複著這樣的循環。
但真正進到現場後,情況完全不一樣。前輩們各自都有明確擅長的領域,像我這樣東碰一下、西碰一下的人,其實幾乎沒有。
會出現這種落差,不是因為學得太少,而是因為我 不知道「工程師」不是單一職種,而是分成許多不同的專業領域。
例如,大致可以分成以下幾個領域:
| 領域 | 職責 | 特徵 |
|---|---|---|
| 後端 | 驗證、支付、資料處理等系統背後的部分 | 職缺多,作為第一步來說通用性高 |
| 基礎架構/雲端 | 建置與維運伺服器、網路等基礎環境 | 以穩定運作為前提,未經驗者一開始就直接負責設計的情況較少 |
| 前端 | 製作畫面呈現的外觀與操作體驗 | 成果容易直接反映在外觀上,因此很受歡迎,但技術變化也很快 |
| iOS/Android App | 開發手機應用程式 | 使用的語言與環境完全不同,領域獨立性很高 |
因為各領域使用的語言和思考方式都不同,如果想同時以相同深度全部學習,最後很容易每一項都學得不夠深入。我當時正是陷入了這種狀態。
我曾經向前輩諮詢過這樣的問題。
我
「總覺得前端、後端、基礎架構都得再多學一點……」前輩
「你現在花最多時間碰的是哪個?」我
「大概是後端吧。不過其他也不學的話,總覺得會被甩開。」前輩
「一開始就想用同樣的深度把全部都做一遍,結果只會每一項都淺淺地碰過。先決定一條自己的主軸比較好。」
直到那時我才第一次意識到,「廣泛接觸」和「深入掌握一項」是兩回事。聽說前輩們也不是一開始就什麼都會,而是在某個領域累積經驗之後,再慢慢把視野延伸到相鄰領域,這讓我有種肩膀一鬆的感覺。
那次面談之後,我決定「先把後端這條主軸深耕下去」。因為這個領域職缺多,而且能學到像驗證、API 設計等和其他領域也容易連動的知識。
概念上大概是這樣:
【橫向軸】淺而廣,鄰近領域的知識
[前端] ─ [後端] ─ [雲端・基礎架構]
│
【縱向軸】
深度專業性(成為自己的主軸)
這通常被稱為 T 型人才。當你在縱向上有深入的經驗時,這個領域的市場價值通常也更容易提升,而當你往橫向延伸時,理解速度也會更快。實際上,當我在後端熟悉了 API 設計之後,再回頭讀前端程式碼時,就更容易把整體串起來,會覺得「這個請求是接到那個處理流程的」,比以前更能進入腦中。
現在回頭看,對那些專業性極高的領域產生憧憬也沒問題,只要把它們當成是在先把目前的主軸做深之後,未來可以考慮的選項之一,就足夠了。
剛入行時的我,因為焦慮「如果什麼都不會就會被甩下」,所以把手伸得太廣。但真正需要的,是先鼓起勇氣決定一條主軸。
在不知道有多個專業領域的情況下持續學習時,根本沒有判斷該把時間花在哪裡的基準。反過來說,只要先決定自己的主軸,其他領域就能割捨成「現在不必馬上深入也沒關係」,焦慮也會減少很多。
比起廣度,先把一條線挖深。這就是我最想在新人時期對自己說的一句話。
如果現在有人同時追著好幾種技術,結果什麼都動不了,不妨在明天把這一週碰過的技術全部列出來。裡面那個你接觸時間最長的技術,也許就是你現在的主軸領域。
我們也有經營一個整理給零經驗想成為工程師的人,以及現職工程師參考文章的網站。如果有興趣,歡迎去看看。(以下為人氣文章)