轉職軟體工程師可能沒有你想像中的那麼美好

Image for post
Image for post
Photo by Hubert Neufeld on Unsplash

又是一篇收到了一大堆報名信以後的心得。

這次的樣本數變多了(接近兩百封),觀察到的個案也增加了。在這次的報名信裡面,很多人是因為看到各種轉職成功的文章,因而對程式有了興趣,覺得轉職成軟體工程師是一個不錯的選擇,然後才來報名這個課程。

然後有很多人希望以後能夠遠端工作,過著時間上比較自由的生活,或者是當個 Digital nomad,一邊工作一邊到處旅遊之類的。

我沒有說這樣不好,也沒有說你做不到,但我覺得在看一件事情時,如果被大量的、朝某一個方向傾斜的資訊給淹沒了,比較難看到事情的全面,也會讓你對這件事情產生一個可能沒有那麼正確的認知。

這是什麼意思呢?

當初讓你產生興趣的那些文章,你有沒有覺得每篇都很吸引人?許多都是從各行各業,看似跟程式沒什麼關係的背景然後轉職成工程師,上下班時間比較彈性,薪水也不錯,甚至還有出國工作或者是進知名大公司的人。

沒錯,非常吸引人,每一篇都很吸引人。接著過一段時間你或許會發現,咦,怎麼好像想要學程式轉職工程師的人這麼多,可是看到的案例都是那幾篇。

問題來了:

那其他人去哪裡了?現在在做什麼?

我不知道,你也不知道,很多商業導向的培訓班也不會讓你知道。因為對外放出的成功案例的目的之一就是吸引大家去消費,所以當然只會放吸引人的。其他那些學程式學一學發現沒那麼簡單就默默淡出,或者是學完以後發現轉職成工程師沒有那麼美好的人呢?不,他們不會出現在那些文章上。

這就像是什麼,像是開飲料店。

以前看到藝人開飲料店,現在網紅也開飲料店,每隔一段時間就有新的飲料店出現,不免會產生:「哇,開飲料店好像很好賺」的想法。但仔細想了一下,我有看到倒掉的飲料店嗎?有,而且不少。那如果真的很好賺,那些倒掉的是發生了什麼事?

我只看到飲料店一家一家開,卻選擇性地忽略了飲料店也是一家一家倒這件事情。其實開飲料店(或其實做任何事)都沒有想像中的容易,很多時候你以為容易,是因為你接收到、看到的都是成功的案例,少看了很多失敗的。

我覺得目前軟體工程師就是這樣,太多太多轉職成功的文章了。

好,這邊先假設你最後轉職成功了,找到了一份軟體工程師的工作,那大概會過著怎麼樣的生活?進去怎樣的公司?薪水大概是多少?

先假設你沒有任何程式相關背景,沒有任何顯著的學歷,程式也寫得普普通通,沒有特別好。可以參考一下這篇被很多人轉過的文章:【密技】台灣軟體業業界現況詳解、軟體工程師指南

以裡面對公司的區分來說,你去到的很有可能是「傳統大公司」、「做不太起來的新創、假新創、很小的新創」或者是「其他小資型小公司」。

可能上下班也不彈性,偶爾還需要加班,然後工作內容也滿亂的,搞不好沒有設計師也沒有 PM,你要一個人負責所有的需求,code 也一團糟,甚至沒有工程師同事可以一起討論。

薪水的部分,月薪大概 35k~42k 左右,我也不知道這樣的薪水範圍算是好還不好,但根據我以往的觀察,差不多就是這個範圍。

然後如果你有相關背景、學歷或是雖然沒基礎但是是天生武學奇才,寫程式寫得很猛,那薪水當然有可能再上去,就算是非本科轉職,到月薪 60k 也都有可能,但那真的要滿厲害才做得到。

再來我們談談遠端工作,好像滿多人都嚮往這種生活。

我以前也曾經嚮往過,直到我發現自己不適合。

喜歡是一件事,適不適合又是另外一件,如果兩個答案都是正向的,那當然很好,但只要有一個不是就沒辦法。你只想過自己喜歡遠端工作,有想過自己適合遠端工作嗎?有想過遠端工作需要具備什麼能力嗎?還是你只是看到那些遠端工作的文章覺得這樣好棒,其他什麼都沒有想?

建議可以看看這兩篇:想要遠距工作,你準備好了嗎?(上) | 超衝擊的五大難關在 Ticketsolve 跨時區 Remote 一年多的心得,你可能會發現遠端工作跟你想像中的不一樣。

