您的位置:首页 > 职场人生

如何成为一个优秀的程序员

2008-03-16 22:44 751 查看
这是前一阵子给新人讲perl时顺便聊的一些废话。暂且存放在这里。

关于自学

程序员这个行业需要不断地学习、充电。有人说过,现今的知识体系在20年之后就会成为一堆垃圾。
注意这是指整个IT行业说的,具体到某个人的话,可能五年后你的知识就没用了。 所以要不断地开阔眼界,学习知识。

那么如何学习?我认为最重要的就是学会搜索。如今,你不会编程没关系,不会配服务器没关系,
只要你会搜索,你就是好的程序员。Web2.0的发展,使得论坛、个人网站等过时,维基、博客流行起来,
而大量有价值的技术信息都分散在成千上万个博客上。因此,你得学会用好搜索引擎,推荐使用Google。
大部分人喜欢用百度,我无可厚非,不过个人认为,对于程序员来说,Google的准确性要比百度高很多。

那么如何使用Google?我总结了下面的几种情况:

访问某官方网站,直接Google一下它的名字。如微软,你不必记住
www.microsoft.com 这个域名,只需要打开Google搜索“微软”即可找到目的地。

查找技术文章,搜索相关关键字即可。假设你要在Linux下装Web服务器,想象一下如果你想写一篇这方面的技术文章,你会用哪些词语,这些词语就是关键字。

解决技术难题,如编译错误、配置错误等,可以直接搜索错误信息。世界上那么多优秀程序员,你遇到的问题一定有人遇到过并解决了。

另外还有一个 Google Code,它可以搜索网上的源代码,想找程序例子时非常有用。 网站地址请自己去搜索。

自学的第二个重点,就是要学会举一反三,严禁不求甚解
网上有人说按照某种方法能够解决某某问题,于是你就原封不动地照搬过来,
结果问题依旧无法解决,于是你就给那篇文章的作者发信说“你的方法不对”啦“我这里不行啊”之类的话。
程序员最要不得的就是这种态度,影响别人也耽误自己。 别人提出的方法,你不能生搬硬套,而是应首先理解他为什么要这样做,
这样做有什么道理,然后再根据自己的实际情况找出适合自己的解决方法。 这样解决问题的同时自己的技术水平也会得到提高。

最后一点就是要多多关注新事物。这些年新概念、新事物不断涌现出来,
如Web2.0、P2P、Ajax、维基、博客、阅读器、flickr、youtube, 几天不看新闻就会觉得自己跟不上时代了。

在这里我推荐几个较好的技术网站,有条件的可以天天上去看看, 了解一下技术发展情况。同样,网址自己去查。

del.icio.us
这是个网络书签网站,主题是技术。每天上去看看大家推荐的技术文章很有好处。

抓虾
一个在线RSS阅读器,同样也有推荐功能。目前技术氛围比较浓,可以去看看热门技术文章。

digg
也是网页推荐的网站,同样能找到很多技术文章。

豆瓣 图书推荐网站。

关于技术

许多人以掌握多种语言、掌握多种技术为荣,会C、C++、VC、Delphi、VB、PHP、Perl、Oracle等似乎就很了不起。
的确这样的人才不可多得,但我想告诉你的是,这不应该是你追求的目标。

技术的发展是无穷无尽的,尤其是现在,创立一门编程语言、一个程序库、一个开发框架是个很简单的事儿,
有点技术基础的人谁都能做。而要想将这些技术全部学会是不可能的。
你应当着重学习技术背后隐含的思想。弄明白了思想,就很容易举一反三,
再学其他技术就非常容易了。

例如,学C++时不应该花太多时间在C++本身上,而应该重点掌握面向对象概念。
学会了面向对象,再学Java、Python、Ruby等就非常容易。
学过Java的人应该知道Struts这个开发框架,弄懂Structs的思想, 再学其他开发框架时就能举一反三。

建议大家没事儿学学下面的技术:

C或C++,注意不是VC,更不是微软的MFC库。许多语言如Java、PHP、Perl、Ruby都是从C语言发展变化而来,学通了C,其他语言就唾手可得了。

Linux,学它的原因,一个是它免费,二是掌握Linux的思考方法,能很大提高日常工作的效率。

另外,我们学技术不仅是为了工作,更是为了解决实际问题。这里有个原则:同一件事而不要做第二遍。
用好Excel、Linux等工具,让计算机帮我们做重复的工作,不仅能大幅提高效率,本身也是件很有趣的事儿。

结语

说了这么多,其实总结起来就一个字,就是。技术学活了,程序员也就不难做了。







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息