當前位置:
首頁 > 科技 > Kotlin 威脅、Python 逆襲,2018 年程序員需要升級哪些技能?

Kotlin 威脅、Python 逆襲,2018 年程序員需要升級哪些技能?

關鍵時刻,第一時間送達!

近日,著名的技術書籍出版商 PACKT 基於 8000 名開發人員以及技術專家的工作經驗進行了調查研究,最終發布了《2018 年開發者技能提升報告》,旨在追蹤開發者的工具使用情況以及最新的技能趨勢,確保開發者做出正確的學習選擇。

本技能提升報告從 App 開發、Web 開發、安全和系統管理、數據科學四大方面入手,一窺 2018 年開發者最受歡迎的工具以及更能獲得高薪的技能。

App 開發:Java 坐穩霸主之位、iOS 應用開發更能獲高薪

編程語言:Python 受高薪程序員青睞、Java 在移動開發中大顯身手

2018 年以來,Java、JavaScript、Python 開始爭奪編程語言界的頭把交椅。不過,霸主依舊是霸主,無可比擬,Java 仍占榜首,據報告顯示,有 40% 的開發者使用 Java 進行 App 研發。而 JavaScript 和 Python 稍遜一籌,JavaScript 占 36.85%,Python 占 36.47%,後兩者之間相差不到 1%,流行度可謂不分伯仲。

除此之外,用於 App 開發的編程語言 Top 10,還有C#、SQL、C++、C、PHP、Swift、Go。

據調查結果顯示,Python 最受高收入的 App 程序員的青睞;C# 適用於企業和桌面應用程序的開發,也在遊戲開發中大顯身手,因此最受此領域的開發者們喜愛;而 Java 最受移動開發者的歡迎。

對於 App 開發,我們已經看到基於 C 語言的開發支持已經越來越少。且只有在桌面開發人員和遊戲腳本編寫人員中,C#仍然佔據著榜首位置,這意味著更多的開發者都在嘗試新的方法來構建瀏覽器以及移動端應用。

移動開發工具:Android Studio 穩操勝券

Android Studio 是移動設備端(39%)開發時的主導工具,其使用量比Xcode(16%)多出一倍以上。總體上來看,Android 開發者的數量比 iOS 要多得多。

但是,使用 Xcode,iOS SDK 或 macOS 進行開發的開發者中,有 50% 的人薪酬為 70000 美元甚至更高,所以想要在移動開發中掙取更多的薪酬,具備 iOS 技能看起來更容易實現這一目標。

遊戲開發工具:Unity 猛超 Unreal,成為遊戲開發首選引擎

對所有開發者而言,Unity 是遊戲開發的首選工具。據調查報告顯示,26% 的受訪者使用 Unity,同等類別的第二大受歡迎的遊戲開發引擎為 Unreal,佔比 11%。

企業和桌面應用開發工具

.NET、Visual Studio 和 Java EE 無疑為企業和桌面應用開發工具的前三甲。

MySQL 成為最受歡迎的資料庫

MySQL,SQL Server 和 SQLite 是最常用的資料庫。

技能提升方向

機器學習過去一年,經過數據科學、人工智慧等領域的洗禮,機器學習技術成為 App 開發者學習的下一個重要內容。將演算法智能集成到 App 中的目標極具挑戰性,並且與 App 開發的諸多功能(如會話式 UI)密切相關。基於此,受訪者還將 TensorFlow 和深度學習列為他們正在學習的新技能,這意味著 App 開發者正在學習一些最複雜、最強大的機器學習工具和技術。

Python:如果 App 開發人員正在深入探索機器學習技術,那麼其正在使用 Python 進行學習。 由於其適應性、並從機器學習演算法到 GUI能夠構建任何內容,2018 年的 Python 正成為開發者當之無愧的選擇。 這也是高收入的 App 開發者青睞的語言。

Web技術:如今 App 開發和 Web 開發之間的差距正在逐漸消失。諸如 React Native 證明了將本機 App 的可用性與 Web 應用程序的交互性相結合的體驗比以往的更強大。同樣,後端和前端之間的關係也在改變。 隨著微服務和無伺服器架構成為常態,Web 開發人員和 App 開發者開始共享非常相似的工具鏈。

區塊鏈:根據今年的調查,我們發現很多 App 開發者正在轉型區塊鏈,這也成為 App 開發者須關注的領域之一。雖然區塊鏈對電子商務等主流 App 是否有影響還有待觀察,但在不久的將來,區塊鏈更多細分的應用將會更加明顯。

Kotlin:誕生於 2011 年,但直到最近才開始真正吸引工程師的特別青睞。Google 在 2017 年宣布 Kotlin 在 Android Studio 3.0 中完全獲得支持,使之成為 Android 開發語言之一。預計到今年年底,Kotlin 將與Java 展開激烈競爭。