再來,我覺得遠端工作對專業能力的需求,比在辦公室工作還來得高。為什麼?因為遠端工作:

  1. 很吃溝通能力
  2. 需要能獨立作業

在辦公室工作,你可以當個助理工程師,碰到自己解不開的問題就去問 mentor 或是其他同事,反正就坐附近而已,問問題很快。碰到不了解的地方也可以直接當面找人溝通,講不清楚就比手畫腳或是畫圖。

但是遠端工作呢?有可能大家習慣的工作時間或是時區不一樣,你沒辦法及時找到同事,要溝通的時候可能也是以文字為主。更別說如果你是那種私訊只會傳一句:「在嗎?」的人,雖然用的是非同步的工具,腦中卻還是想著要同步來溝通訊息。

還有一點是我覺得最難的,就是遠端工作很吃自制力。

如果哪天我真的要遠端工作,我一定還是會出門,找一個 co-working space 之類的,因為我沒辦法在家工作。這就跟以前念書考試一樣,有些人可以在家裡準備大考,拒絕電視、電腦跟床的誘惑,但有些人就是不行,只好去補習班或者是 K 書中心,換了一個環境才會有想要讀書的念頭。

再來是出國工作,我也不認為這是短期可以達到的事。

公司請一個外國人,需要幫你申請工作簽證,耗時又耗錢,你必須要有那個價值才行。如果你能力不足,只是一個普通的工程師,那為什麼他們不請當地的工程師就好,要花額外的心力來聘你?(這邊補充一下,如果簽證(身份)不是問題的話,在國外工作應該容易許多)

所以我都會跟我學生說,如果你想去國外工作,在台灣工作個兩三年以上再去挑戰,會更有機會一點。至少你有工作經驗,也不是剛進這個行業的新鮮人了。

總結一下,我這篇文章不是在告訴你「你一定做不到」,我不會這樣跟任何一個人講。相反地,我相信轉職軟體工程師是可以做得到的。

我只是想提醒一些你在看那些光鮮亮麗的文章時沒有想到的部分。我怕有些人看了一大堆內容農場轉職文以後覺得「哇感覺好像很簡單,人人都可以轉職」,但實際學了之後發現不是這樣,怎麼進度跟不上,程式碼看不懂。

期望越大,失望也越大,如果一開始就因為偏頗的認知訂下一些比實際困難的目標,說不定在做不到的時候會被期望反噬。但其實不是你做得不好,不是你不夠努力,是目標本來就比你想像中的還要遠。

舉例來說,遠端工作或是出國工作就可以訂在中長期目標,短期目標是轉職為軟體工程師。或如果想要再把目標切小一點,寫出一個網頁也可以是個短期目標。

其實比起訂目標,我覺得更重要的是去思考以下幾個問題:

  1. 在學習寫程式的時候,你真的喜歡這件事情嗎?想要投入在這個技能上,用它來找工作嗎?
  2. 如果學完程式之後找到的工作是我剛講的那樣,薪水 35k~42k,工作內容不特別,沒有什麼同事可以一起討論,要做的事情很多,那你還想要轉職成工程師嗎?
  3. 如果你發現你所想像的出國工作以及遠端工作都沒有那麼容易,可能需要三四年或更久才能達到,你還想做這件事嗎?

然後強調一件事情,「認清現況」跟「訂定目標」可以是兩回事。在我講這麼多之後,你可以認同我說的「無經驗學歷,程式能力普通出來找工作可能就是這樣」,但也可以把目標訂成「不管,我要付出雙倍的努力雙倍的武力,我就是一年後就要去國外工作,然後年薪百萬」。

我只是把我所認知的現況寫在這篇文章,自己的目標該怎麼訂,到底想不想轉職成工程師,這些都是你自己要思考的事情。

話說我前面寫了這麼多,是想要告訴你轉職軟體工程師很困難嗎?不是,我只是告訴你說轉職成功以後會擁有的生活,可能沒有你想像中的美好。但是轉職工程師這件事情,或許比你想的簡單,也或許比你想得難(完了我好像在說廢話,但這的確要看你對轉職的想像為何)。

我前陣子其實有思考過一個問題:

從什麼時候開始,我認為轉職工程師這件事情沒那麼困難?

