怎么做一个程序员

来源:互联网 发布:淘宝代运营易亚 编辑:程序博客网 时间:2024/04/26 23:26
 借用一句台词“如果你爱一个人,那么让他去做程序员吧。如果你恨一个人,那么让他去做程序员吧”这个世界再没有一种职业比程序员更痛苦了;再没有一种职业比程序员更快乐了;再没有一种职业比程序员更具有挑战性了;再没一种职业比程序员有更单纯的生活了。因为他是造物主,魔术师,流放者,虔诚之徒。

   如果你只想做一些,“XX管理系统”之类的东东,拜托了请不要做程序员拿起身边的可视化编程资料,用一个礼拜时间在痛苦并未来临之前掌握完成,当然不会随之而来的还有快乐。其实可以学的好方向多的是,老实说,计算机现在已经没有前几年吃香了,正处于低潮期。MBA、法律都是很好的。兴趣是我们作事的最大源动力,当你在这个行业看不到自己的兴趣所在,那么毅然决定离开是最好的选择。但如果你选择了程序员,恭喜你,世界上最美好的,伟大的,震撼的作品就在你触手可及的地方。

   一、起步

   所有人都想成为一个高手,可要知道在所有的高手成为高手之前,他自己都有一个相当长的积累时间。当然,我不是说的那种攒机高手,我是指的真正的计算机高手。比如,懂得汇编可以从事系统底层的工作,或从事软件加解密的工作,这样也可以称为高手;再比如,精通OOP,熟悉设计模式,也可以成为系统设计的高手。高手的定义很多,总体来说,“高手”是在你的实际能力和水平达到一定程度之后一个很自然的反馈。所以千万不要在起步的时候用“高手”两个字来迫害自己,每个人都是从“顺序结构”开始的,每个人都从“main函数是什么?”的问题开始的,掀开第一页,打开编译器是你的起步。执著,坚持,非凡的毅力必定会成就你的。

  二、学习

   计算机的核心课程大致为:数据结构,组成原理,离散数学,操作系统,编译原理,系统结构,软件工程,OOP,图形学,网络,C/C++/Pascal/Asm编程语言等。是的我知道你想学编程,我知道你今天就想写出一个windows 2006或者什么。我知道你不想学数学,不想学与程序看似无关的其他东东。但是拜托,请耐心点,把核心课程认真学习一遍或几遍,比如数据结构,比如离散数学,再比如操作系统和组成原理等等。为什么是“核心”以后会明白的。不要眼高手低,千万别想当然DS简单,不信你现在写个后序非递归算法,我估计你是挂了。

   三、拓展

    通过起步,你已经学会了三四个低级语言,五六个高级语言在短时间内应该能看懂100行内的程序设计思想,并用自己的组织大概写出该程序。是的恭喜你已经成为那些“会写程序的”中光荣的一员了,这时候你一定要停下来思考一下你想做什么。当你认为会编驱动程序或杀毒软件就是高手的时候,去工作吧,你很快就能在工作摸索中达到。但如果你想成为能够独立理解并设计出快速傅立叶变换算法的那种软件工程师的高手的话。强烈建议你停下来多思考,或者去读研究生,或者拿起书走进你的思考空间。

   四、自学

   计算机是一条不归路,自学!不停得自学!软件开发中需要大量的编程实践和独立思考,只有在此过程中,你才能够逐步成长起来。看书,你一定要做有理论深度的算法设计,比如大规模数据的搜索算法,性能是首要考虑因素,不要奢望SQL函数能够帮你解决问题,所有的问题你都必须自己解决,你必须解决内外存交换的性能瓶颈。再比如极品飞车的3D场景生成,图形变换,碰撞检测,物性模拟,纹理映射,灯光模型等等。如果你认为这些东西太难,不可能做得出来的话,停止!去什么北大青鸟做老师吧,那是你最适合的职业。

   五、坚持

   曾经有人问我,学计算机毅力和天赋哪个更重要。我毫不忧郁地在毅力上划了一个勾,缺乏毅力任何事情都是不可能完成的做计算机更是这样。当然要成为BILL,李开复、张亚东那样的巨人是需要有天赋的,但毅力是他们前进的基石。做什么事情都要有一心一意,凡事就怕认真。唯有坚持不懈的人,才有可能成功。

   最后送大家一句话与大家共勉:

   “他们全靠做到了不可能的事才成名的。他们的工作干得那么辉煌、灿烂,把阻碍他们的人全烧成灰烬。他们创造了奇迹,战胜了占绝对优势的对手才能成名。因为他们是卡菜尔笔下的那种满身战斗创伤,死也不肯屈服的巨人,他们才能成功。我就得这么干,我非做到不可能的事不可!” 
                                                                  -马丁伊登

 
原创粉丝点击