職業倦怠
四年前,我開始擔任初級 AWS 雲端工程師。我被網上發布的該職位所有積極方面所吸引。儘管我仍然熱愛我的工作,但有幾件事你必須要知道。在這個影片中,我將列出在進入雲端工程師職業之前你需要接受的五件事。首先,我們需要談談每個雲端工程師都面臨的最令人沮喪的挑戰,這個挑戰可能會導致你最終離開這個行業。
想像一下,你是一個小型機場的空中交通管制員。起初,你每天管理少數幾個航班,仔細協調它們的動作。你有雷達和通信渠道,一切都運行得很順利。但是,然後你的機場擴大並成為國際樞紐。你突然要負責 200 個航班,而不是每天處理 20 個航班。工具沒有改變,工作人員也沒有增加,但期望卻提高了。你現在做出的每個決定都會影響十倍以上的飛機,壓力真的開始增加。
這可能是許多雲端工程師的現實,特別是那些在平台團隊工作的人。一位 Reddit 用戶表示,平台工程是新的倦怠輪子。40 個團隊現在需要你的工具,否則業務價值就無法交付,但項目才剛開始,我們對任何工具都沒有要求。
對於雲端工程師來說,考慮一下一天的生活可能會發生什麼。凌晨 3 點,一個關鍵的生產系統發出警報,需要立即關注。到上午 9 點,與需要新功能的開發團隊開會。到午餐時間,他們正在排除安全漏洞。到下午,他們正在審查不同團隊的架構變更,每個團隊都認為他們的請求是最緊急的。
技術本身也在不斷發展。雲端工程師需要了解網絡、安全、開發工具、自動化、成本優化等。我記得讀到一位工程師將其描述為餵養一台不斷生長新零件的魯布·戈德堡機器,而你卻在努力維護舊零件。
你可能會認為公司可以僱用更多的人來幫助處理工作負擔。某些公司確實這樣做。他們投資於新的工程師,並在培訓他們方面投入大量資金。但同樣,一些公司可能會優先考慮效率。在這種情況下,工作量和壓力可能會非常大。這不一定是雲端工程獨有的,但這是進入該職業的新人絕對應該考慮的事情。職業倦怠是真實存在的,你可能需要為此做好準備。
被誤解和低估
除了職業倦怠之外,幾乎所有雲端工程師都必須處理另一個挑戰,這可能會決定你的職業生涯的成敗。
讓我們談談樂團指揮。他們將許多音樂家聚集在一起,每個音樂家演奏不同的樂器,並將它們融合成一場表演。他們自己可能不會演奏任何樂器,但他們對音樂理論和節奏的理解確實使整個表演成為可能。但是想像一下,如果有一天小提琴手開始說:“指揮不是真正的音樂家。他們只是揮舞著手臂。”這有點不尊重,對吧?
事實是,這有時是雲端工程師所面臨的。他們承擔著多項責任,確保網絡安全、優化數據庫性能、編寫自動化腳本和基礎設施即代碼。就像指揮一樣,他們需要了解數字樂團中的不同“樂器”。網絡、安全、Linux,是的,還有軟件開發。
但他們可能會面臨其他開發人員或業務中其他角色的輕視態度,這些人將基礎設施工作視為只是點擊操作。例如,這位高級開發人員表示,他認為軟件工程師希望通過限制其他角色可以做的事情來顯得比其他角色優越。本質上,他們想聲明只有軟件工程師才能從事構建/維護 Python 庫和 Docker 映像的工作,而系統管理/DevOps 類型的角色則被貶低為單個文件的 Python 腳本和 bash 文件。
招聘人員也無濟於事。這位工程師說,一位招聘人員問他:“你真的會編碼嗎?你知道,真正寫一個程序。”
這種誤解不僅僅是傷感情。它有真正的後果。當基礎設施工作被視為次於應用程序開發時,它會影響職業生涯和薪資水平。我不是說每個公司都是這樣。就我個人而言,我很幸運沒有經歷過 Reddit 上的工程師所描述的那種糟糕的事情。但這種看法確實存在。
現實情況是,雲端和基礎設施工作可能會被誤解,因此被低估。僅僅擁有技術專長是不夠的。你必須準備好為自己辯護,並與這些看法作鬥爭,以確保你的技能得到適當的認可。
不斷學習的壓力
還有另一個隱藏的因素正在驅使一些雲端工程師離開這份工作。
想想一位專業廚師。在典型的餐廳廚房中,廚師通過多年的重複掌握了他們的技藝。他們完善了自己的技術,記住了食譜,並對自己的工具形成了直觀的理解。一旦他們達到了特定的水平,他們就知道他們的技能和知識將在未來許多年為他們服務。他們仍然需要學習新東西,但不會以如此快的速度。
但是想像一下,如果每隔幾周就有人完全重新設計他們的廚房。爐子現在工作方式不同了。烤箱有新功能,必須學習。如果不能立即掌握這些變化,可能會對數千名客戶產生負面影響。想像一下,當你還在學習新爐子時,他們已經宣布了下個月即將推出的另外三個廚房升級。
這是雲端工程師必須面對的事情。雲端提供商經常發布其服務的新更新。大多數時候,這些都是非常小的變化,但有時這可能意味著整個服務將被棄用或添加一個全新的服務。雲端工程師必須跟上所有這些變化,並確保他們的技能保持最新。
壓力不僅僅是學習新東西。它是關於所需知識的深度和廣度。有一天你深入研究 Terraform 配置,第二天你更新安全協議以符合 GDPR 合規性。
雲端行業也不像其他具有數十年最佳實踐和指南的成熟技術領域那樣成熟。去年被認為是最佳實踐的東西今天可能會改變。雲端提供商本身經常重新定義術語和服務名稱,使得在不同雲端平台上保持一致的詞彙表變得困難。
還有一些壓力要求深入專攻特定平台,如 AWS 或 Azure。公司越來越採用混合方法,這基本上意味著使用多個雲端平台。因此,工程師必須足夠靈活,能夠在不同的環境中工作,同時仍然保持對其主要雲端平台的專業知識。
就我個人而言,我很喜歡不得不不斷學習新東西。對於職業生涯初期的人來說,我確實認為這有一些積極的方面。如果你接觸到更多的問題,你作為一名工程師的發展會更快。但這種跟上許多事情的壓力可能會壓倒一切,如果你正在考慮進入這個角色,這絕對是你應該考慮的事情。
無法控制的壓力
不僅僅是不斷學習新東西的壓力。還有很多其他壓力,有時你甚至無法控制。
想像一下,你被聘為賽車隊的首席機械師。團隊聘請你是因為你有良好的往績和經驗。但有一個問題。這些現代賽車包含由製造商完全鎖定的複雜電子控制單元和操作系統。你可以訪問儀表板上的某些信息,但核心系統,即車輛性能的核心,只能由製造商訪問。
在比賽日,數百萬人在觀看,汽車開始失去動力,但診斷系統只顯示一個非常通用的錯誤代碼。你認為這可能是固件問題,但你無法證明或修復它。你可以重新啟動系統,檢查連接,並嘗試解決方法,但你無法實際解決根本原因。你有解決問題的知識,但你沒有權限應用這些知識。
這與雲端工程師有時必須經歷的事情類似。他們被聘請是因為他們在構建、維護和優化雲端基礎設施方面的專業知識。但在底層,一切都由雲端提供商管理和擁有。雲端工程師在這個中間層運作。他們可以接觸到基於雲端構建的服務,但當事情在那個層面上出錯時,他們無法接觸到雲端提供商的數據中心、網絡或系統。
這本身並不是問題。問題是公司內部的業務人員有很大的壓力。對他們來說,雲就是雲,雲端工程師負責任何與雲相關的事情。
這種情況在雲端提供商發生重大中斷時尤其令人壓力山大。雲端工程師有很大的壓力來解決問題。但大多數時候,我們能做的最好的事情就是提供來自雲端提供商本身的更新。有時甚至這也不可能。一位工程師說,在一次中斷期間,狀態頁面由 Azure 託管。如果 Azure 關閉,狀態頁面也會關閉。
我認為隨著時間的推移,這可能會變得更加壓力山大。你會開始收到這樣的問題:“我們解決這個問題的計劃是什麼?”或者“還要多久才能解決?”或者“你現在正在採取什麼步驟?”大多數時候,最誠實的答案是我不知道提供商何時會修復它,或者我正在像其他人一樣刷新狀態頁面。但這顯然是一個相當大膽的聲明,可能會在其他人眼中損害你的可信度。
因此,雲端工程師實際上可以做的和他們被期望做的之間的這種期望差異絕對是值得考慮的事情。作為一名雲端工程師,你可能會在中斷期間最終看起來不勝任,即使你已經盡了一切努力,這可能會非常壓倒一切。一位工程師說,幾乎對所有事情都半責任,這讓人肩上的負擔很重。
因此,不切實際的期望和來自擁有有時你無法控制的系統的壓力是你需要考慮的一個因素。
你應該成為雲端工程師嗎?
考慮到所有這些,你真的應該成為一名雲端工程師嗎?我認為這取決於幾個關鍵因素。如果你是這樣的人:一、對不斷學習新事物感到自在;二、喜歡工作的不可預測性和非結構性;三、在高壓情況下表現良好,那麼我認為這對你來說是一個不錯的選擇。
在整個影片中,看起來我好像在試圖說服你不要成為一名雲端工程師,但這是錯誤的。我已經做了將近 4 年的雲端工程師,我喜歡它。我喜歡技術挑戰,喜歡我要學習的不同東西,喜歡我接觸到的不同 IT 和技術領域。就我個人而言,積極因素絕對超過消極因素。
如果你同意我的觀點並想成為一名雲端工程師,那麼你需要學習每個雲端工程師都使用的最重要的工具。所以,點擊這裡了解那是什麼以及如何學習。