因為對小時候的我來說,並不是這樣的。雖然說從很久以前就開始寫程式,但一直認為自己離「把寫程式當工作」還有一段距離,還有更多更多東西需要學習。到了大概大學順利找到實習,然後在公司裡面也混得不錯,才覺得自己要成為工程師沒什麼問題。

可是前陣子再想了一次這個問題,發現自己目前的看法是:「只要你願意拿出時間,對程式有興趣願意學習,半年我就可以讓你從零成為工程師」,不一定每個人都可以,但至少有人可以,至少我相信這件事情是辦得到的,而且我也看過以及親手教過做得到的人。

思考了一下原因,或許跟不知道從什麼時候就開始冒出來的一堆工程師培訓班有關。除了工程師以外,當然也有很多其他職業的培訓班,但我覺得軟體工程師不太一樣的原因在於課程不斷在進化,而且越來越完整。畢竟競爭激烈嘛,而且業界的技術本身就一直在進步,課程也要跟著演進才能跟上時代,沒有跟上的就會被淘汰。

然後工程師又是一個很開放而且資源很多的社群,網路上可以找到一堆問題的解答、好用的函式庫以及免費的教學,除了工程師,我還真的不知道哪個職業可以這麼輕易找到這麼多資源(可能部分的媒體吧,隨便抄個 PTT 就一篇報導了)。

工作機會多應該也是一個原因。未來我不知道,但以現況來說,你去 104 搜一下職缺就知道了,真的很多。而且儘管現在想轉工程師的人這麼多,職缺依然還是很多。

總之呢,我自己是認為無論是自學或是透過各種培訓班,要轉職成工程師都不是一件難事,是有機會可以做到的。

但也千萬別把這件事想得那麼容易。如果你以前曾有過自學而且非常努力的經驗(可能學日文啦,學設計啦,學行銷啦,學什麼都可以),那或許就不是那麼難。但如果你以前學什麼都三分鐘熱度,日文只會五十音、背英文單字只會 abandon,說要學很多東西但都還沒開始,那這其實不是「學程式」的問題,而是「學習」的問題了。

話說在這個「轉職工程師並不是那麼困難」的年代,其實有個問題值得大家思考。因為這種轉職的工程師變多了嘛,入行門檻變低,競爭變高,那轉職完以後,要如何繼續生存下去?要如何讓自己不會被淘汰?想不到也沒關係,沒有目標也沒有關係,可以跟我一樣幾乎沒什麼規劃,歡迎加入隨波逐流聯盟。

最後來講講工程師的優點好了,以下幾點是我自己有感受到的:

  1. 薪水(跟上面寫的一樣,對某些產業來說可能算是比較高的了)
  2. 移動力(無論到哪個國家或是哪間公司,都需要差不多的技能)
  3. 工作機會多(去 104 上面搜一大堆職缺,但雷的缺當然也很多)
  4. 升遷(基本上就是實力往上走,薪水就往上走)
  5. 生態圈(可以看到一堆免費資源、技術討論、社群以及技術文章)

我不會覺得每個人都一定要變成工程師,但我的確認為寫程式是一個還不錯的技能,如果擁有的話會很棒。就算沒有想要當工程師,也可以去學個程式,有時候結合自己的領域會有出乎意料的效果。

喔對了,我這個人有時候比較喜歡冷門一點的東西,當一件事情變得太熱門的時候,對我來說就沒那麼酷了。所以在這個人人都想轉職工程師的年代,我幫自己訂下的中期目標是:「不要當工程師」。

我希望五年後的我不是個工程師(沒有在玩文字遊戲,所以也不會是什麼技術主管之類的)。至於會是什麼,我也不知道。

補充:

話說發完這篇文之後,突然想起來自己五年前就已經寫過有點類似的東西了:那些「鹹魚翻身」的文章沒有告訴你的事,那時候的用詞有種好稚嫩(?)的感覺,現在老ㄌ,社會化ㄌ

重度拖延症患者,興趣是光想不做,有很多想做的事,卻一件都沒有執行。無聊的時候喜歡寫文章,發現自己好像有把事情講得比其他人清楚的能力。相信分享與交流可以讓世界更美好。Medium 文章列表請參考:https://aszx87410.github.io/blog/medium

重度拖延症患者,興趣是光想不做,有很多想做的事,卻一件都沒有執行。無聊的時候喜歡寫文章,發現自己好像有把事情講得比其他人清楚的能力。相信分享與交流可以讓世界更美好。Medium 文章列表請參考:https://aszx87410.github.io/blog/medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store