可能很多人一開始看到系列文主題就會產生疑惑了:「前後端都碰會不會都不專精啊?」
其實這個問題的答案我自己覺得是:會的。
但我仍然照自己的想法自己的步調在往前行,因為我認為整個職涯是個漫長的馬拉松,也許起跑時看起來分心而緩慢,我卻相信未來在充好電後可以快速的往終點衝刺,今天就來分享一下自己的想法。
最近剛好面臨畢業,要思考未來發展的方向,目前還是以 web 開發為目標,而提及 web 開發,不外乎就是前端與後端之間做選擇。一開始進入程式開發的世界是從前端入手,除了入門容易以外,能夠透過畫面看到成果也加強學習的慾望跟成就感。大約在學習前端一年後開始接觸後端,原因是為了更了解網頁的運作流程,讓自己的作品更完整。
在前後端開發都有興趣的狀況下,一開始的目標理所當然設為 FullStack Developer,直到看到巴哈姆特一篇很火的文章當中的一句話:
通常自稱 FullStack Developer 的人都很廢
我開始去對 web 生態系做了更深入的了解,除了讓我領悟到在初期我應該專注在一端發展外,也讓我進入一個自我困惑期。
不查還好,一查才發現原來網路上有很多看不起前端開發者的言論,原因不出以下幾項:
這讓我對自己的未來走向產生疑惑,繼續前端的路我真的可以創造價值嗎?
經過長時間的思考,我對於以上的困惑都有了大致上的解答
我想有深入了解前端領域的人都知道這個答案是否定的,近期的前端技術可說是經過了大進化,PWA、React-Native、WebAssembly 等技術漸漸成熟,瀏覽器的發展也加深前端的發展性,效能優化也變成重要的工作, website 漸漸式微,由 webapp 取而代之。
很幸運的我在實習遇到很好的主管,很堅強的前端團隊,讓我知道品質好的程式碼是怎麼一回事,好的專案架構又是怎麼一回事,而這些絕對都是不簡單的事。與主管聊過後也更確定 ”價值是自己創造的“ 這個道理。我想就 frontend developer 而言,有的人更偏向工程這塊,有的人更偏向使用者體驗、UI 畫面,並不會因為他的職稱是工程師,就讓偏向使用者體驗與UI 畫面的人顯得沒有價值,這方面得依照 “需求” 去做決定,而我們則是可以掌握自己要走進哪種需求中的人。
補充:(最近來到新的公司,很開心來到技術力很強的公司,雖然每天都被電,但也每天都在進步,也更了解到 Frontend 領域的廣大)
我得承認,在有限的時間裡,要同時專精前端與後端是非常困難的,因此我最終也同意得先專精於某一端,對哪端比較有掌握度或比較有興趣就好好往那端發展,然而這並不代表我不能同時學另外的技術啊!我想如果有人問我是在寫什麼的,我會回答,我是一個 web developer 或是我是一個 software engineer,平常專注於前端技術,但也對後端技術有所涉獵。身為一個前端,你會想知道怎麼自己寫資料層,而身為一個後端,你也會好奇自己產生的資料能夠在前端呈現出怎麼樣的效果,我想這是理所當然的事。
也許未來我會掛著 frontend 的 title 在軟體界闖蕩,又或許在幾年後 title 變成了 backend,但我想這些都不是最重要的事,重要的是我不能忘記我想透過軟體解決問題的初衷,也不能忘記自己想成為分享者的夢想,其中最重要的是我不能忘記我是因為熱愛這個領域才在其中闖蕩,我想總有一天我會創造自己的價值的。
補充:(來到新公司後,發現同事就算 title 是 frontend,也幾乎都了解後端的運作原理與基本開發,有時候也有自己處理 Docker, k8s 的部署情況發生,甚至有些內部系統就直接由 frontend team 去寫 server 端了,fullstack 的價值就展現在了這裡)。