我眼中的程序员

       每当给别人介绍,说我是做程序开发工作的时候,他们总会问我,你的薪水一定很高吧!不管是私下悄悄地问还是公开的问,这个问题总是被问及率极高的一个问题。其实对于他们来说,做软件开发就等于拿高工资。给人们造成这种印象的有很多因素,别的不说,现在的软件开发工程师培训行业可以说是如火如荼,马路边派发软件工程师培训的广告语更是语不惊人死不休,这当然是外行人或者刚毕业学生的看法,殊不知,很多程序员都想跳出这个抹煞人青春的行业。为什么竟然出现如此矛盾的事情呢?放眼世界,其实程序员这行业还是很诱人的,你难道没有看见国外留着大胡子,年纪一大把的仍然再写程序吗,这说明这个行业不仅仅是抹煞人青春的行业而且还是抹煞中年人时光的行业,甚至还要抹煞老年人时光的行业。那究竟是什么因素导致了国内这么多的程序员要跳出这个行业呢?除了外界的因素和个人兴趣因素之外,最大的因素就是,很多程序员已经看不到自己的未来了,对程序员这个职业已经失去了信心。在这一大批的人群中,可以说他们是程序员中的失败者,失败的想脱离这个行业,重新开始从事其他的职业,这又意味着什么呢?最少它意味着你的程序员的职业生涯已经划上了句号,而要从零开始学习其他的行业知识,这是一个痛苦的决定,没有一个人愿意去主动承受。看看我们(程序员)身边的朋友,你会很容易的找到例子。

        我个人认为,上面提到的那些程序员中的失败者是勇敢的,他们敢跳出这个行业,去重新开始新的职业生涯,这就是他们勇敢的地方,我相信这些敢于挑战自己的人会在失去的领土上重振雄风的。但这毕竟是令人惋惜的,相信如果还可以在程序员这个行业走下去的,一定不会选择从零开始。

       那么如何避免自己成为上面所提到的那些“勇敢者”呢?我个人的一些体会是,做为一个软件开发者,有几件事情是要学会的,下面我一一列举。

首先,要学会使用帮助文档。这是我的第一点体会,可以说,凡是比较流行的工具或者软件产品,它们的帮助文档都非常的完善,这些文档就是帮助你学会如何使用这些工具的以及如何更好的使用工具的。工作中有一些同事,他们已经把msdn完整的安装了大半年,却从来没有使用过,有什么问题,他们的第一反应是用google搜索,却不知最好的办法已经躺在了自己的家门口了,还要从全国各地,甚至到大洋彼岸的服务器上去寻找答案,殊不知既浪费了自己的硬盘空间还要占用宝贵的网络带宽。当然了,我并不是反对他们使用网络上的资源,而是认为他们这种寻找问题答案的顺序有问题。

其次,要善于分析问题和解决问题。可以抽象的说,我们的工作都是在不停的解决问题,只是这些问题或大或小,或是客户的问题或是我们自己(程序)的问题。碰到问题,要先分析目前的问题是什么,造成这样的问题的原因是什么,然后再寻找解决问题的答案,最后用(目前认为)最好的解决方案去解决问题。而不是不加分析的套用别人的或者从网络中搜索的答案,本着这样的思路(我提到的)去解决你碰到的问题,我想,你只会对问题越来越感兴趣,并且不会因为问题而苦恼。使用过dotnet framework + oracle开发的人基本上都会碰到oci.dll无法加载这样类似的错误,众所周知的解决办法是,在你的oracle客户端程序所在的目录访问权限中添加authenticated user组即可解决。就是这样的问题扪心问一下,你是通过自己分析得出来的解决办法吗?如果是的话,那说明你还是很有解决问题的天赋的。如果把问题看做软件(抽象一下),那么问题抛出来的信息是界面,而造成该问题的原因却被封装了起来,所以如果要很好的解决问题,那么就要深入的了解问题。

还有,要学会举一反三。我这里的举一反三没有大家想的那么难,其实我只是想说,如果你在了解一个类的一个方法的用法,那么你可以抽时间看一下该类的其它方法的用法以及其相关的东西。这样做会让你看到比别人更多的东西,解决问题的能力也就比别人更胜一筹。之前,公司有个新同事(刚毕业的)问我,为什么他在给DropDownList付值(选中其中一项)的时候有时候会报错,说是不能给DropDownList付两个值,我给他说,付值之前,先把原来选中的项清掉就可以了,他不解的对我说,付值之前他没有做任何付值操作呀。这就是因为你在选中一项的时候无法保证,由于一些操作该DropDownList已经选中了一项,所以在你选中一项之前就要先把原来选中的清掉,这样才可以保证你的代码是良好的。如果他看过DropDownList的相关方法,我想他是自己可以解决的,这也说明,简单的东西有时候还是需要了解一下的。

最后,要学会总结。总结并不只是简单的用语言表达出来,更重要的是你在内心深处做一些项目总结,工作总结等等。我想说的是,用语言总结可能是怕记不住,忘了,所以会把它写下来,或者用音频,视频录制起来,这样的总结总会让人感觉我已经备份了,忘了就去再看一下就行了,其实,这样的总结有时候意义并不大。而内心深处的总结是截然不同的,它是心灵的一种洗礼,会升华你对事物的看法,这当中也包括对程序开发的认识。我个人认为,程序高手总是在不断的洗礼自己的心灵(大脑),而非程序高手则总是在不断的洗礼自己的手和嘴。这里的意思并不是反对用语言去总结,而是让大家认识到总结是为了升华大脑对事物的认识而不是简简单单的记录。

以上是本人的一些愚见,写出来跟大家分享一下,希望能够给那些需要帮助的人。

posted on 2007-07-03 17:12  today  阅读(3735)  评论(45编辑  收藏  举报

导航

09夏旅游鞋代购专柜正品打折李宁/LINING男跑鞋休闲球鞋