C编程从入门到实践
上QQ阅读APP看书,第一时间看更新

3.4 如何成为一名优秀的程序员

知识点讲解:视频\第3章\如何成为一名优秀的程序员.mp4

信息技术的更新速度是惊人的,程序员的职业生涯是一个要不断学习的过程,如何才能成为一名合格的程序员,一名合格的程序员需要掌握哪些技能呢?

(1)培养对软件开发的兴趣。

因为不喜欢,所以才感觉痛苦,因为痛苦,所以很难有大的发展,因为一直没有大的进步,所以,更加不喜欢。这样会恶性循环。而正确的做法应该是,先做到对软件开发感兴趣,如何才能做到呢?首先你要对软件本身产生好奇心。做这个工作的人,多数都有这方面的爱好,自然也能感受到其中的乐趣,否则就会痛苦不堪。

(2)给自己进入软件行业一个理由。

想好理由后,写下来,放在一个适当的地方,不要随便看到,但是,永远不要忘掉。

为什么需要这个理由?原因很简单。当我听一些朋友讲述他的苦闷时,总觉得他感觉自己选择软件行业是一个错误。我问他:“你当初为什么选择这一行业?”想了半天,他才回答我。我说:“你在犹豫,这就证明你已经淡忘了当初为什么要决定入行了”。应该说人生无处不在抉择,一旦选择了就不要放弃。既然选择了就不要轻易后悔,执着地走下去。永远不要把时间浪费到对往事后悔的追忆上。

(3)熟练掌握开发工具。

作为一名程序员至少要熟练掌握两到三种开发工具,这是程序员的立身之本,其中C/C++和Java是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级软件还是用C/C++编写的。而Java的跨平台和与网络的很好结合是Java的优势。另外,需要掌握基本的脚本语言,如Python等,至少要能读懂这些脚本代码。

(4)熟知数据库。

为什么数据库如此重要?程序员自然有自己的理由:很多应用程序都是以数据库中的数据为中心的。要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。

(5)对操作系统有一定的了解。

当前主流的操作系统是Windows、Linux/UNIX和一些移动操作系统,熟练地使用这些操作系统是必需的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,它几乎具备了所有现代操作系统的特征。虽然关于Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料的。对操作系统有一定的了解后,你会发现自己会上一个新台阶。

(6)懂得TCP/IP。

在互联网如此普及的今天,如果你还没有对互联网的支撑协议TCP/IP有很好的掌握,那么就需要迅速补上这一课。网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的网络服务,再到未来的网格计算,这一切都离不开以TCP/IP为基础的网络协议,所以,深入掌握TCP/IP是非常必要的。至少,你需要了解OSI7层协议模型、IP/UDP/TCP/HTTP等常用协议的原理和3次握手机制。

(7)拥有强烈的好奇心。

什么才是一个程序员的终极武器呢?那就是强烈的好奇心和学习精神,这是程序员永攀高峰的源泉和动力所在。

(8)学好英语。

学习英语真的很重要,它是程序世界的主导语言,是计算机专业本科学生两三年的必修课,是全世界程序高手们互相切磋寻求帮助的主要工具,它还是现在大多数用人单位的敲门砖。

多读英文书。信息技术发展太快,并且由于大部分技术最先出现的时候都是用英文描述的,几个月以后才有中文版本的书出现,因此要想跟上步伐,一定要努力提高自己的英文水平,这样才能跟上信息技术的发展。

(9)学会交流。

可以经常去一些论坛交流,它们都是很不错的,没有不上网的程序员,也没有不在网上取长补短的程序员。不过在问问题之前,自己一定要先努力尝试,再总结自己的想法。动不动就问别人,自己的水平得不到提高,别人也不会一直回答你的问题。