JavaRush /Java Blog /Random-TW /瑞典人和死神。誰是全端開發人員以及如何成為全端開發人員?

瑞典人和死神。誰是全端開發人員以及如何成為全端開發人員?

在 Random-TW 群組發布
瑞典人和死神。 誰是全端開發人員以及如何成為全端開發人員? - 1電腦開發領域有一個職位神秘而晦澀,但同時又極具吸引力。正如您可能已經理解的那樣,這就是全端開發人員的職位。它贏得這種有爭議的聲譽有多種原因,以下將對此進行討論,但簡而言之,這都是因為開發人員和其他技術專家無法就真正的全端開發人員應該是什麼達成共識。 瑞典人和死神。 誰是全端開發人員以及如何成為全端開發人員? - 2

“全端開發人員是技術奇才,了解所有程式語言和技術,而且唱歌跳舞也很優美。”

Ian Peters-Campbell 是
一位經驗豐富的開發人員,也是軟體公司 Stickbuilt 的創辦人。

誰是全端開發人員?

那麼,什麼是傳統意義上的全端開發人員呢?最常見的定義告訴我們,這是一個負責開發系統功能所有部分的專家,包括產品的用戶端(前端)和在分散式伺服器上運行的內部程式碼(後端)。一般來說,如果招募廣告中出現「全端」一詞,則意味著開發人員必須同時具備後端和前端開發的知識和技能。然而,許多公司走得更遠,他們所說的「全端開發人員」指的是一個全能士兵,不僅能夠開發軟體產品的所有組件,而且還可以承擔其他一切,從產品管理到建立營運伺服器上的系統並修復辦公室印表機。事實上,在大多數情況下,全端開發人員需要對成功完成專案所需的技術集有相當程度的了解。因此,在這種情況下,「堆疊」是指組合在一起以實現所需功能的軟體模組和組件的集合。 瑞典人和死神。 誰是全端開發人員以及如何成為全端開發人員? - 3

為什麼這個話題如此有爭議?

關於全端開發人員真正應該是什麼,以及這樣的野獸是否存在足夠的數量以將這些專家分成一個單獨的群體的爭論已經持續了相當長的一段時間。正如經驗豐富的程式設計師所指出的那樣,在2000 年代Facebook 成立之初,Facebook 的代表在一次專門為開發人員舉行的會議上發表演講時表示,他們只僱用全端開發人員後,它又重新煥發了活力。「如果全端開發人員的傳統定義讓你感到困惑,那麼一切都是正確的。這是因為全端開發人員是短暫的。沒有科學模型可以描述什麼是「全端」。與其他類似開發人員相比,沒有明確的方法來衡量全端開發人員的水平。關於全端的唯一共識是,沒有人就這現象本質的單一定義達成一致。這就是為什麼你讀到的關於這個主題的所有內容都只不過是主觀意見,」經驗豐富的軟體開發人員和架構師 Ryland Goldstein 說。 瑞典人和死神。 誰是全端開發人員以及如何成為全端開發人員? - 4

全端開發的四大支柱

然而,儘管許多專家認為全端開發人員是一個有爭議的概念,但空缺並沒有減少,恰恰相反。因此,讓我們看看通常情況下,您需要具備哪些領域的知識才能申請此類職位。
  1. 前端開發。

    通常,前端是指 HTML、CSS 和 JavaScript 等 Web 開發技術和程式語言。它還包括 React 等 JavaScript 框架,以及與產品「客戶端」相關的所有其他技術。

    從哪裡開始學習:

    您可以從Create React AppGatsby框架開始,使用它們可以輕鬆建立一個成熟的 React 應用程式。學習 CSS 預處理器、 CSS-in-JS等基本 CSS 工具以及Sass等工具是個好主意。

  2. 後端開發。

    後端包括伺服器上運行的所有程式碼,包括使網站正常運行的應用程式和 API。後端的主要程式語言有Java、Python、Ruby等。除此之外,後端開發還包含資料庫管理,這需要SQL知識。

    從哪裡開始學習:

    首先,建議從加深對 JavaScript 的了解開始,JavaScript 在許多情況下是前端和後端之間的橋樑。特別是,學習NodeJS是一個好主意,它是一個基於 V8 引擎的軟體平台,可將 JavaScript 從高度專業化的語言轉變為通用語言。

    Также для того, чтобы иметь максимально полную квалификацию в бэкенде, рекомендуется, помимо Java, постепенно осваивать такие языки программирования, How Python (в первую очередь), PHP и Ruby.

  3. Проджект-менеджмент.

    От проджект-менеджера, если вкратце, требуется управлять проектом, что включает множество задач, среди которых взаимодействие с клиентами, коллегами, сторонними подрядчиками и т.д. Словом все, что нужно для успешной реализации проекта. Сюда также входит планирование, принятие стратегических решений по работе над продуктом и т.д.

    С чего начать изучение:

    Для успешного развития в качестве проджект-менеджера не помешает изучить наиболее популярные инструменты в этой сфере. Основными можно назвать: GanttPRO (сервис для планирования и управления проектами с помощью диаграммы Ганта), Jira Software (популярная система для планирования и отслеживания agile-проектов), LiquidPlanner (инструмент для проджект-менеджмента в реальном времени), Basecamp (еще одна система управления проектами и совместной работы) и т.д.

  4. DevOps.

    Ну и, наконец, четвертым столпом фуллстек-девелопмента является знание DevOps. Обязанности DevOps-а могут сильно отличаться в зависимости от проекта, но How правило к ним относится все, что касается запуска программного codeа в продакшн, включая, например, настройку serverов, на которых будет функционировать приложение, и обеспечение слаженной работы специалистов команды вместе с техническими решениями, которые они используют.

    С чего начать изучение:

    Сфера DevOps также включает в себя довольно много всяких инструментов. Вот те, с изучения которых имеет смысл начинать: инструменты управления исходным codeом (GitLab, GitHub, Bitbucket), CI/CD-инструменты (Ansible, Jenkins, Chef), тулзы для коммуникации и коллаборации (Slack и Microsoft Teams), а также сервисы облачных вычислений и хранения данных (AWS, Azure и GCP).

    瑞典人和死神。 誰是全端開發人員以及如何成為全端開發人員? - 5

    Помимо вышеперечисленных четырех базовых составляющих “полного стека,” он не был бы действительно полным, если бы не включал в себя также мобильную разработку, базы данных и QA автоматизацию — истинный Full Stack разработчик разбирается и в этих технологиях тоже.

