---
title: "怎麼選第一份工作？"
date: 2018-09-10T00:00:00+08:00
publishDate: 2018-09-10T09:18:58+08:00
lastmod: 2022-01-17T14:20:52+08:00
tags: ["心得","程式","Ruby"]
permalink: "https://blog.aotoki.me/posts/2018/09/10/How-to-choose-your-first-job/"
language: "zh-tw"
---


從退伍到工作差不多過了兩年，這段時間有不少經驗我想已經足夠跟大家分享。這篇算是一個前導的文章，想來跟大家分享「第一份工作」的重要性。

> 重點是技能成長那段，討論薪水的地方太長可以跳過喔 XD

<!--more-->

先不管工作的類型，或者自身的能力這些問題。已在台北工作來說，對一個外縣市的人搬到台北工作跟居住，最先要考慮的是有 30K 以上的薪資。

> 我想這應該還不算難達成的目標，而這個是在台北生活的基本。

## 生活成本

我搬到台北選擇房子的基準其實蠻簡單的，就是「舒適」要滿足。不要認為說可以居住就好，假設你會失眠，而且住的地方隔音很差，每天都會有不同的聲音來影響你休息。

這樣問題就顯而易見了，假設一天工作八小時。因為睡眠不足或者品質很差，讓你原本有 90% 的生產力下降到 70% 好了，這樣子工作的狀況會好嗎？

在吃的方面也是ㄧ樣，尤其是一些比較有心的房東會把房子處理好。但是對他來說商品的維持太糟糕，他會有額外的成本，所以可能會不允許煮飯。

那麼除了上班外食之外，晚餐跟早餐可能也都要在外面吃（而且還要吃到一定程度是健康的，不能餐餐都亂吃））

假設以套房（衛生考量）來看，一個月至少就是 9K （租屋） + 9K（餐費）左右的花費，這樣算下來 30K 的薪水，還沒扣掉水電跟瓦斯，還有可能要背的學貸跟電信費用，剩下的就幾本上就是應急用。

> 也就是說，在考慮工作之前，要先評估過該城市的生活花費有多少。考慮生活品質是要創造正向的循環，而不是一種不斷惡化的情境給自己。

## 薪水成長

