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

半老程序员之工作经验谈,新手借鉴,老手围观(一)

2012-01-28 18:35 288 查看
从毕业到现在不知不觉从业6年了,期间经历了大大小小的各种项目,接触了不少国内国外各色程序员。身边不乏能人义士,自认虽不算什么高手,但经验多多少少还是有一些。趁春节年还没过完,抓紧时间总结一些,大家共勉。不然工作一开始就又会忙得不亦乐乎,没时间想这些了。

先从我自己说起。从小学开始接触电脑,那时候“搞电脑的”还是一个带着神秘而又令人羡慕的职业(当然现在已经成了“死搞电脑的”)。如果有人用过小霸王学习机,学过F-Basic,就知道F-Basic是识别关键字的,在关键字之间甚至不需要空格。所以我曾一度以写出“别人看都看不懂的代码”而感到骄傲,认为这才是和“搞电脑的”这个“神秘职业”相衬编码风格。以现在任何一个不管多屎的程序的眼光来看,这显示是不对的。我自己在一段时间之后也因为发现看不懂自己的代码了,而发现这点必须要改进。于是走向另外一个极端,不允许代码有任何一点没对齐,甚至任何多余的空格、空行都要删之而后快。有人说我对代码有洁癖,我个人倒是对此津津乐道,时至今日仍然认为这是一个程序员应有的基本修养。就像做服装的如果连衣服都穿不好,剪头发的如果连头发都梳不整齐,何以证明你有能力给别人做出好看的衣服剪出好看的发型?再者在IDE高度发达的今天,代码的整洁何用你大费周张?用VS的请用Ctrl+K F,用Ecipse的请试一下Ctrl+Shift+F,轻松愉快地搞定绝大部分代码对齐问题。所以换一个角度说,如果这么简单的事情你都懒得去做,那我有充分的理由怀疑你是一个懒惰的程序员,那我又凭什么相信你在关键的代码里不会因为一时的偷懒留下祸根?综上所述,不要简单地认为代码对齐之类的小问题无伤大雅。从程序员的角度说,不积跬步,何以至千里?从team leader的角度看,管中窥豹,可见一斑!那么从今天起,从细微处加强自身修养,给你的team leader留下一个好印象吧!

下面再说一下查阅资料的能力。有时候面试我会喜欢问应试者,你平时遇到问题都怎么办?答案无非几种:1. 问前辈;2. 翻书;3. 上网找。答1和3的相对较多。所以有时候我会继续追问:问前辈怎么问?上网找,上哪些地方找?这些问题通常都能折射出一个程序员平时的思维方式,以及逻辑严密程度。

首先答2的,要么是书呆子,要么真的是博览群书,遇到什么问题都知道该翻哪本书的哪个章节。我比较倾向于前者比较多。因为对于绝大多数人来说,实际生活中遇到的问题不可能,或者说很难在书本上找到答案的啊!就跟下棋不可能对照棋谱一个道理。看书应该是日常学习中自己点滴积累的手段,不是遇到问题的时候才翻出来救急的特效药。说到这里,本人也因为各种原因很久没看过书了,惭愧惭愧。

然后答1的,我会特别小心地多多追问。因为谁都不想招进来一个成天缠着你问东问西的下属。不是我懒惰不愿意带下属,实在得到过太多教训。不知道是不是现在的孩子对“勤学好问”这个词的理解到底变成什么样子了,反正照我的理解,先勤学,再好问。不要拿好问取代了勤学啊亲!别人烦不说,对你自己的成长也是没有什么好处的。这种人的心态,归根结底是一种偷懒的心态,不愿意自己思考问题找到解决方案,什么都希望别人帮助解决。经常这样问的人,扪心自问是不是这样呢?说好听点独立性太差。说难听点,忙是别人帮的,工资是不是别人帮领啊?当然我不是说不能问前辈,但问之前自己应该先想好了,是不是自己解决不了呢?为什么自己解决不了?缺少了哪些方面的知识导致我解决不了这个问题?那么这个方面的知识应该加到你的to do list里面,抽时间恶补吧!另外作为被问者一方,授人以鱼不如授人以渔,让他知其然还要知其所以然,下回才不会因为同样的问题再找你。别人以你为师,可不要误人子弟啊!如果是怕别人知道了会超越你而把知识藏着揶着,大可不必这么小家子气,反正现在这个年代无论什么东西都不会是你专有的,别人早晚会从别的途径知道。总结一下,先勤学,再好问。

好吧,其实我最希望听到的就是答“3. 上网找”了。但今天想说的是程序员的经验,而不是面试技巧,鉴于前面已经有点走偏,有必要再掰回来一点。喜欢去百度知道或者搜狐问问问技术问题的人我就不多说什么了,以后爱埋哪儿埋哪儿。上网找答案的艺术其实主要不在于去哪儿找,而是如何甄别真伪。在现在中国的一些网站里流行着一个帖子你转我转大家转的坏习惯,美其名曰“收藏”,“马克”。但很不幸喜欢做这种事情的往往又是些缺乏鉴别能力的新手。于是一篇不知所云的帖子经常因为被转来转去,又恰好符合了某些搜索关键字,而大量占据了搜索引擎的前N名。然后后来者通过搜索引擎一搜,看到一篇帖子被大量转载,误以为得到了武功秘笈,赶紧转进自己的博客里。如此一来恶性循环,谎言重复了一千遍也变成了人们相信的真理。殊不知自己找到的不是什么武功秘笈,是葵花宝典啊。那么如何鉴别真伪?很不幸这需要大量知识的积累,没有捷径可走。但在你找到一篇文章的时候不妨自己问问:这篇文章是不是解决了你所提的问题?它有没有说清楚为什么是这样?它说的原因是否合理?很多人大概只问过第一个问题。当问到第二个问题的时候有人就开始犯懒了——反正网上能找到答案,下回再找就是了,不用知道为什么。有没有想过,不知道为什么你怎么鉴别真伪?连为什么都说不出来的文章你也敢信啊?我要说屎很好吃你是不是就吃了?但是如果你肯花点时间问问为什么:真的好吃啊?难道你吃过?于是谎言不攻自破。当然也不乏会有2B青年告诉你:真的好吃,很多人都吃过的!然后是不是你就信了呢?所以需要问第三个问题,“很多人都试过”这个原因是不是可靠?有点常识的人都知道这是骗子的常用词汇,不可信,谎言揭穿了,王子和公主从此幸福地生活在一起。但是,欢迎来到现实世界!现实生活中的问题都远比这复杂,即使你问完这三个问题,仍然有可能卡在第三个问题上而不知道真伪。那么还有2个选择:1. 问问其他人;2. 自己试一下。我相信谎言始终是谎言,不会所有人都告诉你屎真的好吃的。当然如果你不幸选择了自己试一下……嗯,那个……外面天气不错,多出去走走。积极的一面在于你从此肯定地知道了“屎不好吃!”谁胆敢再告诉别人屎好吃,我就可以站在法官的位置给他宣判:此人2B!

好了,写了一大篇,先就此打住。道理都是简单的道理,之所以翻来覆去地讲,是因为在过去6年的工作之中我发现往往很多人就是对简单的道理视而不见。但是如果你把他正在做的事情像上面这样举例说出来,他自己都会觉得自己做得很好笑。那么如果没有人在身边指出自己的错误,能不能自己通过自己的思考发现问题呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: