心情雜談:在軟體工程師的職涯中,你找到自己的價值了嗎?

--

本篇文章皆為個人主觀意見,請斟酌閱讀。

隨著學生身份的結束,身邊的朋友也陸續在這一兩年步入職場,迎接社會的洗禮。有趣的是,每當第一次談到彼此的工作狀況時,我最常聽到的問題是:「那你現在的工作薪水待遇如何?」其實對我而言,如果這是我被問的第一個問題,我會覺得蠻可惜的,也會失去繼續分享與談話的興致。

換作是我,我可能會問「那你現在工作起來還開心嗎?還喜歡這間公司嗎?」、「做的事有沒有挑戰性?公司有沒有給妳明確的成長空間?」,最重要的是「你在工作中有找到自己的價值嗎?」

(當然不是說薪資待遇不重要,錢很重要,當你開始規劃未來,例如買房、組建家庭時就會知道它有多麼重要。不過如果只是為了錢而被推著去工作,或是讓金錢成為作任何選擇時的第一考量,那也未免太沒意思了,相信你也會因此錯過很多其實心裡非常渴望嘗試的機會)

就以自己從開始學習到成為軟體工程師的過程來說,我經歷過一段找不到自己價值的時間。

軟體工程師鄙視鏈,好入門就比較沒有價值?

我從開始寫程式到現在,寫過 Web,也寫過 APP,也嘗試過 AI 與資料工程,最終還是選擇專精自己最喜歡的 Web 領域,真的沒什麼特別的原因,就是喜歡而已。

軟體圈其實謠傳著一個鄙視鏈生態系,也就是有人認為開發越底層應用的價值比起上層來的高。Web 開發其實就算蠻接近頂層的應用層,其中又分為前端、後端、Infrastructure,可以說在 Web 領域也存在自己的鄙視鏈(鄙視鏈中的鄙視鏈,不過隨著近幾年技術的發展,我自己認為前端、後端、Infra 各自的技術都趨向複雜與需要專業,基本上在業界都是平等地位,這條鄙視鏈已經漸漸消失),因為位於這條「虛擬」的鄙視鏈頂端,當時有一陣子其實對自己的價值感到懷疑。(BTW 其實硬體與軟體開發又能形成一條鄙視鏈呢)

的確像 vgod 在軟體工程師的修練與成長系列文中提到的,越底層的應用會有越高的 Technical Leverage,也就是透過技術能力產生的影響力。

圖片出自 vgod 大大系列文

不過也不要忘了,雖然頂層應用的 Technical Leverage 相較會比較低,卻會有比較好的 Product Leverage ,比較有機會影響產品走向。所以如果你選擇走應用層是因為喜歡產品,喜歡第一線接觸使用者,那我就覺得不需要懷疑自身的價值,技術影響力的不足將會由其他影響力來平衡,領域之間沒有誰優誰劣,純粹是個人喜好的選擇而已。

我不否認要入門應用層開發比起底層應用要簡單許多

但令我感到可惜的是環境中大多數人還是喜歡爭論一個領域好不好入門,而不是討論如何達到各領域的頂尖,就以筆者最熟悉的前端開發為例子,利用像 React 這樣的框架作開發並不難,但你有沒有想過「開發出像 React 這樣的框架」有多難?你想不想成為這樣的開發者?你想不想成為前端領域的頂尖,創造出給幾百萬個甚至幾千萬個工程師使用的工具?我敢說這樣的 Technical Leverage 夠高吧?所以我覺得如果你有成為一個領域中「頂尖」的夢想,就不用懷疑自己的價值。當然要成為頂尖很困難,但是擔心那麼多並不會對你有任何幫助,努力衝努力提升自己就對啦!

職場內的價值

軟體工程師非常害怕的一件事就是變成所謂的「碼農」,需求來什麼就做什麼,除了寫程式以外好像沒辦法有其他貢獻,而取代性也非常高,換成其他人來做應該也能完成一樣的功能。

我目前還是一個初階的工程師,原以為只要工作年資到了,就會拿到挑戰資深工程師甚至管理職的門票,但實際進入職場後才發現不是這樣的。資深工程師的價值在於可以領導一個專案的進行,面對問題時可以從幾十個幾百個解法中找出最適合目前狀況的方案,也要對於軟體架構有完整的了解。除了技術方面,資深工程師也該了解整個產品的狀況,例如新增了 A 功能會不會影響到原有的 B 功能?又或者是了解產品未來的 Roadmap,並協助拆分出適當的執行順序,對於團隊的重要性與價值跟初階工程師相比完全高了一個檔次。

從實習生到現在的初階工程師,我都知道自己還沒有達到應該有的「價值」,團隊少了我並不會有太大的損失,當其他團隊成員遇到疑難雜症時,第一個想到要詢問的也不會是我,因為我對產品的熟悉度不夠足夠,思路也不夠深不夠廣,對於整個團隊的「價值」還遠遠不夠。因此如何提升自己在職場與團隊中的價值,對我而言是一個蠻大的課題,也是自己的短期目標。有趣的是,我發現這些不足大多跟技術本身無關(當然技術仍要持續提升並到達一定標準),更多的是心態、洞察力還有人際溝通能力。以前的我看到職場溝通相關的課程總是心裡默默想著:「這有什麼好學的?」等自己實際走一遭後才發現,這才是最重要的技能,是要提升職場價值時不可或缺的東西,但同時它真的沒有你想的那麼簡單。

職場外的價值

以我來說,職涯我只在乎幾件事:

  • 我是否快樂?
  • 我的目標是否實際且可行?我有沒有持續往目標前進?
  • 我在職場上的價值與影響力
  • 我在職場外的價值與影響力

我當然沒有神聖到不在乎薪資待遇,但對我而言當你提升自己的價值與影響力後,它們自然就會有所回應。

軟體工程師的價值不一定要在工作上才能體現,例如進到一間很好的公司,在工作上有好的績效表現…等等。在工作以外,我們也能持續提升自己的價值,例如推動技術社群的發展、任何形式的技術分享(文章、影音、實體)、貢獻開源專案…等等。當然這本來就是一個主觀的想法,有人認為工作歸工作,工作以外的時間就應該好好去享受人生,這當然也沒有什麼問題。至少我自己認為,在成為工程師的過程中,我受到很多社群、教學資源與開源專案所提供的幫助,當你漸漸有了能力,為什麼不換自己承接這個使命,讓這個領域有一個正向的循環與發展呢?

結論

因為是心得雜談,所以整體邏輯應該蠻亂的,但我想說的是,面對職涯,你可以有不一樣的觀點,問問自己或問問身邊的人開不開心,喜不喜歡工作的環境與氛圍,更重要的是找到自己在職場內甚至職場外的價值。人生不長,工作時間卻佔了人生的大半,我不想當個「Money Driven」 的工程師,也不想讓自己的工程師職涯走得太「平淡」,於是我時常思考自己是否能達到以及如何達到自己的理想與野心,也嘗試創造屬於我自己的價值,也許你也可以試試看。

最後想說的是,不用太在意別人怎麼看你的工作,重要的是你是不是認為自己做的事是有價值的,有的話,就勇敢邁向自己領域的頂尖吧。

--

--