第一年,只有確信要專心在後端領域,但還是一個還摸不清楚希望長成什麼樣形狀的工程師。
第二年,開始漸漸知道,我是一個自帶 PM 技能的工程師、喜歡寫文件、喜歡寫文章、喜歡知道自己實作的功能位在公司哪個策略目標位置。
前陣子在工作上交付了一個滿複雜的功能,老闆 aka. 共同創辦人 aka. 公司的幽默鼓勵員 😂 接著分享兩年前創業的心路歷程,霎時間意識到,兩年前我還在徬徨找不到工作,誓言死拚活拚也要在軟體工程師這個角色上撐至少一年,現在已經兩年了呢。
軟體工程師居然是六年的工作生涯以來,唯一一個穩定做超過一年的職業。
【文章目錄】
- 兩年前為什麼轉職
- 6 個身為菜鳥工程師的體悟 (1) 踏實感是做出來的,不是說出來的 (2) 技術只是解決問題的手段之一 (3) 你很菜,但還是要學著為你寫的每一行程式碼負責 (4) 你只是技術能力還很菜,不代表其他軟技能或過往的經驗沒價值 (5) 你覺得你的技術能力菜,但你還是可以教比你更菜的人 (6) 記住因為菜而還有很多事做不到的感覺,那種覺得漚的感覺
兩年前為什麼轉職
27 歲以前嘗試過五個不同的職業,能穩定做滿一年對我來說是個很大的挑戰。
27 歲那年某天坐在辦公室突然一陣感嘆,真的好羨慕坐在前面的工程師每天都有很具體的功能產出、可以快速解決系統問題、每天技能都不斷在提升;坐在後面的設計師也是,每天都能產出很美的設計稿、每天的設計技能也不斷在精進。
而我呢? 不可否認地,PM 在溝通與資源資訊整合角色的重要性,不過我始終在這個角色上找不到成就感。
恰好有另一個契機,我待的是技術部門,每天早上都會有 Standup Meeting,每個成員會同步昨天的工作成果與今天的工作規劃。每當到工程師報告時,我挫折感永遠滿點,完~全~聽不懂他們在講什麼,但有些相關功能又得和客戶回報。
大概是這些對於自己現狀的不滿意,主動和部門同事詢問適合零程式基礎者的線上資源。起初先從前端碰起,發現滿有趣的。後來再進一步去參加《五倍紅寶石 — 網頁前端設計:女性專班》,意外發現我可以 4~5 小時在想怎麼刻出某個畫面,而且不會覺得累。
再後來我就在想,也許這是 30 歲前讓自己最後一次任性的機會了,來嘗試轉職軟體工程師看看吧! 恰好身邊認識的工程師都是寫 Ruby,未來有問題要請教比較能接上,也有好友有說服力地推了我一把,最後選擇了《五倍紅寶石-ASTRO Camp 全端訓練營》參加培訓。
過程中的艱辛程度,一萬字省略 😂
以下分享 6 個身為菜鳥工程師的體悟:
踏實感是做出來的,不是說出來的
轉職之前,有人問為什麼想轉職時,我記得我的回答都是:「因為移動性高、薪資天花板高、產出數據容易具體量化、職涯路線明確、想要工作有看得見的具體產出呀」
在還沒真正成為工程師前,說出這些話時心裡總莫名有種不踏實感,甚至懷疑是不是只是又想從現狀逃跑,但上述的原因符合社會期待,所以這樣回答。
現在做了兩年,親身體驗過後,可以很踏實地說那些都是事實,而且無論從自我實現或是生活品質層面來看,這些都讓我更喜歡現在的生活。 當下不踏實沒關係,讓未來的自己感到踏實就好:)
技術只是解決問題的手段之一
無論所處的是不是營利型公司,任何組織都會有自己的使命、目標以及想解決的問題。
每個角色運用各自的職能來促使目標達成,軟體工程師也不例外,只是使用的是寫程式來達成。
偶爾在實務需求上會發現,解決問題的手段有很多種,有些其實可以使用現有資源就解決,不要需求來了一股腦兒就矇頭開始寫程式。 這需要靠時間累積對系統的掌握度,唯有這樣才能在多數時候確保自己與其他工作夥伴的時間投注在對的事情上。
你很菜,但還是要學著為你寫的每一行程式碼負責
在 ASTRO Camp 時,龍哥有請我們看這則影片《Kyle Simpson Presents: Code is for Humans》,這對我後來寫程式的習慣有很大的影響。
永遠要知道為何這樣寫
If you don’t know why your code works, you have no hope of fixing it when it breaks.
你只是技術能力還很菜,不代表其他軟技能或過往的經驗沒價值
可以有效和不同的職務角色協作,並且精準解決用戶需求,我覺得這是一個有價值的專業工作者會做到的事。
一天工作 8 小時裡面,其實不見得 8 小時都是在寫程式。也許有 20% ~ 30% 的時間得一起討論需求與規格、幫忙 Code Review、寫文件、了解使用者等。
這裡頭可能會用到策略目標的對齊、溝通技巧、訪談、專案管理、寫作技巧等,我覺得轉職者的優勢就是可以將這些經驗和寫程式這項硬技能結合。
比方說,以前有一段時間學過設計思考,設計思考最重視的就是「同理心」。怎麼樣在溝通時可以讓 PM 聽的懂你在講什麼、怎麼樣讓其他工程師可以快速理解你的程式碼、怎麼樣事前與利害關係人確認資訊,以利你準時交付符合需求的功能。
在技術方面我們是新手,但在其他面向可能不是,我們應該多給自己一點信心。
你覺得你的技術能力菜,但你還是可以教比你更菜的人
最近在看《知識複利》這本書,裡面有一段話看了很喜歡:
不論你的專業程度如何,世界上總有程度和你差不多、需要你幫忙的人,只要你願意分享,你就能創造價值、分享資訊給其他人。
老實說,多數時候我寫技術部落格只是想紀錄學習歷程,順便幫助未來的自己。畢竟大腦的記憶不可靠 😂
近期發現文章有所謂的長尾效應,沒有額外的社群分享,靠著 SEO 的力量,有幾篇文章居然有了破千的瀏覽量,每天還持續有 20~30 人觀看(我什麼都沒做啊~~老天)。
所以也不要擔心這些簡單的東西人家早就寫過,最主要的目的是可以先教會自己,可以剛好幫助到別人就是額外的 bonus。
記住因為菜而還有很多事做不到的感覺,那種覺得漚的感覺
記得以工程師身份剛開始工作的時候,會發現一樣的時間同事可以解 3 張票,但我卻還在同ㄧ張票中卡關。「我怎麼什麼都不會(崩潰)~~~」崩潰到曾經對著同事這樣喊(註:我是在安全的對話環境下才敢這樣,這不見得適合每個團隊)。
看著別人飆速往前跑,自己卡在原地動彈不得,這種感覺是很挫折的。以前在 ASTRO CAMP 有個恩師助教跟我們說:「誠實面對『我就爛』」
當然不是要我們一直爛下去,而是去接受事實,轉職者跟本科生或是已經工作五年十年的人,當然不能相比。跟他們比起來,我確實是比較爛沒錯(大笑)。
記住這種漚的感覺,因為再過沒多久,讓你覺得漚的某個關卡,可能就會消失了,因為對系統的熟悉度提升、原本感到困難的項目也不知不覺已經上手。
我想只要還是工程師的一天,這種漚的感覺一定三不五時就會出現,與其討厭這種漚的感覺,不如與它共處、每天一點一點克服它。
工作雖然不是人生的全部,但它實實在在地佔據了一整天 1/3 的時間,我並不覺得現在已經找到人生最大的熱情了,好像沒那麼絕對。只是工程師這個角色剛好可以滿足我對移動自由、解決問題、可以讓我持續在專業上有具象化的累積,也想繼續能夠做更多、為團隊有所貢獻。
這樣繼續下去好像也不錯
願我們都能持續在工作中找到滿足感:)
最後彙整本文提及的相關資源:
- 《五倍紅寶石-ASTRO Camp 全端訓練營》: 為期三個月(週一~週五全天上課),如果你對網頁開發有興趣,Ruby on Rails 是一個適合用來作為網頁開發的框架,ASTRO CAMP 也以 Rails 作為授課主軸。與我同期的同學包含我,有 90% 在結業三個月內找到工作。
- 《五倍紅寶石 — 網頁前端設計班:女性專班》: 為期一個半月(週六全天上課),零基礎去上課完全沒有問題,老師會用一般日常生活中的例子由淺入深上課,除了手把手帶你刻出畫面,更重視觀念的建構,這點我覺得很難得。Btw, 這個每週都有作業,老師一樣會把你當成你要轉職的學生來教,所以會有點嚴格,回頭看這段過程對我來說很珍貴。
- 《Kyle Simpson Presents: Code is for Humans》:如果想每天準時下班、想知道如何用程式碼與他人溝通想法的心法,這個影片必看。
- 《知識複利:將內容變現,打造專家型個人品牌的策略》:這本最近很紅,咀嚼中。
Photo by Helena Lopes on Unsplash
全文引用自
涓 / Lynn Chang 的 Medium 文章 - 轉職軟體工程師兩年後熬出的 6 個心得