Rust:已經有一段時間了,但 Mozilla 去年專門成立一個團隊來繼續開發。他們希望將 Rust 定位為連接前後端的關鍵性語言——wasm-bindgen,使 Rust 與 JavaScript 可互操作。

Web 開發:Angular、React、Vue 不分伯仲

隨著越來越多的應用程序遷移到瀏覽器和雲端,網站變得越來越複雜,Web 開發也成為企業的重中之重。那麼,為了保持在 Web 開發中的領域地位,身為開發者需要了解什麼?在頂尖 JavaScript 框架的爭奪戰中,誰更勝一籌?開發者是否仍使用 JavaScript 語言呢?

當被問及時,近 2000 名受訪者表示其正在從事 Web 開發。

編程語言:JavaScript 仍然是 Web 的重點語言

令人驚訝的是,JavaScript 仍然是 Web 的重點語言。但是繼 HTML / CSS 之後的第三和第四名爭奪戰中,Python 以 3% 的差距落敗於 PHP。

然而,要論 Web 開發者學會哪種編程語言更能獲得高薪?以下這個最受歡迎的編程語言排行榜並不意味著開發者可獲薪酬的高低。據報告顯示,收入超過 7 萬美元的 Web 開發人員更可能使用C#(37%)、Java(32%)和 TypeScript(29%)。

誰贏得了 JavaScript 框架的 NO.1?

有 40% 的開發者表示他們經常使用 Angular,與之相對的是 25% 的開發者使用 React,20% 的開發者使用 Vue。但 React 的使用率正在逐日增長,特別是在薪水較高的 Web 開發人員中,他們更有可能成為 React 用戶。

有趣的是,當被問及「誰應該贏得前端工具的 NO.1?」時,開發者的支持率幾乎持平。Angular 和 React 支持者的比例相差不到 1%,Vue 也獲得了 20% 的好評。

在後端開發中,Node 仍然是開發人員最喜歡的工具。 但是,位居第二的 ASP.NET Core 使用率正快速增長,目前有25% 的受訪者使用。

在研究收入最高的 Web 開發者青睞的工具時,ASP.NET Core 的受歡迎程度進一步提高,超過 35% 的受訪者經常使用它。

技能提升方向

機器學習:對於機器學習技術進入 Web 開發領域的事實並不令人感到意外。作為 IT 從業人員,只需查看一些受歡迎的網站即可隨處見到個性化推薦正在塑造更好的用戶體驗。與此同時,隨著聊天機器人和會話式 UI 作為數字體驗的重要部分迅速興起,Web 開發者必須儘快了解該技術。此外,領先的雲平台已經開始構建機器學習解決方案,以便開發人員構建和部署演算法。今年早些時候發布的 TensorFlow.js 也標誌著在瀏覽器上運行機器學習系統將會更簡單。

React:React 為複雜管理和擁有大量數據的 App 創建提供了一種簡單的方法。它的速度也非常快,因為虛擬 DOM 是 React 的 USP 之一。可以說 React Native 已經鞏固了 React 作為權威的前端 JavaScript 庫的地位,從而可以輕鬆構建跨平台。

Angular:它是一個完全成熟的框架,相比 React,它有更多的工具套件。而且由於它是 Google 創建的,因此可以確信它始終適合 Web 用戶的需求。

Golang:它是一種非常高效的語言,可以解決現代 Web 開發中的一些痛點,如單頁面 Web 應用程序和部署在雲上。

AWS:2018 年,雲已經成為主流,而 AWS 對於 Web 開發者越來越重要的原因始於其正在向雲端轉型。AWS 是一個雲平台,其在設計時考慮到了持續交付和 DevOps。

GraphQL:在今年年底,GraphQL 作為 2018 年最重要的工具之一。 我們對 Web 開發人員開始關注它並採用它並不感到驚訝——Facebook 的數據查詢語言正在幫助塑造 API 設計的未來。 隨著 React 的知名度不斷提高,GraphQL 將會整齊地融入到 Web 開發工具鏈中。

安全和系統管理:Linux 獨佔鰲頭

過去一年裡,科技圈經歷前所未有的惡意軟體攻擊和數據泄露事件之後,強大的網路安全和良好的管理系統的愈發。但是安全和專業的系統人員每天都在使用哪些工具?

當被問及時,超過 1500 名受訪者表示他們正在從事安全和系統管理工作,諸如系統管理員、DevOps 專家、安全專家、IT 支持、後台開發者等等。

編程語言:Python 更具安全性

作為安全和系統管理中最常用的腳本語言,Python 和 Bash 位居一二。這對於從事安全以及網路和系統管理工作的受訪者而言,這兩方面都同樣重要。

頂級安全工具

Wireshark 和 Nmap 是安全工具的首選。 但僅有不到 50% 的受訪者使用 Kali Linux,它仍然是安全或系統專業人員庫中最重要的測試工具。

頂級的系統管理員和虛擬化工具

不出所料,最常用的操作系統是 Linux、WindowsOS。 但是,作為一個重要的行業工具,以快速為優勢的是 Docker。 超過 45% 的受訪者表示他們定期使用 Docker。

