新手程序員必備10大技能
原創
最后编辑:李晓琳 于 2021-07-14 13:47:50
1077次查看
本篇目錄
如果你已經有一段時間的編程經驗,或者正准備學習編程,那麽可能會考慮的是:怎樣才能成爲一名優秀的程序員?計算機專業的畢業生如何爲軟件開發和編程職業生涯做准備?職場對于初級開發人員有哪些期望?這是臨近畢業或初入職場的新手程序員們密切關注的問題。
以下十項技能並不是必須,但它爲程序員應該知道的事情提供了一個很好的起點,供新手程序員參考。這都是作爲程序員的基本技能,將長期伴隨你的程序員職業生涯。如果你的目標是從事軟件開發和編程工作,那麽這些都是保持競爭力而可以學習和提高的東西。
已经参加工作但數據結構和算法知识欠佳的同学,花点时间学一学,不要只是满足于学会什么什么工具和框架,基础知识有百益而无一害。

从大的社会发展趋势来说,分布式是大趋势,Git 正好适应了这个趋势,之前的主流代码管理方案比如 CVS,SVN 都是集中式的。由于分布式的特点,造就了更高的灵活性,可以适应更多的场景。所以Git一定程度上简化了市场,对于初学者来说,GitHub终极版:MasterGit和GitHub是一个很好的开始,也需要熟练掌握诸如分支和合并等高级版本控制概念以及使用命令行和GUI的工具。
一般主要是在Windows上使用NotePad,在Linux中使用VIM,但是在高級編輯器方面有很多選擇,比如Sublime和NotePad++,後者提供類似IDE的功能。不妨花點時間學習最喜歡的編輯器和鍵盤快捷鍵,了解一些提高效率的技巧。
關鍵是應該熟悉數據庫,知道如何插入/更新/刪除數據,以及如何編寫SQL查詢來檢索數據,對諸如連接聚合函數之類的高級概念的了解也將很有意義。

與SQL一樣,UNIX也經受住了時間的考驗,已經存在了30多年。由于大多數程序員在某個時候都必須在UNIX機器上工作,因此對Linx命令行的良好了解是很有幫助的。
它可以讓程序員以更高的效率工作,可以搜索文件,通過檢查系統的CPU和內存使用情況來了解系統的狀況,並執行基本任務和高級任務。GitHub上有一份入門&進階指南,名字叫“命令行的藝術”,在GitHub收獲了5萬標星,這份資源不僅能幫助剛接觸命令行的新手,對有經驗的人也大有裨益。傳送門在此: https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md
程序員可以使用Excel來跟蹤進度,協調數據,數據分析,數據質量檢查和項目規劃。這就是爲什麽敦促每個程序員深入學習Excel的原因。它不只有複制和粘貼數據,還應該一些基本的功能,比如搜索、排序、過濾和VLOOKUP來比較數據。
PHP是一门简单的后端技术編程語言,它与HTML关系是最紧密的,当学习HTML之后再来学习PHP你会发现很快入手,PHP最让新生喜爱的是可以直接嵌入HTML运行,所以没有考虑很多问题,是选择后台編程語言的首选。
程序员编写的大多数应用程序也不是独立的,而是客户端服务器类型的应用程序,在这种应用程序中,请求将通过网络传递到服务器,客户将从世界任何地方访问该应用程序。所以程序员必须了解網絡基礎知识,才能更好地理解、开发和支持自己的应用程序。
當然,有些語言既適合面向對象編程,也適合編寫腳本,比如Python。但如果恰巧學習的是C/C++或Java,那麽就不能像Python或Perl開發人員那樣快速地完成一些事情。
腳本語言使得创建工具和脚本以解决编程世界中的常见问题很容易,如果对Python这样的腳本語言有很好的掌握,那么就可以轻松地实现日常工作的自动化。
以上的十條技能涵蓋了每位程序員初入行業所需的必備技能,希望能爲閱讀到這篇文章的每一位程序員提供一參考,以及進行職業規劃的新思路。也歡迎行業前輩們分享自己的經驗、踩過的坑,爲新手程序員保駕護航。
以下十項技能並不是必須,但它爲程序員應該知道的事情提供了一個很好的起點,供新手程序員參考。這都是作爲程序員的基本技能,將長期伴隨你的程序員職業生涯。如果你的目標是從事軟件開發和編程工作,那麽這些都是保持競爭力而可以學習和提高的東西。
數據結構和算法
如果想成为一名合格的程序员,那么必须了解掌握數據結構和算法。这是任何编程工作面试的重要主题之一,如果不知道基本的数据结构(例如数组、链表、映射、集合),就不可能编写真实世界的应用程序。數據結構和算法是最能体现程序员基本功的方面,不管计算机专业还是培训课程,數據結構和算法都是首先教授的内容。已经参加工作但數據結構和算法知识欠佳的同学,花点时间学一学,不要只是满足于学会什么什么工具和框架,基础知识有百益而无一害。
源代碼管理
源代碼管理是用来存储代码的,程序员必须了解Git和SVN等版本控制工具。源代碼管理可以降低对具体人员的依赖,有利于代码审查,提升团队整体水平。
文本編輯器
作为程序员工作时,没有一天不使用文本編輯器。即使对于非程序员和任何与计算机打交道的人来说,它也是必不可少的工具之一。一般主要是在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

它可以讓程序員以更高的效率工作,可以搜索文件,通過檢查系統的CPU和內存使用情況來了解系統的狀況,並執行基本任務和高級任務。GitHub上有一份入門&進階指南,名字叫“命令行的藝術”,在GitHub收獲了5萬標星,這份資源不僅能幫助剛接觸命令行的新手,對有經驗的人也大有裨益。傳送門在此: https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md
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这样的腳本語言有很好的掌握,那么就可以轻松地实现日常工作的自动化。
以上的十條技能涵蓋了每位程序員初入行業所需的必備技能,希望能爲閱讀到這篇文章的每一位程序員提供一參考,以及進行職業規劃的新思路。也歡迎行業前輩們分享自己的經驗、踩過的坑,爲新手程序員保駕護航。

禅道項目
