做一名合格的程序员

  很早就想写一下这方面的文字,一直又感觉好多想法很凌乱,无从下笔;最近又遇到了一些事,觉着有必要把

自己的一些想法整理出来,一方面整理自己的思路更体系化一些,另一方面拿出来大家讨论,大部分都是个人的感

想和体验,肯定会有很多不足的地方,欢迎大家指正。

1.爱好
  在这里,我可以肯定很多从事程序员工作的同行,无论老手还是菜鸟,大部分都是因为这个行业较高的薪资待遇

而进入该行业的,当然,这无可厚非。我想说的是,如果你想在某个行业或某件事情上做的很好,甚至做到出色,个

人认为,必须要喜欢你所做的事,也就是我们通常所说的爱好,只有这件事成为了你的爱好,你才会甘心情愿的在这

件事上花费时间、付出精力,同样,只有经过长期的学习,付出大把的精力,才能做好这件事,自然也能获得更好的

待遇,无论是物质的还是精神层面的。所以,即使我们只是为了赚更多的钱,也应该认真对待自己所做的事,我想其

他任何行业也不外如此。

2.态度
  说到态度,作为一个从事程序员工作多年的老兵,遇到过很多同行,各色各样的都有;这里说一些碰到情况:

有那么一部分人,上班真的就是为了每月领薪水,但坦白说他对不起他的薪水,让我们看看这些人上班在干什么,

看微信、刷微博、看视频、听音乐,总之,和工作无关;工作压力来了,他们也会匆匆的进入工作状态,好吧,

让我们看看工作结果,代码写的一塌糊涂,完全不考虑容错、不考虑性能、不考虑UI、不考虑用户友好性,测试呢,

居然跟我说测试了一次,一次啊,大哥,你不能多测几次吗;我觉着这就是态度不端,说的难听点就是没有职业道

德,我觉着程序员写程序就是职业道德,写的一塌糊涂就是职业道德太低,因为这不是你的能力问题,是你的态度

有问题,对自己的工作不负责,对自己不负责,对自己的团队不负责,对客户不负责,如果你是这样的人,我真的

也没什么话可对你说的了。

  我个人认为,作为一名程序员,一名合格的程序员,甚至是一位出色的程序员,必须要有追求完美的心态,只有

不断的追求完美,才能不断进步,不断的对自己提出更高的要求,才会有飞跃,不断追求卓越,成功自然会追上你。

3.能力
  能力,也就是做某件事情的基础,作为程序员我相信他们一定都是具备了的,否则也很难在自己的岗位上坚持。

  学习能力

    其实这也和态度有关系,首先你要想学习,然后才是怎么学,学什么。如果你想做一名合格的程序员,或者

  想赚更多的薪水,我想学习是不可避免的了,发现很多人都在考各种各样的证书,确实这会提升他们面试的成功

  机会,并且会有很大概率获得更高的薪水,但事实上这并没有真正的提高他们的能力,只是他们外表更好看了而

  已,这就是所谓的包装吧。但我觉着提高真正做事的能力,才是根本所在,你可以通过漂亮的外观顺利通过面试,

  但外观不会让你把事情做得更好,所以,学习是必须的。然后我们要学什么呢,最根本的要学习和自己工作相关的

  ,因为软件行业涉及的内容太多了,我们没有这么多的精力一一的去学习,所以只能从自己用到的或将要用到的去

  学习,相信会更快的看到成果。

    那么,我们应该怎么去学习呢,这里简单说一下自己的学习方法,上学的时候,计算机还是稀罕物,不能随时

  随地的接触到,所以这些时间,主要用来看书,一是理论、一是代码,看的差不多了还要自己写代码,没有电脑怎

  么办,ok,写到纸上,呵呵,然后,等到上机时间,再把代码放到电脑上做验证,我得说,这种方法对我帮助很大

  ,当然,如果你是那种很聪明的人,可能也会有更聪明的学习办法,但我觉着写程序,既然写字在前面,那么就是

  要动手去写,而不是看看而已。对很多新手来说,可以从抄书上的例子开始,看看到底是怎么工作的,再和书上的解

  释对照,能很快的帮助理解,这只是个人曾经的笨方法,希望能帮到那些刚刚入门还比较困惑的程序员。

  解决问题的能力

    其实写程序并不难,不要着急,当你会了真的不难,呵呵,所以你还不会,就要去学习了。写程序一定会遇到各

  种各样的问题,所以写程序的关键就是解决我们遇到的这些问题,解决了这些问题,ok,程序就搞定了。

    解决问题有很多办法,最简单的一个就是编译,编译能帮我们解决最基本的问题,例如我们在抄写例子程序的时候,

  通过编译就能发现关键字拼错、变量名拼错等等编译错误,我相信你抄写例子的时候一定会遇到这些问题,没有,那我

  太崇拜你了。

    好了,有些语言是解释型的,怎么办呢,这是就要用到我们的老朋友了,debug,对了,就是调试,我们一定要善用

  调试,它能帮我们解决大部分问题,比方说对象未实例化、数组超索引等等;好吧,居然不能调试,不用怕,我们还有三八

  大盖,这件武器虽然老旧,但还是很有用,让我们打日志吧,呵呵,打日志也需要一些技巧,打在什么地方,输出什么内容,

  通常打在一些关键语句上下,输出一些返回值或catch住的异常信息,相信会很快解决问题,如果你不确定哪些是关键语句,

  那么每行都打吧,呵呵,虽然很傻,但很有用。

    其实大部分人都知道这些方法,但为什么有些人还是不能解决问题呢,我自己想,可能是这些方法真的都挺麻烦的,很

  多人都懒的去做,只是不断重复的去看代码,如果你经验老道,看看代码相信可以解决问题,如果你是菜鸟,我建议你还是

  老老实实的一步一步去解决吧。

    再有就是分析异常和反馈结果,也许你不懂英文,没关系,学习,呵呵,一次不懂、两次不懂、第三次就懂了,当你不断

  的遇到同一个问题,你去解决它,一定有收获,如果你不断的被同样的问题难道,我只能说,你没救了,希腊哲人赫拉克利特

  说:“人不可能两次同时踏进同一条河流”,而你确在这条河里游泳,呵呵,好吧,哲人其实不是这个意思,人家说的是事物在

  不断变化,可惜的是你一直没有变化。


  思考的能力

    当你到了一定地步,我觉着一定要花时间去思考一下,你的代码为什么这么写,有没有更好的写法,这段代码为什么这么

  工作,等等。说思考能力,其实很难说清楚,只能说学而不思则罔,思而不学则怠。多想想为什么,除了代码本身更深层次的

  东西,比方说编译原理、比方说传输协议、比方架构原理等等。

    曾经遇到人写了很久代码,还不知道值类型和引用类型的区别,导致代码问题重重,所以除了学习,还要思考,让知识真

  正成为自己的东西,而不是简简单单的把代码copy过来。另外一方面,遇到问题的时候,建议多思考一下怎么解决,可以多用

  用上面解决问题的方法,而不是简单的问别人,否则下次你会遇到同样的问题。


  零零散散的写了一大堆,自己都不知道在说些什么,呵呵,总之希望对某些人有用,也不枉我费力打这么多字。

posted @ 2014-01-04 18:39  bcbr_wang  阅读(368)  评论(0编辑  收藏  举报