無廢話快問快答 工程師與管理職,能換嗎?來得及換嗎?建議換嗎?

這個大概是已經在軟體產業裡面的朋友,問我的熱門問題。

工程和管理要做到好,是二擇一的問題,不是可以「兼著做」的事情。

因此,考量轉換,就是考量「拋棄既有知識的代價、學習新知識的時間」是不是你承擔得起的成本。

開始之前,請先瞭解本文所有建議的先決條件。
  1. 我說的是在台灣的公司,其他國家狀況不一,不見得適用
  2. 所謂的管理職,主要是指「你無法/不需要/沒時間」親自動手寫程式的職位。如果只是技術小組的組長,只是在寫程式之餘,負責分配協調工作,那這種的管理職,就不特別討論。

如果只是從工程師升職到組長,自己還是負責技術工作,只是幫組員工作稍做分配、進度追蹤、回報給PM,那建議只要不排斥帶人就直接接受。一來這根本不算轉換,二來,在台灣你不接受這種升職,你的職涯大概會在35歲之後,就會因為「為什麼做這麼久還是基層工程師?一定有什麼不對」的懷疑,開始遭遇各種困難,包括公司內部的轉調、升遷,或是轉換工作的時候的面談、薪資也都會有很多麻煩。所以不需要考慮太多,接受就是了。

台灣軟體工作的困境

從軟體相關的職位的切入點,可以把台灣有軟體工作的公司分成兩種型態,也有不一樣的限制。

第一種,軟體和公司密不可分

公司的收入,主要就是靠自行開發的軟體。例如你們公司自己開發App,靠銷售App賺錢。或是你們是電商,但是你們的平台的銷售狀況,跟你們的軟體有著同生共死的關係,軟體做不好,公司就會死。

這種型態的公司,「理論上」他會有完整的軟體工程職缺。所以如果想要在同一間公司裡面,嘗試在軟體開發中的各種角色,這種型態的公司比較適合。

但是有什麼限制呢?就是,台灣因為本身市場規模的關係,中小企業居多,比起有綿密的角色和人才,多半都是一人身兼多職。所以要進入這樣的公司,在台灣的機會本來就不多。所以要有這樣的選擇權,你得先進入這樣的公司。像是趨勢科技,就很符合這個型態。

第二種,軟體是公司的次要產品,或根本不是產品。

你們所做的軟體,不是你們公司的主體。有很棒,沒有也不會死。例如,你是傳統銀行的IT部門,幫公司開發自家的App,因為公司是傳統銀行,就算App出了問題,也許會損失一些商譽,但是在目前台灣的金融服務,還是非常大量的倚賴實體分行的狀況下,App的角色本來就只是把一些分行也可以處理的事情放到手機裡面罷了。或是,你們公司很大,內部自行開發了許多軟體要給自己用,例如許多許多電子公司都有員工用的簽核系統、或是監看機台、蒐集機台數據的的程式…等等

這樣類型的公司的限制,就是軟體職缺並不完整,所以要轉換職位,機會不大。同時,如果公司沒有跨出台灣,那他一樣有規模的限制,經常是一人身兼多職。

針對公司的類型,推薦的轉職路徑

「能夠進入第一類的公司,然後在公司內嘗試轉職」,是最推薦的方式。

畢竟要在公司內轉職是容易的,而且他會有真正的、正式的、不是誰在那邊兼來兼去的、跟技術比較遠,而更需要貼近業務、行銷、客戶需求、財務管理、產品規劃…這方面的職缺。

「如果你已經在第二型的公司,那建議換公司,畢竟你在原來的公司,很難真的完全轉換跑道,多半會變成兼任XXX,長期來說這並不是個好策略」但是,這個方法的門檻是,你該如何說服新公司,願意讓你擔任一個你過去根本沒有任何基礎和經驗的的職位?因此,這條路其實難度是高的,你多半必須在原來的工作之餘,就先想辦法準備新工作需要的技能,但是偏偏這些技能很多是要在工作中才能累積經驗的。

轉換的代價,隨著年資越深就越高,因此轉換要趁早

軟體工程和管理職,需要的技能是差很多的。能夠少量重疊的,大概就只有溝通的能力(是的,這是一個好的程式設計師必備的技能),以及把複雜問題拆解成小問題,然後排定優先順序、一一解決的能力。

至於你在軟體工程上面累積的任何技術,大概就變成你的背景知識,之後在思考問題的時候,你會意識到可能發生的技術問題。但是,因為軟體技術的改朝換代很快,所以那些背景知識大概也只有轉職後的幾年內有用而已,之後你還是得實際找技術人員來協助你做規劃和判斷。

更重要的是,因為兩者需要的知識、技巧幾乎不重疊,因此當你投入心力在管理,在瞭解、規劃財務、產品,或拜訪客戶、管理業務單位,那麼技術就一定會慢慢生疏,反之亦然。想要兩者兼顧(就跟前述第二型公司的軟體/管理兼任的問題),那就是在兩種能力上都會比專心其中一樣的人來得更差。

在工作的前兩三年,我們可以在這兩者都去嘗試,反正放棄掉之前的菜鳥小成果,代價不算太大。但是如果你已經30歲或更資深,那就得做個決定,並且盡量堅持下去了,畢竟再換路線的代價真的很高。

因此,

  1. 如果你沒有打算創業,那就是要在30歲的抉擇點出現的時候,決定要專心做技術,或是專心做管理。(如果你學東西很快,那可以再往後延幾年)
  2. 如果你的目標,是因為將來想要創業,創業之初可能必須事必躬親。那麼,反而就可以選擇「都做一些」這條路。畢竟在職場耕耘、升遷,這並不是你在意的,所以你也不用擔心下次換工作的時候,該怎麼回答新公司的問題了。

總結

  1. 想轉職,大型的、有全球市場的、規模大的、以軟體當作公司主要收入的公司是比較好也比較容易的。因此先想辦法進入這樣的公司
  2. 30歲以前請隨意嘗試,但無論如何,30歲左右要做出最後決定,然後盡可能不要再換了
  3. 要考量自己是否要創業。要創業就都要學一些。不創業,就要選擇在其中一個領域專精
  4. 學習能力強當然可以都碰,然後都做得還不錯。但是這世界上能力強的人多如繁星,如果他們專精在其中一樣,你的「還不錯」在他面前,就變成不值得一提的平凡,