2024-01-25|閱讀時間 ‧ 約 15 分鐘

DevOps 工程師轉職六個月心得


前情提要

  • 大學學歷:政大英文系
  • 移民澳洲後在會計師執業協會擔任會計移民資格審核師 (Accounting Migration Assessor)
  • 裸辭去讀了六個月的程式訓練營 (coding bootcamp)
  • 成功轉職科技業,進入 Amazon Web Services (AWS) 擔任 Professional Services Cloud Architect (簡單來說就是 AWS Technical Consultant)
  • 之後跳槽到微軟擔任雲端架構師 (Azure Solution Architect)
  • 2023 年突然覺得我還是應該要追求自己想當工程師的夢想,於是在沒什麼相關領域知識的背景下再度轉職成 DevOps Platform Engineer XD

閒聊

嗨~各位讀者們好久不見!不知道大家有沒有發現我消失了超過一個月?哈哈哈

這段時間裡,經過了一個聖誕假期、經過了一次搬家、搞定了兩套房產的貸款(我在布里斯本新買了一套投資房,然後把我在坎培拉的公寓貸款從NAB轉到CBA,過程中的辛酸血淚真是不忍再提),想想也是完成了不少事,不知不覺一月都要結束了。



通過試用期

總之,今天要來跟大家分享我入職 DevOps 工程師六個月的心得!也很高興跟大家說一聲我通過試用期啦 ^0^

澳洲的試用期 (probabtion period) 通常是六個月,通過後也不會調整薪水(因為一開始入職時領的就是全薪),這點跟台灣的風氣好像滿不一樣的?台灣好像喜歡在試用期期間稍微壓低薪水,然後通過試用期之後會加薪個三五千塊?製造一種里程碑的感覺?我個人是覺得像澳洲這樣一入職就開始領該領的薪水比較爽啦XD!

DevOps 工程師六個月心得

之前有讀者跟我提到過他們很期待我入職之後的分享,想知道我是否會後悔離開微軟或是離開雲端架構師 (solution architect) 這個職位,所以我今天就來跟大家分享一下。

首先我想說的是,雖然薪水少了 25%,但我真心完全不後悔耶!因為我現在其實也是領 Senior Engineer 的薪水 (業界水平),只是微軟的薪水太高了,所以才會有所落差XD

我不僅完全不後悔,而且還超喜歡我現在的工作 (說真的我覺得這是我這輩子做過最棒的工作) ! 主要的原因請代我細細道來:

  1. 選對直屬主管真的很重要

這點也是我在微軟工作期間學到最重要的一件事!我在微軟遇到的三個經理都是 people manager (雖然其中兩個也是 solution architects 出身),但他們真心完全沒有辦法在 technical skills 上帶給我任何成長,只會照著公司朝令夕改的政策照本宣科,整天在追我的 sales numbers 達標與否。

我現在的經理也是 engineer 出身,而且在這間公司已經 17 年了,所以無論我有任何的技術問題或是 solution design 的問題,他都可以直接給我一個答案或是一個明確的方向。我再也不用像在微軟時一樣,每遇到問題,就像個無頭蒼蠅,不管是問經理或是問同事,大家都一問三不知。不然就是問了A叫我去找B,問了B叫我去找C,然後等我找到C,他又叫我去問A(這個無限迴圈是在搞笑嗎XD)。

我現在的經理除了可以給我很多技術上的指導跟意見,他本身也有澳洲人那種很 chill 的工作態度。不管一個 ticket 我做了多久,或是犯了哪些錯,他從來都不會給我任何壓力(壓力都是我自己給自己的哈哈)。

而且我的經理他本身也很罩,如果有人要求我們 team 做一些額外的工作,他也會在評估之後直接回說「我們 platform team 就是做 centralised solution/tooling,所以我們可以提供的 solution/tooling 就是要符合大多數 development squads 的要求。如果有一個 dev squad 想要客製化的 solution 或是 use cases 很少的 solution,你跟他們說他們可以自己做XD」霸氣哈哈哈哈

