新手程式設計師必備10大技能

陳琦聊測試發表於2021-07-14

如果你已經有一段時間的程式設計經驗,或者正準備學習程式設計,那麼可能會考慮的是:怎樣才能成為一名優秀的程式設計師?計算機專業的畢業生如何為軟體開發和程式設計職業生涯做準備?職場對於初級開發人員有哪些期望?這是臨近畢業或初入職場的新手程式設計師們密切關注的問題。

以下十項技能並不是必須,但它為程式設計師應該知道的事情提供了一個很好的起點,供新手程式設計師參考。這都是作為程式設計師的基本技能,將長期伴隨你的程式設計師職業生涯。如果你的目標是從事軟體開發和程式設計工作,那麼這些都是保持競爭力而可以學習和提高的東西。

資料結構和演算法

如果想成為一名合格的程式設計師,那麼必須瞭解掌握資料結構和演算法。這是任何程式設計工作面試的重要主題之一,如果不知道基本的資料結構(例如陣列、連結串列、對映、集合),就不可能編寫真實世界的應用程式。資料結構和演算法是最能體現程式設計師基本功的方面,不管計算機專業還是培訓課程,資料結構和演算法都是首先教授的內容。

已經參加工作但資料結構和演算法知識欠佳的同學,花點時間學一學,不要只是滿足於學會什麼什麼工具和框架,基礎知識有百益而無一害。

原始碼管理

原始碼管理是用來儲存程式碼的,程式設計師必須瞭解Git和SVN等版本控制工具。原始碼管理可以降低對具體人員的依賴,有利於程式碼審查,提升團隊整體水平。


從大的社會發展趨勢來說,分散式是大趨勢,Git 正好適應了這個趨勢,之前的主流程式碼管理方案比如 CVS,SVN 都是集中式的。由於分散式的特點,造就了更高的靈活性,可以適應更多的場景。所以Git一定程度上簡化了市場,對於初學者來說,GitHub終極版:MasterGit和GitHub是一個很好的開始,也需要熟練掌握諸如分支和合並等高階版本控制概念以及使用命令列和GUI的工具。

文字編輯器

作為程式設計師工作時,沒有一天不使用文字編輯器。即使對於非程式設計師和任何與計算機打交道的人來說,它也是必不可少的工具之一。

一般主要是在Windows上使用NotePad,在Linux中使用VIM,但是在高階編輯器方面有很多選擇,比如Sublime和NotePad++,後者提供類似IDE的功能。不妨花點時間學習最喜歡的編輯器和鍵盤快捷鍵,瞭解一些提高效率的技巧。

IDE

對於任何程式設計師來說,現代IDE都是非常重要的工具。對於C、C++和C語言程式設計師,選擇非常明確:Visual Studio。對於Python開發人員來說,Jupiter Notebook每天都在變得越來越好。對於Java程式設計師來說,有三種主要的IDE可供選擇:Eclipse、NetBeans和IntelliJ。對於用“世界上最好的語言”PHP的程式設計師,PHPStorm、Sublime Text 都是不錯的選擇。

資料庫和SQL

SQL允許使用者每次訪問一大批的資料。透過一條語句,SQL命令就能夠檢索或者更新多個表中的數千條記錄。這就避免了很多的複雜性。當想要處理每一條記錄時,計算機程式不再需要按照特定的順序一次讀取一條記錄。過去需要數百行程式程式碼才能完成的任務,現在只需要幾行程式碼就可以完成。SQL是經典之作,資料庫無所不在,程式設計師應該熟悉一些基本的資料庫概念,如規範化和表設計以及SQL。

關鍵是應該熟悉資料庫,知道如何插入/更新/刪除資料,以及如何編寫SQL查詢來檢索資料,對諸如連線聚合函式之類的高階概念的瞭解也將很有意義。

Unix或Linux


與SQL一樣,UNIX也經受住了時間的考驗,已經存在了30多年。由於大多數程式設計師在某個時候都必須在UNIX機器上工作,因此對Linx命令列的良好了解是很有幫助的。

它可以讓程式設計師以更高的效率工作,可以搜尋檔案,透過檢查系統的CPU和記憶體使用情況來了解系統的狀況,並執行基本任務和高階任務。GitHub上有一份入門&進階指南,名字叫“命令列的藝術”,在GitHub收穫了5萬標星,這份資源不僅能幫助剛接觸命令列的新手,對有經驗的人也大有裨益。傳送門在此:

Excel

Excel是程式設計師、軟體開發人員、專案經理、交易者和商務人員的最佳工具之一。它不僅僅是電子表格軟體,還提供了許多有用的特性和功能來執行復雜的資料分析。

程式設計師可以使用Excel來跟蹤進度,協調資料,資料分析,資料質量檢查和專案規劃。這就是為什麼敦促每個程式設計師深入學習Excel的原因。它不只有複製和貼上資料,還應該一些基本的功能,比如搜尋、排序、過濾和VLOOKUP來比較資料。

程式語言

作為程式設計師,必須深入程式語言:C++、Java、PHP、Python、JavaScript……根據興趣愛好和具體情況進行選擇。

PHP是一門簡單的後端技術程式語言,它與HTML關係是最緊密的,當學習HTML之後再來學習PHP你會發現很快入手,PHP最讓新生喜愛的是可以直接嵌入HTML執行,所以沒有考慮很多問題,是選擇後臺程式語言的首選。

網路基礎

今天的世界是互聯的世界,無論走到哪裡,計算機網路都是無處不在的,從家裡開始,在許多裝置上使用Wi-Fi,到使用區域網(LAN)到萬物互聯的學校、公司和商場。

程式設計師編寫的大多數應用程式也不是獨立的,而是客戶端伺服器型別的應用程式,在這種應用程式中,請求將透過網路傳遞到伺服器,客戶將從世界任何地方訪問該應用程式。所以程式設計師必須瞭解網路基礎知識,才能更好地理解、開發和支援自己的應用程式。

指令碼語言

前面已經說了程式語言,那同一種程式語言不能用作指令碼語言嗎?

當然,有些語言既適合物件導向程式設計,也適合編寫指令碼,比如Python。但如果恰巧學習的是C/C++或Java,那麼就不能像Python或Perl開發人員那樣快速地完成一些事情。

指令碼語言使得建立工具和指令碼以解決程式設計世界中的常見問題很容易,如果對Python這樣的指令碼語言有很好的掌握,那麼就可以輕鬆地實現日常工作的自動化。

以上的十條技能涵蓋了每位程式設計師初入行業所需的必備技能,希望能為閱讀到這篇文章的每一位程式設計師提供一參考,以及進行職業規劃的新思路。也歡迎行業前輩們分享自己的經驗、踩過的坑,為新手程式設計師保駕護航。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978795/viewspace-2781191/,如需轉載,請註明出處,否則將追究法律責任。

相關文章