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

2020-12-11 CSDN

作者 | javinpaul

譯者 | 張濤

責編 | Carol

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

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

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

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

1、容器(Docker和Kubernetes)

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

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

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

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

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

對數據科學、機器學習和人工智慧領域來說,更是如此。因為只有雲平臺才能提供模型所需的計算能力。Amazon Web Service (AWS)、Google Cloud Platform (GCP)和Microsoft Azure是常見的雲平臺,但你無需學習全部,學習一種就可以對其他平臺的知識有一定的了解。

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

3、數據結構和算法

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

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

4、版本控制工具(Git)

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

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

5、文本編輯器(VIM)

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

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

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。

7、資料庫和SQL

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

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

8、UNIX (Linux)

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

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

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

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

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

10、網絡基礎知識

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

作為程式設計師,必須要了解開發和支持應用所必須的網絡基礎。

11、腳本語言

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

對OOP編程和python這樣的腳本,這樣的語言是可以做腳本開發的,但是如果你學習的是C/C++或Java,那麼學習Python或Perl這樣的語言是非常重要的,因為腳本語言更加快捷。

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

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

原文連結:

https://dev.to/javinpaul/11-essential-skills-software-developers-should-learn-in-2020-1bio

【End】

相關焦點

  • Linux運維工程師必備的技能有哪些?
    很多企業想要招聘專業的Linux運維工程師,Linux運維工程師必備的技能有哪些?千鋒帶你一起了解。1、Linux系統基礎:包括Linux的基礎知識內容和命令使用,以及用戶和權限等核心知識點,同時你還需要了解Linux進程、資源、任務、文件、軟體包、磁碟等管理方法。
  • 2020 年數據科學就業市場必備的五項技能
    雷鋒網AI開發者按,數據科學是一個競爭激烈的領域,人們正在迅速學習越來越多的技能和經驗。這導致了機器學習工程師的從業要求的直線上升,所有的數據科學家也需要成為開發人員。為了保持競爭力,一定要為新工具帶來的新工作方式做好準備!以下就是2020 年數據科學就業市場必備的五項技能。
  • 2020年軟體工程師的薪水是多少?
    根據美國勞工統計局(BLS)的報告,美國軟體工程師的平均年薪為101,790美元。入門級軟體工程師的薪水範圍則在56,000美元到85,000美元之間。下表列出的是2017年北京軟體工程師的月薪。軟體工程師與其他IT職位的薪資比較下表比較了美國軟體工程師與其它IT工程師的年薪。
  • 明知故問 | 2020熱門職業——軟體開發工程師前景如何?
    軟體工程師的涵蓋比較廣泛,狹義上講包括軟體開發工程師和軟體測試工程師,廣義上則還包括UI設計人員、產品經理等等。軟體開發工程師又分前端開發工程師和後端開發工程師等等。他們的前景雖然都很好,但是具體還是有一些差別的,今天我們著重聚焦的是軟體開發工程師。
  • 軟體工程師必不可少的5種基本技能
    確保將這些技能添加到您的武器庫中Photo by Rich Tervet on Unsplash如今,軟體工程師需要掌握多種技能。 我們都知道明顯的那些。 在該列表的頂部,您會發現需要了解如何編程的知識,因此需要了解一種程式語言。
  • 為什麼說寫作技能對於軟體工程師來說很重要?
    圖源:unsplash我從事軟體開發行業已經有段時間了,見證了不同的項目以及團隊合作和招聘新人的方式。白板面試的問題仍存在爭議,但理想的面試方案尚未找到。這種類型的面試無法發現工程師其它的技能——這些技能通常被低估,但是能給團隊帶來很多好處。其中有一項對工程師尤為重要,雖然它常常被忽視。所以它是什麼呢?是寫作技能。我們花了大量的時間來學習如何成為一個更好的編碼員,但沒有將足夠的時間用在寫作和交流上。
  • 軟體=高薪?揭秘軟體工程師不為人知的薪水水平
    軟體工程師在哪裡機會最多?不同軟體工程師的薪水分別是多少?幾十年前,如果需要一個軟體應用程式,只需聘請一個工程師,所有問題便會迎刃而解。然而,隨著技術的進步,開發中不斷出現新的挑戰,對軟體開發技能的需求也急劇增加。在這樣的情況下,軟體工程師的薪水暴漲便不足為奇了。說到高薪人們就會精神振奮,我們放眼全球來看一看。哪個國家/地區薪水最高?軟體工程師在哪裡機會最多?
  • 到2020年,軟體工程師的薪水究竟有多高?
    幾十年前,如果需要一個軟體應用程式,只需聘請一個工程師,所有問題便會迎刃而解。然而,隨著技術的進步,開發中不斷出現新的挑戰,對軟體開發技能的需求也急劇增加。在這樣的情況下,軟體工程師的薪水暴漲便不足為奇了。
  • 軟體工程師薪水知多少?
    幾十年前,如果需要一個軟體應用程式,只需聘請一個工程師,所有問題便會迎刃而解。然而,隨著技術的進步,開發中不斷出現新的挑戰,對軟體開發技能的需求也急劇增加。在這樣的情況下,軟體工程師的薪水暴漲便不足為奇了。JWxednc說到高薪人們就會精神振奮,我們放眼全球來看一看。
  • 男人必備100項技能之家務活篇
    圖中男子帶孩子逛超市的畫面非常有愛,主要原因是——帥  據城市晚報3月5日報導,「能拯救全世界,但是只拯救你」的都敏俊教授熱度未消,最近有一份名為《男人應掌握的100項技能》的問卷在微博上熱傳,答題的男性紛紛表示「鴨梨山大」,高呼「臣妾做不到啊!」
  • 電子工程師掌握這6個技能,月薪25K!
    許多剛入行電子行業的工程師和應屆畢業生,還有工作了幾年的工程師但是不知道自己需要提高那些方面知識給小編留言,希望小編能給些工程師的必備技能和知識
  • 揭秘軟體工程師不為人知的真實薪資
    軟體工程師在哪裡機會最多?不同軟體工程師的薪水分別是多少?幾十年前,如果需要一個軟體應用程式,只需聘請一個工程師,所有問題便會迎刃而解。然而,隨著技術的進步,開發中不斷出現新的挑戰,對軟體開發技能的需求也急劇增加。在這樣的情況下,軟體工程師的薪水暴漲便不足為奇了。說到高薪人們就會精神振奮,我們放眼全球來看一看。哪個國家/地區薪水最高?軟體工程師在哪裡機會最多?
  • 軟體測試工程師需要掌握哪些技能
    軟體測試工程師需要掌握哪些技能大家都知道功能測試是測試工程師的基本功,今天就來和大家說說功能測試需要掌握哪些技能...2.查看日誌如何寫好測試用例在測試過程中很重要的一類文檔,它是測試工作的核心、是在測試時輸入輸出的標準、是軟體需求的具體對照。編寫測試用例,是測試人員的基本功,但是真正能寫好的人並不多。
  • 職場有用功 | 不同軟體工程師的薪水分別是多少?
    然而,隨著技術的進步,開發中不斷出現新的挑戰,對軟體開發技能的需求也急劇增加。在這樣的情況下,軟體工程師的薪水暴漲便不足為奇了。說到高薪人們就會精神振奮,我們放眼全球來看一看。哪個國家/地區薪水最高?軟體工程師在哪裡機會最多?當然,薪水高低通常與經驗、地點和行業是密不可分的。
  • Revit2020BIM軟體+教程+視頻建築人必備技能可下載
    2020最火BIM(Revit)軟體+教程+視頻限時分享三天BIM裝配式作為現在最火的話題,後面有國家的支持,你看火神山,這裡面BIM裝配式的功勞多大,所以考一個BIM技術員升職加薪這是必須的!學會BIM,就算以後跳槽也會有好的公司好的待遇,現在BIM技術已經成為當代建築行業必備的基礎技能了。所以想要升職加薪的,可以學習一下!
  • 軟體工程師崗位面試技能解讀
    編輯的話:做為軟體工程師,在入職一個企業之前,技術面試是必不可少的一個環節。面試官通過對應聘者進行提問交流,考察應聘者的技術能力。但是往往技術面試問題考察的並不單是應聘者對問題技術本身的考察,更多的是基於對面試問題背後的學員的思考能力、設計能力、邏輯思維能力甚至團隊協作能力的考察。
  • 2020職場AI技能排行榜:TensorFlow熱度飆升,Python最火
    軟體工程師最愛 Python,市場部也愛在 2020 年,Python、Java、AWS 和 web 開發框架(React、Angular、Spring 和 Node.js)將成為最受軟體工程師歡迎的技能。2020 年最受軟體工程師歡迎的 10 項技能(Python 居首)。
  • 軟體工程師比電子工程師更有錢途?
    我是在校大學生 專業是電子工程,初中也參加過NOIP。雖說走軟體方向更容易入手 但還是覺得電子更好玩所以選了這個專業。為什麼感覺硬體類的學生很不吃香?比如有很多軟體工程師的個人博客,類似MATRIX67、酷殼、阮一峰等等,但是偏硬體的就很少。
  • 助理工程師必備技能:機械零件測繪實用教程-收藏
    important}助理工程師必備技能:機械零件測繪實用教程-值得收藏
  • 2020年必備的5個數據科學技能
    更新你的技能,為2020年數據就業市場準備!數據科學是一個競爭激烈的領域,人們正在迅速積累越來越多的技能和經驗。這導致了機器學習工程師的工作描述越來越豐富,因此我對2020年的建議是,所有的數據科學家也需要成為開發人員。為了保持競爭力,你一定要為新工具帶來的新工作方式做好準備。