2. 職位的核心工作內容我非常喜歡

DevOps 工程師完完全全就是一個 engineering role!我再也不用每天開一堆很廢的會、回答客戶很無理的要求或是跟公司內部的制度搏鬥了!

我的工作核心內容很簡單:解決技術問題!

每次討論的重點就是我們要如何設計更好的 solution、如何解決其他工程師在 platform 上遇到的問題、如何開發更好的內部 tooling、如何讓我寫的 code 運行得更有效率更加 fault proof。 而且現在開會討論完,我還可以作為實際上去執行的人,不像以前當 solution architect,講完 solution 之後執行的是其他人,然後其他人執行上有問題又要回來問我,但我沒有他們的 enviornment access 也看不到實際上執行的 code,我真的很難給建議啊 lol

所有的問題都很實際(因為都是技術問題),也可以第一手得知用戶考量跟獲得用戶回饋,我覺得非常實際、也非常有成就感!但也是有壞處啦,因為我們做的是中央基礎建設跟平台,所以只要一有問題,公司所有的工程師就會被 blocked,我的第一個月就在摸索的階段中 broke 了幾次 production 哈哈哈

團隊配置跟工作內容

這裡不免要提一下我們團隊的配置!我們是一個八人團隊(其實就 DevOps teams 來說算是一個很大的團隊了,我有朋友在 KPMG 當 DevOps,她基本上是一人團隊XD),有一個 manager、一個 testing & automation engineer,然後剩下六個都是 DevOps Platform Engineers (我是其中一個)。

我們工作的模式是一週三次 stand ups,每次 30–60 分鐘不等,如果有 solution design 需要討論,可能會再多討論個 30–60分鐘,通常都是由我發起的!因為我真的太菜了,我最喜歡跟大家討論我的 solution design XDDD 常常都可以從同事跟經理身上學到很多,而且討論時我一定會針對我不清楚的地方打破沙鍋問到底,這樣之後在執行時會少掉很多麻煩,因為我已經先找同事們集思廣益過了。

除了 manager 跟 testing & automation engineer 的工作內容比較不同,我們剩下六個人會輪流值班 support tickets 跟擔任 scrum master。因為我們是 centralised platform team,所以我們的客戶其實就是公司內部的 12 個 development 團隊 (主要以 developers 跟 business analysts 為主),大家基本上都知道自己在幹嘛,而且因為不用對到 external customers 跟 third parties 的原因溝通起來很輕鬆。

就 support 任務來說,我們每個人會輪流值一週的班,support cases 主要是來自 ticket system,或是我們也有一個 slack 讓不同的 dev squads 求救(他們也可以在上面互相幫助)。不用 on-call 輪班,除非是非常特殊的情況,不然也不需要 off hour deployment(我入職六個月還沒遇過)。

DevOps Platform Team 負責的任務有以下幾項:

  • Static Code analysis: SonarQube & Mend
  • Tooling templates
  • CDK construct
  • Remediation
  • Montoring: Datadog
  • DevOps Platform: ADO pipelines, ADO agents
  • Account migration & remediation
  • AWS infrastructure

除了 support 任務之外,每個人會被分到一個項目,平常主要就是做內部infrastructure、tooling 跟 platform 的開發。主要使用的語言是 Powershell, bash, Python, yaml, TypeScript,主要的工具/平台是 AWS platform, AzureDevOps。

其實我本來是不會 Powershell 的,結果進來之後幾乎 80% 的開發都是用 Powershell 跟 yaml 寫的XDDD 其實也沒有人特別帶我,反正一開始做的 tasks 幾乎都是 improvement 為主,所以我會花很多時間看前人寫的 code,然後再想想怎麼把 code 搬過來之後改成自己想要用的樣子。因為 Powershell 完全是零基礎的關係,我一開始還在上網查說要怎麼用 powershell 寫 if/else statement 跟 loop,真心是覺得自己好弱,而且我常常寫一寫還會不小心混入 JavaScript 的語法XDD 但我後來發現做 engineer 的好處就是,所有的程式語言其實都是殊途同歸,因為概念是相通的,只是語法略有不同,花一點時間熟悉一下不同的語法就可以了。

