最近剛好在工作中聊到關於現今工程師的狀況,相比過去我自己在學習寫程式的那個時間點,現在多了很多「轉職工程師」這樣的人存在,也有不少是我認識的人或者朋友。
不過,我們是抱著怎樣的心態去當一名工程師的呢?
Geek
我開始學習寫程式可能已經有十幾年甚至接近二十年,學習寫程式幾乎是我成長的一部分。在這個過程中,我認為用 Geek 來形容應該還算貼切,即使我不認為我跟「社群網戰」電影中的主角 Facebook 創辦人祖克柏一樣優秀。
像這樣的存在在當下確實就是「工程師」給人的印象,另一個類似但常被誤解的則是 Hacker(駭客)這一個詞,兩者大多有著為了某些事物鑽研的特性存在。
轉職工程師
這幾年最熱門的職業大概就是軟體工程師這一個職業,從各種補習班、Camp(學習營)、線上課程之類的資源出現,在數個月到一年之間的時間大量的工程師被訓練出來。
跟過去我們對工程師的印象會有像是 Geek(極客)、Hacker(駭客)、宅之類的印象不同,他已經變成一個常見的職業,而且任何人都可以成為工程師,甚至是一個趨勢被規劃在學校課程的一部分。
也因此,我們可能會看到各式各樣的人成為工程師。舉例來說,我就跟有在玩樂團、喜歡爬山、露營的工程師當過同事,也看過一些工程師本身也是創作者等等,這聽起來似乎很普通,不過在過去的印象中「工程師」是不會做這些事情的,即使我所知道的那些工程師前輩、朋友都會做這些事情。
成為工程師這件事情在這個時代變得簡單,但是是什麼原因會讓人選擇轉換職業呢?
熱情
扣除掉我們認知中高薪的竹科工程師之外,軟體工程師本身的收入在約十年前就硬生生的比其他職業好上很多,至少在我們討論 22k 的那個時期工程師最低也能有 30k 的收入。
到了這幾年,網站開發、雲端逐漸成為主流分工也從原本的「工程師」細分出了前端、後端等等職位,分工變得精細了在一些簡單的任務也不需要太多訓練,也因此讓也讓這個職業變得容易入門。
即使是現在,軟體工程師的起薪跟其他行業還是有著很大的差距,正是因為這樣的誘因讓很多人覺得轉職工程師是一件不錯的事情,有一份收入不錯的工作來支持自己的興趣是一個很不錯的選擇。
原本那群因為熱情或者對技術喜愛而成為工程師的人們,似乎就有點難以跟這群新時代的工程師產生共鳴,至少我自己也是這樣。
價值
在過去,工程師本身算是小眾的,也因此我們相對容易在「社群」遇到抱有熱情的工程師,現在則因為工程師變成很多人的「職業選項」在工作中是更容易遇到「只當作工作」的人,在工作中一起完成一個挑戰的熱血感似乎就變得相對薄弱。
不過,應用「軟體技術」的人們其實一直都存在。以我自己大學所讀的「數位多媒體」來說,我們一直以來都會利用程式結合藝術創作去製作遊戲、互動藝術等等不同面向的東西,我認為更精確的說法應該把程式視為「實現想法的手段」
仔細觀察這個世界需要「軟體工程師」不正是因為每一個領域、行業都需要軟體來幫助他們更進一步嗎?
也就是說,這些轉職的工程師們如果能夠善用自己的技術在自己有興趣的領域、產業,除了物質上(收入)之外還能夠有著自我實現這類的產出。
某種意義上,我們現在能有容易使用的人工智慧、軟體開發工具,不正是因為有一群人將他們在某件事物上的想法付出行動並且開源(Open Source)出來才有這樣的結果。
反思
在幾年前我剛退伍進入到職場的時候,身邊遇到的是一群有想法、有創造力的工程師,我們除了幫客戶「實現想法」之外,也不斷的在自己感興趣的領域實現各自的想法。
如同在一些影集、電影或者新聞裡面的工程師創業家,這些「工程師」是透過「軟體開發」這樣的手段去改變他們感興趣的的事物來創造新的機會。
到了這幾年,我從一個專案的參與者也逐漸變成需要帶領團隊解決問題的角色,同時也發現雖然新加入的同事雖然對於技術有所追求,但大多數人卻少了一份「熱情」或者說缺少了「想用軟體技術去做些什麼」的執著。
軟體工程師現在是非常搶手的職位,也因此很多職缺都提供了非常不錯的薪水。有時候看到一些坐著只要夠「熟練」就能完成的工作,同時領著高薪的「資深工程師」這樣的現象感到疑惑,身為一個資深工程師只做到這樣就足夠了嗎?
期待
我想像中的軟體工程師應該是一個運用軟體技術去實現想法的人,不論是公司、客戶還是自己的想法都是如此。
我從最開始只能撰寫「腳本」程度的程度,到能夠製作出「應用程式」再到現在對於工具的製作、軟體的設計等等非常熟悉,都反應在我自己的生活之中,很自然的去利用軟體技術製作一些簡單的腳本幫自己或者朋友解決問題。
可能會是一起製作一個遊戲跟朋友同樂、搭配簡單的硬體幫自己偵測盆栽的狀況或者幫忙參加的活動架設網站等等,這些都是一些常見的事物,裡面包含了自己的興趣(遊戲)或者生活(盆栽)以及社交(活動)等等,軟體開發其實是一件非常「生活化」的事情,而且在未來也會發生(像是義務教育也涵蓋了軟體開發)
當一個好的工程師並不困難,我們需要思考的是在任何時候我們都有「程式」這一個手段可以使用,在寫程式的時候思考的是這段程式是否能夠「更長時間的發揮作用」就足夠了。
前者讓我們習慣去善用技術實現想法,後者則讓我們更加精進自己寫出來的程式,去對自己撰寫出來的程式碼重視、負責。
現在很多人選擇當工程師是為了獲得更好的生活,不過作為工程師從一開始就是在應用技術去改善生活,如果我們只把它當作工作是不是太可惜了?