之前因為噗浪上有一個匿名的問卷，我就把它做成[薪水普查](https://frost.tw/plurk-salary/)這個頁面，用來統計上面（可解析）的薪資情報。

以上面的情況來看，比較可靠的資訊可以發現大多數都卡在 45K 就看起來比較沒有成長。

先假設我們的極限就到此為止好了，那麼要選擇怎樣的公司就顯而易見了吧？假設三年就能達到 45K 的極限，跟要花上十年才能達到極限，中間缺少的那塊就能攘你在人生規劃中做更多的事情。

> 不過很可惜，我也不清楚同事調整薪水的狀況。不過第一年的調整我是蠻滿意的，第二年因為制度調整的關係我還不知道結果，不過我是蠻相信老闆們的 XD

不過，假設薪水調整幅度「大」的公司，我想能提供的薪水上限肯定也是比較高的。

不過公司的規模不一定會讓薪資成長比較大，像是我聽過親戚在看起來蠻大的公司工作，第一次調薪竟然是幾百塊為單位的（這跟沒有一樣吧？）還有就是外商來臺灣以為人才也會相對便宜，結果初期開的薪資確實是比台灣高。但是這幾年下來因為調整不多，反而變得無法提供更高的薪資（因為有太多人需要先調高）

所以剛畢業這幾年，選擇風險高一點的新創公司，老闆願意提供高薪的機會是比較大的。

> 而且有些公司會問為什麼換工作這麼頻繁，用前公司經營不善似乎是個不錯的理由（笑）

## 技能成長

既然我們已經知道薪水方面該怎麼評估，再接下來我們要看，而且要看的「很注重」的就是技能成長這一塊。

**薪水少沒關係，公司給的環境更重要**

在一間公司工作，要怎麼樣讓你的技能成長？這跟公司的方針跟給予的環境有關係，如果沒有「環境」空有「福利」你是不會進步的。

> 福利是什麼？下午茶算是一種，還有是會給你去上課，但是上的課是一些心靈課程？？？？

以目前我所在的公司[五倍紅寶石](https://5xruby.tw)來說好了，我想我目前有的技能其實應該是可以考慮換一個工作，然後要求更高的薪水。但是我基本上除非公司沒辦法繼續養我（如果有一天我的技能已經超過公司成長的速度）不然我想我會繼續待著，因為制度和自由度上很適合我。

> 不時還會有獵人頭問我，從今年開始我都是給目前工作 +30% 左右的「期望薪資」然後問問對方「現在的工作環境我很滿意，如果可以達到個水準的薪資，我再考慮放棄現在的環境」然後通常就沒下文了⋯⋯

### 引路人

以我們網路業來說，平常的工作就是網站相關的軟體工程師。我們通常會「號稱」有 Code Review （原始碼審查）或者 Pair Programming 等等機制存在，但是真正落實的機會不大，即使在五倍也沒有辦法完全落實。

原因不外乎就是成本，即使我們自己想做，客戶也不一定有時間跟經費讓我們這樣做。

但是，可以的話我們會盡力去做。尤其是針對公司的 Junior （初級工程師）做 Code Review 或者 Pair Programming 來幫助他們。

為什麼？如果你寫了十年的程式，但是從來沒有人告訴過你「其實有更好的方法」以及「用這樣的方式思考，是不是可以更俐落的解決問題」那麼你會進步嗎？除非你有一天頓悟，不然真的很難。

**工程師雖然面對電腦，但是人是需要互動跟交流的**

所以才會有像是 [RubyElixirConf](https://2018.rubyconf.tw/) 和[默默會](https://www.facebook.com/rubymokumokukai/)這類活動的存在，即使你是一個天才或者高手，你還是需要跟其他人討論和交流，去發掘自己不知道的領域和從沒有考慮過的問題。

> 尤其時你越來越強，越容易忽略一些「理所當然」但是卻沒有細想過背後原理和機制的東西。

再舉個例子，我的親戚也是工程師。但是他的公司前輩有一次問他「為什麼你要自己做，這個東西以前人做過複製貼上就好拉！」

後來我問，你做的東西問題其實很多，前輩都沒有訂正這種低級錯誤嗎？
「沒有，我們給客戶的產品只要 QA （品質測試）通過就可以了⋯⋯」

因為東西會動，所以品質測試就能通過。然後背後是否能夠有「最低限度」的可維護性，或者工程師的技能成長，就這樣被公司「節省」掉了！

**聽起來就像公司把你當做產生軟體的「工具」，而不是一個人力資源**

所以，你必須確定你的公司會在「能做到的範圍內」盡可能幫助你，而不是把你當做一個工具。

> 重複使用不是問題，但是完全不明白自己在用什麼，就是個大問題。

### 自由

在五倍，基本上不會強迫我們加班。而工作上，如果有餘裕的話，也可以用在一些改進自己技能的地方。

在五倍這兩年左右，其實我嘗試了不少東西。跟同事把原本的 Raspberry Pi （樹莓派）打卡機改寫，變成一套稍微簡單使用的 Ruby IoT 解決方案。

在公司內部嘗試了好幾次，做了很多改上讓 GitLab 跟 GitLab CI 可以運作起來、有 Staging 的環境可以自動化部屬最新的版本做測試。

最近也開始嘗試透過像是 Ansible 來做自動化的伺服器部署，以及使用 Vault 控管開發人員存取伺服器的權限等等。

甚至也嘗試基於 Scrum 和其他幾套敏捷開發的理論，改良出一套適合五倍通常以接案的專案管理流程，用來應對小團隊（三到五人）跟短期（一兩個月，或者半年）的開發。

中間還有不少時間讓我跟工作內容搭配，用來準備投稿國內外的研討會。雖然不多，但是一年至少也能夠在國內分享一兩次左右，運氣好還可以到日本分享。

最近同事也自發的在下班後利用公司的空間，開始互相教學一些自己會的技能，像是在美國住過的口說經驗、記憶學是怎麼用來輔助記憶東西的等等。

**短短兩年，你學會的技能就足以在下一次的工作上獲得更多優勢**

所以五倍的「技術力」很強嗎？從這樣的角度來看，即使現在不是，之後也會慢慢變強。

> 當然，我們也不斷面臨人才的流失。但是我們也同時的讓更多人才被發掘和成長起來。

## 總結

我目前想到的大概是這些，其實從我接觸到的一些情況會發現一件事情。

「即使再有天份或者能力，如果在錯誤的公司，就算是天才也會變成普通人」

作為一個工程師你要考我演算法或者一些計算機科學的知識，身為一個「非本科生」我沒辦法「正確」的回答，但是我能用我的經驗跟理解去解釋。

所以很多時候，知識並不重要。對求職者來說，公司對你的「態度」很重要，他會影響你之後的職涯發展。

不過，相同的你對公司的「態度」也很重要。就像今年暑假我參與了審核實習生履歷的任務，我這樣對老闆說「像是一些頂尖的學校，如果不是特別突出的話，我會先考慮其他學校表現不錯的看看」並不是因為我是私立大學畢業有偏見，我的同事大概有一半也都是這類頂尖學校的。

我擔心的是我過去接觸過一些這些學校的學生，少數會因為有自己的「想法」所以就不接受其他人給他的「想法」

這樣要團隊合作就很難了，不過最近也遇到了同校的人也有這樣的狀況，不過在這些頂尖大學發生的情況就相對多出許多，畢竟他們更有自信，也更容易有這樣的問題。

私校的學生就剛好反過來，太沒有自信而不敢把「我不行」或者「我可以」明確的提出來，反而讓管理階層在評估要給予怎樣的工作跟適合的挑戰時，有所篇差。

> 有點扯遠了，下一次的系列文就讓我來討論從我成為工程師這段時期，我的經驗和每一個階段面臨的困難和挑戰吧！