3. 我的團隊真的很棒

前面說過我們團隊總共有八個人,我們有四個人在布里斯本、四個人在墨爾本。但是大家感情都很好,而且非常 supportive! 每個人在開會的時候都會認真聆聽跟發言 (我會知道是因為我常常在會議中問問題,然後都會有人回答或是給我建議XD),平常如果有問題在 slack 上發問,通常也會有人回(這裡再度來臭一下微軟,我在微軟 team channel 發問是不會有人理我的QAQ)。

不只是這樣,大家也會很認真幫彼此 review pull requests。我同事有時候還常常主動跑過來問我需不需要幫忙 (因為他們可能有猜到那個我不會XD)。

其實我必須要說這是我待過團隊氛圍最好的一個團隊跟公司!

我要來舉一個很誇張的例子,目前我們公司是規定一週進兩天辦公室,其實大家可以自己任選哪兩天,但我們布里斯本團隊的人好像因為我是固定週二跟週三去辦公室,大家漸漸也就形成了這個習慣。

所以每週二跟週三,我們部門的人會一起去公司廚房區域吃午餐(這點在澳洲科技業真的很少見,因為沒有固定午餐時間的關係,大家通常都是按照自己方便的時間各自午餐)。大部分的人都有帶便當的習慣,但只要有一個人沒帶,需要出去買午餐,我們會整個 team 的人都陪那個人走去買午餐(美其名為出去散步),真的是超誇張的XDDDD 然後那個人通常因為壓力很大,所以都會在離公司很近的地方買午餐,所以我們就會一群人浩浩蕩蕩地從25樓搭電梯下樓,然後走五分鐘,讓那個人去點午餐,然後在一群人陪著他拿著便當回公司廚房吃飯XDDD (是不是根本小學生行為?XDD 說真的我一開始其實很不適應,但後來也就習慣了!而且因為每週都花了兩個小時的午餐其實在聊天,我們真的是什麼無聊的小事都聊,所以大家的感情真的很好XD)

結論

其實通過試用期這件事也很好笑,週三時我在辦公室上班,我經理突然走到我的座位問我有沒有時間很快地聊一下,我說「有啊~我需要帶電腦嗎?」結果他說我什麼都不用拿。然後我們就一起走進一間會議室,接著他說「喔~你應該有收到信說要做 probation review,但說真的我覺得也沒什麼好 review 的,總之妳通過試用期了!但我們還是要一起坐下來討論一下你這段時間的表現跟感受,然後填完這個表格XDD」然後我們才開始談我這段時間的表現,真心是 free 到我要笑死哈哈哈

總之呢,想跟妳們分享一下我很喜歡我現在的工作!當然每個工作都還是有每個工作的鳥事,我每個禮拜也還是有那麽個兩三天不想上班,偶而還是會覺得很厭世,但我真心很開心我決定要踏出這一步,因為我發現比起 consutlant 或是 solution architect,我真心更享受當一個 enigneer 的感覺。

在我離開微軟時,很多同事其實都很不贊同(是說我也沒有在追求他們的認同啦!道不同不相為謀XD),其中有兩個同事還直接跟我說「其實我覺得你不了解你自己,你天生就是做 architect 的料,也把這份工作做得很好,你不適合當 engineer」。說真的這句話對當下的我影響滿大的,我整個人開始懷疑人生,腦海中不斷浮現「難道我其實不了解我自己?這兩個同事都是資深 architects,而且其中一個人還是我的 mentor,難道他們從豐富的經驗中看透了我的本質?」

事實證明,我不敢斷言說我自己有比其他人更了解我自己,但我覺得我的優點就是勇於嘗試跟勇於放棄!每件事都要試了才知道,就算嘗試過之後覺得不如預期或是不喜歡也沒關係,就再繼續嘗試下一個選項就好了。你遠比你想像中更有選擇,所以千萬不要覺得自己自己被困住了!能困住自己的只有你自己,與大家共勉之!


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.