新手程序员必备 10 大技能
如果你已经有一段时间的编程经验,或者正准备学习编程,那么可能会考虑的是:怎样才能成为一名优秀的程序员?计算机专业的毕业生如何为软件开发和编程职业生涯做准备?职场对于初级开发人员有哪些期望?这是临近毕业或初入职场的新手程序员们密切关注的问题。
以下十项技能并不是必须,但它为程序员应该知道的事情提供了一个很好的起点,供新手程序员参考。这都是作为程序员的基本技能,将长期伴随你的程序员职业生涯。如果你的目标是从事软件开发和编程工作,那么这些都是保持竞争力而可以学习和提高的东西。
数据结构和算法
如果想成为一名合格的程序员,那么必须了解掌握数据结构和算法。这是任何编程工作面试的重要主题之一,如果不知道基本的数据结构(例如数组、链表、映射、集合),就不可能编写真实世界的应用程序。数据结构和算法是最能体现程序员基本功的方面,不管计算机专业还是培训课程,数据结构和算法都是首先教授的内容。
已经参加工作但数据结构和算法知识欠佳的同学,花点时间学一学,不要只是满足于学会什么什么工具和框架,基础知识有百益而无一害。
源代码管理
源代码管理是用来存储代码的,程序员必须了解 Git 和 SVN 等版本控制工具。源代码管理可以降低对具体人员的依赖,有利于代码审查,提升团队整体水平。
与 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 是程序员、软件开发人员、项目经理、交易者和商务人员的最佳工具之一。它不仅仅是电子表格软件,还提供了许多有用的特性和功能来执行复杂的数据分析。
程序员可以使用 Excel 来跟踪进度,协调数据,数据分析,数据质量检查和项目规划。这就是为什么敦促每个程序员深入学习 Excel 的原因。它不只有复制和粘贴数据,还应该一些基本的功能,比如搜索、排序、过滤和 VLOOKUP 来比较数据。
编程语言
作为程序员,必须深入编程语言:C++、Java、PHP、Python、JavaScript……根据兴趣爱好和具体情况进行选择。
PHP 是一门简单的后端技术编程语言,它与 HTML 关系是最紧密的,当学习 HTML 之后再来学习 PHP 你会发现很快入手,PHP 最让新生喜爱的是可以直接嵌入 HTML 运行,所以没有考虑很多问题,是选择后台编程语言的首选。
网络基础
今天的世界是互联的世界,无论走到哪里,计算机网络都是无处不在的,从家里开始,在许多设备上使用 Wi-Fi,到使用局域网(LAN)到万物互联的学校、公司和商场。
程序员编写的大多数应用程序也不是独立的,而是客户端服务器类型的应用程序,在这种应用程序中,请求将通过网络传递到服务器,客户将从世界任何地方访问该应用程序。所以程序员必须了解网络基础知识,才能更好地理解、开发和支持自己的应用程序。
脚本语言
前面已经说了编程语言,那同一种编程语言不能用作脚本语言吗?
当然,有些语言既适合面向对象编程,也适合编写脚本,比如 Python。但如果恰巧学习的是 C/C++或 Java,那么就不能像 Python 或 Perl 开发人员那样快速地完成一些事情。
脚本语言使得创建工具和脚本以解决编程世界中的常见问题很容易,如果对 Python 这样的脚本语言有很好的掌握,那么就可以轻松地实现日常工作的自动化。
以上的十条技能涵盖了每位程序员初入行业所需的必备技能,希望能为阅读到这篇文章的每一位程序员提供一参考,以及进行职业规划的新思路。也欢迎行业前辈们分享自己的经验、踩过的坑,为新手程序员保驾护航。
本文文字及图片出自 InfoQ
你也许感兴趣的:
- 【外评】电脑从哪里获取时间?
- 【外评】为什么 Stack Overflow 正在消失?
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- 【外评】哪些开源项目被广泛使用,但仅由少数人维护?
- 【外评】好的重构与不好的重构
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 【外评】代码审查反模式
- 我受够了维护 AI 生成的代码
- 【外评】Linux 桌面市场份额升至 4.45
- 【外评】作为全栈开发人员如何跟上 AI/ML 的发展?
你对本文的反应是: