阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈

原文出處:https://dev.to/jurajmalenica/unpopular-opinion-its-harder-than-ever-to-be-a-good-software-engineer-32ek

在創業環境中工作近十年,使我有幸接觸到創新、探索和快速失敗方法的快節奏文化。我遵循標準的晉升階梯:實習生、初級、中級、高級,最後進入工程管理軌道。隨著時間的推移,許多和我一起成長的人後來都去了其他公司工作,成為那裡備受尊敬的貢獻者。可以公平地說他們是優秀的工程師。

回顧我的同事、學員和我自己的旅程,成為優秀工程師似乎比以往任何時候都更難。

定義_好_工程師

成為工程師意味著什麼? 作為軟體工程師,我們:

  • 負責將複雜的問題轉化為高效且可擴展的解決方案

  • 負責分析使用者需求、設計軟體架構、編寫程式碼、測試和除錯軟體

  • 期望保持領先趨勢,尋求新的商機和改進現有產品的方法

所以不——工程不等於程式設計。有時,這是最小的部分。隨著經驗的積累,一定會出現這樣的情況,如下圖所示。

成為一名_優秀_工程師意味著什麼? 根據大量採訪以及支持我的學員的進步,我注意到具有不同專業水平的人可能會給出不同的答案。

剛開始的人可能會認為這是開發人員了解的語言和框架的數量。經驗豐富的工程師甚至可能不關心他們使用的語言,而是強調程式碼品質 - 遵守所有編碼原則並進行品質檢查,同時快速行動。

經驗豐富的工程師非常注重創造價值。有時,我們會快速寫出廢棄的程式碼,打破所有規則來證明一個假設;有時我們會花幾天時間編寫幾行關鍵任務程式碼。但大多數時候,我們正在製定架構決策、討論關鍵任務問題、改善流程等。為什麼?因為通常這會帶來最大的價值。

儘管規則總有例外,但我們可以說一名優秀的工程師能夠有效地集中精力,在實現目標的過程中帶來最大價值。

不斷成長的市場與競爭

科技市場不斷發展。 多年來,我們都見證了巨大的成功:從 WhatsApp 到 Uber、Airbnb 和 TikTok。雖然這些可能是例外,但這樣的例子往往為人們樹立了北極星——他們應該為此奮鬥。這種思考方式給工程師帶來了額外的壓力。他們感受到來自內部的壓力,認為自己做錯了什麼,以及來自外部的壓力,因為人們將他們的公司與許多競爭對手進行比較。

為了在這樣的環境中取得成功,公司需要“快速行動,打破常規”,正如 Facebook 的著名座右銘所說。如今,這一點比以往任何時候都更加明顯——幾乎每家公司都在成為「人工智慧公司」。每個人都在整合 ChatGPT,通常沒有真正的原因,也沒有關於如何帶來價值的策略。

透過偏離核心原則——我們如何為客戶帶來更多價值——並轉向在炒作列車上擊敗競爭對手,我們讓工程師建置注定會失敗的功能。

世界是一個令人困惑的地方

像我這樣的愛好者該怎麼做才能成為更好的工程師?除了透過改進乾淨程式碼和架構哲學來完善編碼技能這一顯而易見的選擇之外,如今還潛伏著許多誘惑。學習 TypeScript 和改變一切的最新框架,深入區塊鏈和加密世界,嘗試無數的人工智慧產品…選擇是無窮無盡的。

所有 javascript 函式庫

說實話,在這個行業工作了這麼多年,我仍然感受到 ChatGPT、GitHub Copilot 等新興技術帶來的新一波變革的威脅。我的大腦開始想像我對很多事情脫節的場景。我是否專注於能夠帶來價值的正確事物?我是否發揮了最大潛能?

一段時間後,很明顯我們正處於炒作之中。這也會過去,只剩下創造長期價值的人工智慧公司。過去 5 年,美國的人工智慧公司數量翻了一番,許多新創公司只是在當時新發布的 GPT-3 的基礎上加入了一項功能。他們後來隨著 ChatGPT 或 GPT-4 的發布而消亡,它們可以做同樣的事情,但更好。但這並不能阻止推特和其他平台的炒作大軍宣布新的世界秩序。

儘管在科技業工作了這麼多年,我還是陷入了炒作之中。菜鳥錯誤!

程式語言和新框架的不斷發布也增加了混亂。 Tailwind、TypeScript、Haskell 和 Rust 都很棒;他們每個人都有一個帶給他們優勢的角度。然而,人們常常誤以為學習它們可以為他們帶來優勢。它不會,或至少不應該。它們只是很高興了解但不能取代經驗的工具。這就是為什麼我們從不在工作描述中提出語言/框架要求。如果我因為不懂 TypeScript、即時工程或微服務而錯過一位才華橫溢的工程師,那我就太傻了。

我的建議是 - 不要陷入新趨勢和炒作,以至於失去對創造價值的關注。

快節奏與高期望

在尋求新的挑戰時,可能很難在努力爭取積極壓力的同時避免消極壓力。積極壓力是指我們將有壓力的情況視為導致良好結果的機會,而消極壓力則可以使我們獲得良好的結果。如下圖所示,會對身心健康產生不利影響。在緊迫的時間內持續交付結果是有壓力的,而出於錯誤的原因建立功能則傾向於後者。

正壓力與負壓力

作為一名導師和一名努力工作的人,我都看到壓力會導致倦怠。無一例外,讓某人經歷倦怠所帶來的產出比減少工作量、休息和長期優化要少。這就是為什麼我們總是嘗試透過定期團隊更新、一對一和培育文化,盡可能簡單地提出危險信號。

儘管如此,事情還是會出問題。當他們這樣做時,我們會縮小範圍,讓可以提供幫助的人員參與進來,或與客戶溝通以推遲發布。

壓力比以往任何時候都大,來自內部和外部。保持專注,讓自己身邊有一個長期優化的支援團隊。

我們怎麼做得更好?

我們都有情緒低落的時候──感覺自己是個不稱職的工程師、導師或同事。事情永遠不會是完美或容易的,也不應該是。如果不犯錯和經歷困難,我們就不會學習。但我發現有些事情可以提高效率。

影響力等級

就個人而言,忠於真正重要的事情。科技會來來去去,但你為世界帶來的價值才是最重要的。努力工作和經驗是很難偽造的。

作為一家公司,在做出決策時首先從「為什麼」開始。這是提供可帶來價值的功能的最佳方式。另外,請確保員工知道為什麼。根據我的經驗,他們會做出更好的決定,提供有價值的回饋,並且會更快樂。

在文化上,建立一個支持員工、長期優化的流程。與您的同事一起建立信任、支持和關懷的文化。這樣,你們就能互相發揮最好的一面。


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。

阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