技能提升方向

機器學習:對於專業的安全人員來說,機器學習已經提供了識別漏洞和安全威脅的有效方法。對於系統管理員來說,機器學習可能看起來像是一種威脅,但實際上它將重塑角色。 沒錯,系統管理員可能需要提高技能,但隨著軟體基礎設施變得越來越複雜,它需要人工智慧來成功管理其集成和維護。

Kubernetes:它在2018 年構思了集裝箱化的未來。隨著 Docker 現在通過在企業版中提供支持來認可 Kubernetes 在集裝箱化領域的實力,可以說Kubernetes 在集裝箱業務方面是同類中最好的。隨著集裝箱化持續發展,Kubernetes 將變得越來越重要,它在大規模部署中提供的控制級別令人印象深刻。

Python :一種多功能語言。 作為腳本語言,它為測試人員和 DevOps 工程師提供了大量的控制權——可以幫助他們解決問題。通過機器學習,Python 也將發揮重要作用,使其不再是來自數據科學特定背景的工程師。

AWS 和云:在雲計算領域,Google、微軟、亞馬遜競爭非常激烈。但是相比之下,AWS 似乎確實成為許多人選擇的雲解決方案。它是否能夠維持其知名度還有待觀察 - 隨著企業和工程師尋找更多定製的雲平台,我們可能會開始看到混合雲解決方案脫穎而出。

Ansible:Ansible 可能是最權威的配置管理工具。Ansible 在過去幾年的崛起主要歸功於它的自動化功能。 並且隨著對工程師和系統管理員面臨持續的時間壓力,自動化成為必要的需求。

數據科學:Python 逆襲 R,使用率高達 77%

2018 年,數據分析是否會侵入 IT 領域的方方面面?

在 Skill Up 數據調查中,App 以及 Web 開發者均談到機器學習以及其他頂尖的數據技術對於其未來成功的重要性。那麼對於數據而言,運用的編程語言有哪些?數據分析師常用的庫和工具是什麼?在此過程中,數據分析師最關心的是什麼?

數據科學的第一語言——Python

整體來看,Python 儼然成為數據科學的第一語言。相比它的傳統競爭對手 R,Python 的使用率高達 77%,是 R 的兩倍還多。Python 的易用性、功能強大的工具和庫、以及在數據領域之外通用可以快速使用,種種因素使其在 2018 年幾乎成為每位開發者必備的編程語言技能。

令人驚奇的是,在數據科學領域,JavaScript 比 Java 更為常用。究其根本原因,是因為隨著構建基於 Web可訪問的商業項目的需求不斷增長,越來越多的數據科學專家需要掌握 Web 技術。

庫、工具、框架

撇開傳統的 Excel 之後,十大最常用的數據工具中的八個是從 Python 中派生出來的。這也是導致 Python 崛起的關鍵優勢之一。

技能提升方向

TensorFlow、深度學習和機器學習:進一步推進機器學習演算法將成為未來一年及以後每個數據科學人員面臨的主要挑戰之一。 對於某些人來說,這意味著要深入研究難以置信的複雜 AI 系統。對於其他人,特別是那些從數據分析開始的人來說,通過 TensorFlow 熟悉深度學習將是深入學習的重要一步。

區塊鏈:數據專家是最有可能將區塊鏈視為革命性的組織。這是有道理的,特別是在 2018 年對數據的焦慮的情況下。通過區塊鏈,數據更安全;分散式分類賬可以讓數據科學專家更清楚地了解數據的來源和收集時間。 從分析和信任的角度來看,這都是好消息。

云:如果今天的軟體基礎架構都是基於雲,那麼數據科學專家的前景將無可限量。雲不僅改變了數據存儲的方式,也可使分析人員和科學家更容易接觸數據,此外,一些雲解決方案開始具備機器學習功能。這消除了數據分析師面臨的一些挑戰,最重要的是,節省了大量時間。

Spark:將 Spark 歸於技能提升源於其兩個關鍵因素——規模和速度。 沒有其他數據平台可以讓開發人員以極快的速度處理大量的數據。

總結

根據 2018 年開發者技能提升報告整體來看,Java 在編程語言中雖佔據主導地位,但是受 Google 支持的 Kotlin 發展趨勢也不容小覷。與此同時,Python 成為眾星中最閃爍的一顆,在 App 開發、Web 開發、安全和系統管理、數據科學中,它均為必備技能之一。

最後,隨著 Google Duplex 聊天機器人等高級人工智慧助理的不斷升級,機器學習技術的廣泛運用,或許我們正處於另一場真正技術革命的邊緣。

2018 技能提升報告:https://www.packtpub.com/skill-up-2018


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

一套代碼iOS、Android兩端運行,Google Flutter意味著什麼?
用機器學習預測誰將奪得世界盃冠軍?附完整代碼!

TAG:CSDN |