---
title: "轉職工程師：尋找自己的價值"
date: 2018-11-06T00:00:00+08:00
publishDate: 2018-11-06T20:55:40+08:00
lastmod: 2022-01-17T14:20:52+08:00
tags: ["Ruby","程式","心得"]
permalink: "https://blog.aotoki.me/posts/2018/11/06/Become-a-programmer-Find-your-own-value/"
language: "zh-tw"
---


這系列的文章已經稍微討論過我自己在學習寫程式過程中的[心態](https://blog.aotoki.me/posts/2018/09/25/Become-a-programmer-lose-at-the-starting-line/)、[方法](https://blog.aotoki.me/posts/2018/10/02/Become-a-programmer-how-to-start/)跟[困難](https://blog.aotoki.me/posts/2018/10/23/Become-a-programmer-Why-is-bottleneck-coming-very-soon/)，最後就來討論最後一個我認為很重要的問題。

不論學了什麼，或者有多麽厲害的技術，作為一個工程師我們的價值在哪裡？

<!--more-->

## 殘酷的問題

有時候，可能會想到一些在網路上看過或者似乎很已明的人，可能會有點嫉妒「明明沒什麼能力為什麼待遇這麼好？」「他只是運氣好而已吧！」「他只是靠關係而已！」之類的，我們越思考這個問題，就開始覺得有很多人「條件比自己差」但是總是能能拿到比自己好的待遇。

所以，問題真的是自己「能力」差的關係嗎？忘記從什麼時候開始，我偶爾會思考這個問題。

很可惜，在「業界」能力雖然很重要，但是偏偏不是「唯一」的條件。

> 還有一些人是很擅長包裝自己，不過這篇文章不討論，因為我也不太清楚那是怎麼運作的。

## 應該扮演的角色

以在五倍來說，在很多外面的活動如果被老闆們介紹，常常會聽到老闆說「我們家的工程師都比老闆厲害」這樣的話，在五倍老闆（甚至負責行政的同事）幾乎全部的人都懂程式，但是為什麼會這樣介紹呢？

單純就技術面來說，老闆們確實在像是「開會」的這些日常任務中慢慢失去了可以磨練技術的機會。但是對五倍這間公司重要的是什麼？公司的案源、人脈，還有面對客戶的壓力等等問題，都是由「老闆」這個角色負責的，所以能力真的很重要嗎？

**要看你現在是什麼角色**

我從小就確定我不適合當「領導者」這個角色，如果是小團隊的話我倒是有自信讓一個團隊發揮出更好的成果，但是如果是一個大的組織，我認為我是不適合帶領一大群人的。

所以我給自己的角色是一個「輔助者」的角色，儘可能的讓被支援的人可以安心的去專注在他應該專注的事情上，以我的工作來說，我要做的就是儘可能地去改善開發上的環境跟方法，讓公司能有更多的選擇。

> 有機會我就會去嘗試一些新的東西，像是 CI/CD 的建立、一些針對工程師的輔助和管理的工具等等，或者是在部署上的嘗試，因為不知道什麼時候可能會需要用到，必要的時候也能夠過類似的概念去推測對應的方案。

其實這些事情誰來做都可以，只不過⋯⋯

**對你來說，你認為值不值得做？**

## 失去還是得到？

以前和人聊過，如果把一些東西「自動化」之後，原本自己負責的工作就會變得輕鬆。那麼就有可能失業或者被安排更多的工作，那麼「自動化」到底是好還是不好呢？

像是前陣子因為人工智慧的發展，開始能夠自動的寫程式，就有人就開始提出「未來工程師會失業」之類的像法，或者像是淘寶這幾年用人工智慧製作廣告橫幅的技術好了，設計師或工程師真的會失業嗎？

週末在 Netflix 上看了一部叫做「機械拳擊（Megalo Box）」的動畫，在主角爭奪進入決賽的資格時，對上的就是人工智慧的拳擊裝甲，但是即使人工智慧能夠預測所有的動作，當他碰到預期之外的事情時，他就無法做出反應。

而裡面總是回提到一句話「在擂台上，只有真的能留下來」

所以，我實際上是不擔心，也不害怕我去做這些工具、自動化的輔助，會影響我在工作上的待遇或者工作的內容，對工作來說，我的想法也挺簡單的。

**得到多少待遇，就付出多少力氣**

所以當我有能力創造這些工作加速我的工作時，我應該是期待我的待遇會被提高才對吧？因為我能比其他人負擔更多任務，也就表示我在一個團隊裡面「更重要」

另一方面，即使我把這些東西設定和配置出來，也不代表在缺少我的情況下這些工具是能使用的。

> 大家有沒有碰過一些接過來的專案，所有人都是照著使用，但是卻沒有人知道最初是怎麼用的？而原作者可能還已經離職很久了，這個東西其實處於隨時都可能突然無法用的狀態。

就像我配置的 CI 設定好了，雖然大部分的專案都能複製過去使用，但是每個專案的細微差距，其實在不同專案間因為沒有調整而有些微的問題，但有在使用的同事都沒有注意到（最後是我自己找出來）

**改善自己跟同事的工作環境，不會是件壞事**

> 另一個角度想，某件事情都是你在負責，已經嚴重干擾自己日常的工作。把他教給同事跟自動化，是改善工作的品質的一種手段，而且能讓你更專心在該做的事情上。

## 你需不需要夥伴？

以前我覺得我「自己」就能夠做到所有的事情，什麼事情都「自己來」就可以了。畢竟從後端、前端或者設計、管理以及其他相關的知識，我都學過，也都建立了一個基本的概念。

不過，如果只是一個小專案，自己來是沒有問題的。但是現在是一個稍微有點規模的專案呢？即使動作再快，方法再好，也跟不上需求，所以你總是會需要夥伴。

**在一個團隊，只追求自己的進步效果是很差的**

如果你待的是一間很好的公司，最後選擇離開的理由通常會是什麼？我認為大多會是待遇和同事跟不上你的進步，所以你必須去換一個更好的公司。

但是如果這是一間夠好的公司，同事跟待遇都還不錯，如果發現同事跟待遇都要跟不上自己的話，我該做什麼事情？

**讓這個團隊成長**

程式語言社群其實就是一個例子，只要還有人希望這個語言成長、有人使用，那麼就會開始分享、舉辦活動。這也是我很喜歡找同事聊技術（即使同事可能不想！？）或者參加研討會去分享我知道的東西，因為只有創造一個良性的循環，我們才有機會繼續互相讓對方成長。

 > 而且收到回饋的時候，會發現有更多有趣的事物可以去探索。
 
 ## 自身的價值
 
 不論是在玩遊戲，或者是在工作上，我想不管是誰都希望自己「被信任」所以老闆/組長才會放心的把工作交給你，而我們的責任就是把工作做好、完成。
 
 在五倍我也是很相信同個專案的同事，無關能力或者其他東西，我認為一起工作的夥伴都會把工作做好為前提，如果真的做的不理想，那麼就來討論為什麼會這樣，要怎麼改善就好。
 
 所以，得到的待遇跟期待，有時候無關能力，還跟態度有關係。
 
 就像[怎麼選第一篇工作？](https://blog.aotoki.me/posts/2018/09/10/How-to-choose-your-first-job/)和[我怎麼準備履歷](https://blog.aotoki.me/posts/2018/05/14/About-my-first-time-interview-and-resume/)兩篇文章，我都提出「態度」的問題。
 
 我設定給自己的角色是一個「輔助」的角色，而且我相信同事跟老闆應該都是「信任」我會把事情做好，所以才會請我協助的。
 
 > 提升能力對我來說確實是重點，但是在能力之外，我還是會注意我自己的態度是不是正確，或者有沒有要改善的地方。
 
 偶爾有人會問我說「以你現在這樣的能力，這個待遇是不是太低了？」我雖然會想一下，但是其實並沒辦法做出一個適當的回答，一方面是我認為我的表現老闆都看得到。另一方面是我知道我自己還有很多地方做不好，像是有時候會對一些問題因為定義上很糾結，反而卡住跟客戶討論的進度，或者不太能掌握該提出什麼比較適合。
 
 **能力只是一種手段可以靠學習，但是人格特質需要細心培養**
 
 所以不要覺得上了課就能順利成為工程師，也不要覺得能力很強了就可以拿到好的待遇。因為我們的問題很可能「不在能力」上面。
 
 > 其實工程師的職缺也不難拿到，還是很常聽到有人在找工程師。只不過作為一個工程師之外，是不是還需要有其他人格上的要素去配合，才能擔任好這個角色？
 
 ## 總結
 
 雖然文章提到了除了個人能力以外，扮演什麼角色也很重要。還有一個我「不擅長」也「不喜歡使用」的方式，那就是讓自己變得出名（包裝自己）。這不是一件壞事，只是要看運用得恰不恰當就是了，至少在我知道的人們裡面，有惡名昭彰的，也有我認為做得非常好我學不來的。

 **太多出名的人都是過度包裝的**
 
 如果是因為做事做得好（像是教學、熱心參與社群）而變得出名，那當然是令人尊敬的。不過現實上，程式圈我們總是會看到一些「沒有什麼實力」的人被很多人吹捧，然後因為支持者眾多，有很難提出反面的意見，反而讓很多可以思考跟討論的問題剩下一個唯一的答案。
 
 雖然不知道是不是錯覺，其實我個人感覺這幾年很多真正的高手都像是隱居起來，然後一些社團之類的混亂，就這樣繼續亂下去⋯⋯（也許是真的回到累了，所以放手了吧 XD）
 
 所以比起這些方式，我比較喜歡慢慢累積，隨著時間體現（累積）自己的價值。
 
 > 寫文章、分享、參與社群活動，其實很累，不過也是一種累積的方式。