Зарплаты Full Stack разработчиков

至於全端開發人員的薪資,他們的平均薪資並不比從事更具體開發專業的同事高多少。根據PayScale 的數據,在美國,全端開發人員的平均年薪接近 7.5 萬美元。同時,最低工資(全端職位的程式設計師)約為每年 4.6 萬美元,最高約為每年 11.4 萬美元。至於前蘇聯國家,根據Work.ua資源,在烏克蘭,全端開發人員的平均薪資為每月3.5 萬格里夫納(約1,300 美元),而在基輔則為4.5 萬格里夫納(約1,650美元)。根據這些數據,在俄羅斯,全端開發人員的平均薪資在 4 萬盧布(530 美元)到 15 萬盧布之間。(2000 美元)。如果我們談論整個世界的平均水平,那麼從事我們今天考慮的職位的專家每年的收入約為 45,000 美元。在歐洲,全端開發人員在丹麥和瑞典的薪水最高。 瑞典人和死神。 誰是全端開發人員以及如何成為全端開發人員? - 6

如何成為全端開發人員?

現在,讓我們簡要回顧一下您需要掌握的技能、能力和技術,以便充滿信心地稱自己為全端開發人員,而不帶有任何諷刺意味。
  1. 程式設計語言.

    全端開發人員必須精通多種程式語言。首先當然主要有:Java、PHP、C#、Python、Ruby、Perl等。簡而言之,就是最有可能編寫產品主要業務流程的那些最受歡迎的語言。當然,要完美地學習所有這類語言將是極其困難的。但你至少需要掌握在開發中發揮重要作用的語言的語法,並且還需要充分了解如何基於一種或多種語言構建、設計、實現和測試項目。

  2. 框架和程式碼庫。

    好吧,在大多數情況下,對主要程式語言的良好了解包括使用流行框架和庫的能力,例如 Java Spring、Hibernate、Python Django、PHP thinkphp、MyBatis 等。

  3. 前端技術。

    前端技術知識對於全端開發人員來說也非常重要,並且隨著時間的推移而不斷增加。如今,當產品的便利性和整體「包裝」變得與功能同等重要時,專案整體成功的一個重要部分就落在了前端的肩上。對於Full stack,你至少需要了解基本的前端技術,即HTML5、CSS3和JavaScript,並掌握主要的前端框架和函式庫,即JQuery、LESS、SASS、AngularJS以及前面提到的反應。

  4. 資料庫.

    資料庫是「全端」的另一個重要組成部分,因為任何產品或服務都需要在某個地方儲存資訊。因此,全端開發人員應該至少了解幾個最受歡迎的資料庫系統以及如何使用它們。當今最受歡迎的資料庫系統是 MySQL、MongoDB、Redis、Oracle、SQLServer 等。其中,MongoDB作為各種網路專案最受歡迎的資料庫,MySQL和Oracle作為企業產品領域的後端最受歡迎,Redis常用於快取和提高系統效能。

  5. 管理和軟技能。

    但要在這個領域取得好的成績,光是學習一些技術或程式語言是不夠的。成功的專案管理涉及許多組成部分,包括時間管理、規劃、良好的溝通技巧等等。而這一切主要是透過實踐而獲得的。

  6. 設計基礎知識。

    最後,設計知識,即 UX/UI 設計,雖然處於基礎水平,但也在全端開發人員的能力範圍內。

    順便說一句,這是一個精心設計的路線圖,旨在以圖形方式顯示上述所有技術。

結論與展望

從以上所有內容可以得出結論,為了成為一名成熟的甚至標準的全端開發人員,您將不得不花費大量的時間和精力。然而,持續不斷的練習可以讓你隨著時間的推移掌握更複雜的學科。最重要的是要了解該去哪裡,努力學習關鍵技能,並且不要停止自學。但你是否需要做出這樣的努力才能成為成功的全端開發人員是另一個問題。如果我們談論這類工作的優點和缺點,缺點是顯而易見的——你需要學習很多東西,了解很多不同的東西。優點更複雜。與高度專業化的程式設計師相比,全端開發人員通常有機會對整個專案產生更大的影響。對於大多數人來說,這會提高工作滿意度,並且 ChSV 會再次綻放並散發出香味。然而,了解成功開發所需的全方位技術和技能有時會帶來真正無限的可能性。人們相信,全端開發人員最常成為成功的 IT 企業家。一般來說,擁有這樣一套技能的人,無論遇到什麼危機, 一定不會失業。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION