標題:全端疲勞:
已發布:真實
描述:為什麼保持相關性就像攀登珠穆朗瑪峰
標籤:fullstack、webdev、learningtocode
封面圖:https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uybul08lr5exl0045eek.png
當我成為付費程式設計師時,我只會一門語言:DBase。好吧,如果算上 BASIC,我會兩種,不過關於 BASIC 的討論還是少一些為妙。你可以用 DBase 編寫一個功能齊全的應用程式,然後以 exe 檔案的形式發布。你還需要了解一些資料結構。入門門檻並不高。
如今,編寫 Web 應用程式需要什麼?你需要 HTML、CSS 和 Javascript。你需要採用一個前端框架,例如 React。你需要學習後端語言,現在的後端語言也可以是 Javascript,也就是 Node。或者,你也可以使用 Java 或 Python。你可能會使用 SQL 資料庫,所以你需要了解 SQL。你需要透過 REST 公開服務,所以需要一個 REST API 框架。你需要將程式碼儲存在版本控制中,現在通常是 Git。要部署應用程式,你通常需要了解雲端服務、Docker 和 Kubernetes。
您的應用程式需要實現安全性和身份驗證,OAuth2 可以滿足這些需求。您還需要一個 CI/CD 系統,之前使用的是 Jenkins,但現在會根據平台而有所不同。您需要學習 AWS 上的 Cloud Formation 和 Azure 上的 Bicep,以實作基礎架構即程式碼。
這並非高級技術棧,而是「全端開發者」應具備的技能組合。身為軟體開發者,我一直深知,你不能停滯不前。老一輩的 COBOL 程式設計師或許一度風光無限,但最後卻只能困在一座日漸衰退的孤島上。因此,持續學習始終是保持競爭力的必要條件。
我最終專注於整合和業務自動化,學習了 jBPM、Bonita、Activiti,但即使如此,時代也在不斷進步,新的方法讓 BPM 類型的解決方案黯然失色。
儘管我競相學習新技能,但要保持領先於需求卻變得越來越困難。如果我都遇到困難,那麼初級開發人員的處境肯定像珠穆朗瑪峰一樣艱難。更何況,人工智慧如今正在蠶食這一領域,讓入門職位的競爭更加激烈。
認為現在和過去一模一樣是危險的。我原本以為未來對開發者來說會比較容易,會有更好的工具,讓生活更輕鬆,但證據似乎不是。人工智慧在某些方面讓事情變得更容易,但也更加不透明,賦予人們權力,卻沒有賦予他們軟體經驗。
我們是否應該期望人們成為萬事通,能夠處理從前端到雲端基礎設施設計的所有事情?我剛開始的時候,一切都在一台電腦上進行,應用程式編譯成一個檔案。如今,我們擁有高可用性的分散式叢集、複雜的部署流程和品質門控。開發人員至少應該了解整個堆棧,並對其進行一些接觸,這是件好事,但深入了解整個堆疊已經變得不切實際。
我們是否正在切斷年輕開發者的人才輸送管道?我們是否對他們寄予了過高的期望?在招募過程中,有沒有辦法降低這些期望?或者,我們認為人工智慧將成為靈丹妙藥,徹底消除我們編程的必要性?