軟件工程師:2020必備的技能


軟件工程師:2020必備的技能

作者 | javinpaul

譯者 | 張濤

出品 | CSDN(ID:CSDNnews)

本文分享作者認為每個程序員在2020年需要了解或學習的技巧。其中編程語言包括C++、Java,必需的計算機概念包括數據結構、算法和計算機網絡概念,工具包括Git、Docker、Kubernetes和容器,雲計算概念和平臺包括AWS、GCP、Microsoft Azure,常青樹技能包括SQL和UNIX,編輯器包括Eclipse、Visual Studio,文本編輯器包括VIM和NotePad++等。

本文提供的列表可能並不完整,但為程序員需要知道的技能提供了一個好的起點。如果你有志於軟件開發職業或想找編程方面的工作,那麼本文的內容是你所需要知道的,並且可以用來提高競爭力。

軟件工程師:2020必備的技能

廢話少說,這裡列出了一些我個人認為每個程序員都應該知道的技能,不管他從事的是什麼工作。這些都是必要的技能,並且長期為你受用。任何在時間、金錢和努力方面的投資都會幫助你在整個職業生涯中獲得回報。

2020軟件工程師必備的11項技能

1、容器(Docker和Kubernetes)

在2020年,作者認為程序員、軟件工程師、數據科學家,甚至項目管理人員都應該瞭解一些Docker和Kubernetes這樣的容器和工具的相關知識。

Docker這樣的容器不僅可以幫助開發者在統一環境下測試有用,但是可以簡化部署過程。在Docker的幫助下,不僅可以快速部署應用,還可以提供進程隔離。與Docker類似,Kubernetes是一個容器工具,可以幫助管理容器

也就是說,你無需擔心應用的可擴展性,因為Kubernetes或K8s 可以自動解決這一問題。研究人員建議開發人員在2020年學習Docker和Kubernetes。

軟件工程師:2020必備的技能

2、雲平臺(AWS、GCP、Azure)

除了容器外,雲計算是另一個軟件工程師和數據科學家2020年需要學習的知識。由於雲計算的低成本和良好可擴展性,不同領域和規模的企業都在遷移到雲平臺,也就是說你遲早需要與雲應用打交道。

對數據科學、機器學習和人工智能領域來說,更是如此。因為只有雲平臺才能提供模型所需的計算能力。Amazon Web Service (AWS)、Google Cloud Platform (GCP)和Microsoft Azure是常見的雲平臺,

但你無需學習全部,學習一種就可以對其他平臺的知識有一定的瞭解。

研究人員建議從學習AWS開始,因為AWS是最主流和最成熟的雲平臺之一,而且業界對擁有AWS知識的開發人員和系統管理員都有大量的需求。

軟件工程師:2020必備的技能

3、數據結構和算法

如果你想成為一個程序員,那麼必須要了解數據結構和算法。因為這是所有編程工作面試的主要論點,沒有數組、鏈表、圖、集合這樣的基本數據結構知識,是不可能開發出現實的應用的。

這也是為什麼每個程序員在計算機科學課程中有大量的數據結構和算法的課程。

軟件工程師:2020必備的技能

4、版本控制工具(Git)

源控制是用來保存代碼的,如果你想成為程序員或軟件工程師,那麼必須要了解Git和SVN這樣的版本控制工具。

目前有超過70%的組織使用Git,因此研究人員也建議從學習Git開始。

軟件工程師:2020必備的技能

作為程序員,每天都會使用文本編輯器。甚至有些非程序員也會每天都使用文本編輯器。研究人員常用的兩款文本編輯器是NotePad(Windows)和VIM(Linux)。

目前,文本編輯器的選擇很多,研究人員推薦Sublime和NotePad++這些提供IDE功能的高級編輯器。

軟件工程師:2020必備的技能

6、IDEs (VSCode或IntelliJIDEA)

Eclipse、Visual Studio Code這樣的IDES對編程人員來說是最重要的工具。對使用C、C++、C#語言的程序員來說,Visual Studio是毫無疑問的選擇,對python開發者來說,Jupiter Notebook是不錯的選擇。

對Java程序員來說,有3款推薦的IDE,分別是Eclipse、NetBeans、和IntelliJ。作者最喜歡的IDE工具是Eclipse。

軟件工程師:2020必備的技能

7、數據庫和SQL

SQL已經有30年曆史了,已經成為經典,作者預測會再火30年。對程序員來說,熟悉SQL數據規範化和表設計這樣的數據庫概念是必須的。

目前主流的數據庫軟件有Oracle、MySQL、Microsoft SQL Server、PostgreSQL等等。最重要的一點是要熟悉數據庫,包括數據插入、更新、刪除和用SQL查詢來提取數據。瞭解join這樣的數據庫概念會成為加分項。

軟件工程師:2020必備的技能

8、UNIX (Linux)

和SQL一樣,UNIX也有超過30年的歷史了。因為程序員在大多數情況下需要在Unix機器上工作,因此瞭解linux命令行知識是非常重要的。

因為這可以讓你更高效地工作,比如搜索文件、檢查CPU和內存使用情況來了解系統運作情況,執行基本和高級任務。

軟件工程師:2020必備的技能

9、OOP編程語言(C++、Java、Python)

作為程序員,瞭解一些像C++、Java、Python、JavaScript這樣的編程語言是必須的。你可以選擇想學的語言,但作者個人推薦至少要學習和了解Java。

因為Java非常適合初學者,而且功能非常強大,有許多的庫函數可以直接使用,從web開發到大數據。

軟件工程師:2020必備的技能

10、網絡基礎知識

當今世界是一個互聯的世界,計算機網絡和WiFi遍佈學校、辦公室。大多數應用並不是單機運行的,客戶端-服務器模式中的客戶端可以通過互聯網請求從世界上的任意一個地方訪問服務器提供的服務和應用。

作為程序員,必須要了解開發和支持應用所必須的網絡基礎。

軟件工程師:2020必備的技能

11、腳本語言

在第8個必備技能中,作者建議開發人員學習編程語言,這裡又建議學習腳本語言,為什麼呢?編程語言可以用作腳本語言嗎?

對OOP編程和python這樣的腳本,這樣的語言是可以做腳本開發的,但是如果你學習的是C/C++或Java,

那麼學習Python或Perl這樣的語言是非常重要的,因為腳本語言更加快捷。

在編程的世界裡,腳本語言可以很容易地創建解決常見問題的工具和腳本。學習了Python這樣的腳本語言後,就可以輕鬆地實現日常事務地自動化。

軟件工程師:2020必備的技能

以上就是作者認為程序員應當學習的11個技能。計算機專業學生和有志成為程序員都可以根據以上請單來學習以成為一個好的程序員。


分享到:


相關文章: