Friday 26 January 2007

code review



   今天第一次code
review。嗬嗬,挺好玩。这次我讲修掉的2个bug,呵呵,在介绍过程中,有人会对你提出各种问题。嗬嗬,通过code
review,你能看到别人的想法,能够补充很多自己的不足的地方。比如,今天,就权限,命名的问题,我就被挑战了一下下,呵呵。做的时候的确没有想到那么多,但是,为了程序的完善性还是非常非常必要的。毕竟我们是个大软件啊。前几天,有个哥们用我们的产品的时候,出现了问题,很郁闷~~,这是我第一次体会到客户的郁闷。真的很不容易的,呵呵。所以要继续努力多修bug。没有完美的产品,但我们追求完美,总行了吧!:)


就跳槽的讨论



昨天和water在网上就跳槽问题进行了激烈的讨论,貌似还有很多误解,在此澄清一下。呵呵。
那个文章原文如下:(没写了地址,对作者表示感谢和歉意!)

首先,结论我很赞同,跳槽要慎重,嘿嘿。

每年年初跳槽最多,跳槽是一门学问,也是一种策略。跳槽并不意味着你就能够取得职业的成功,当面临跳槽时,如何顺利地完成跳槽,从而取得职业的成功呢?以下是一些切身体会,值得大家参考。

 

不错,大家逐渐逐渐步入了跳槽的殿堂。这三年,我是跳烦了,如今无所它求,但求稳定。不过,仅凭借我这七次跳槽的经验,说点感受,也希望大家能够越跳越好:


  

  (1)不要指望会一下子能够跳到多么好的公司,绝大多数公司都一个样子。比如用友、金蝶、亚信、神马这些公司,其实基本上一个样子(自己还是比较幸运的,第一次跳槽就到很好的公司,我想起点比原来高的公司还是有很多的,至少上海如此。)

  

  (2)不要一味的指望进大公司,大公司基本上都形成了自己的规模和体制,虽然进入待遇和福利也许不错,但是不要指望能够很快的发展和升职。一旦你进入了,你会发现像我们这个年龄段的,大多都是在做一些基层的工作,即使有些人根本没有多少能力,但是很不幸,他们是老员工,有资历。(在大部分大公司是这样,不过有很多新成立的外企的中国研发中心,他们也是要招大量的人,从底层到高层,只要有能力。这个话貌似对大国企,以及外企的大型公司,比如爱立信,ibm很适用。一些中小型公司的外企,尤其是在中国建立研发中心的不太适合。hp我知道有2.5年从developer搞到比较高的manager的,所以我觉得hp也不太适用。)


  

  (3)不要一味的指望跳槽就能够,从一个开发者一下升迁为经理,即使有这个机会,也要衡量衡量,这个公司真的值得信任吗。在北京绝大多数公司的中层都是从公司内部诞生出来的。正规而又有发展趋势的公司,一般不会从外面招聘像比较重要的职务,比如项目经理、项目的架构师等等;(项目经理也是招的,问题还是在于,你如何从developer升到manager?这个前半句认同,后半句,只要有能力就可以,当然,你以前也要干过pm)


  

  (4)不要一味的用薪水来和奖金来衡量跳槽的好坏:真正衡量的标准只有三个,第一是这个公司是不是正在处于发展时期,而且有很大的发展空间;第二这份工作是不是对你是一个挑战,是一个新的尝试,而且是自己所希望做的工作;第三,在接受这份工作的时候,会不会对你未来的5年的发展产生一定的影响
。(不要光看薪水认同,但是衡量标准不认同,就我个人的跳槽经验来看,最重要的是公司的企业文化是否与你相符?如果你在公司呆很郁闷,没有归属感,公司发展前景再好有啥用??当然后面也是重要的,但首先,我觉得要你和公司非常的匹配,像老公一样匹配。)

  

  (5)不要一味的指望外企,不可否认外企的待遇很好。目前在北京还没有几家真正的外企在北京弄产品研发,即使像ibm这样的公司,你会发现一旦你进入以后,你不熬个四五年很难升一级;而且你还会发现,你做的只是测试和无聊的coding。(看他写的这点,有点鄙视了,coding就我们公司而言,有很多专家级的人物也还在coding.我认为coding
是任何软件公司必须的,而且也是吃饭的本事,我觉得他用'无聊'来说coding,那我想问问作者?他说的研发是干什么?做architecture?还是写论文??还是光写项目进度表啊?)

  

  (6)一定要注意你的交流圈子,如果到目前为止,你还没有一个属于你的而且比较不错的交流圈子,那么一定要注意了。跳槽的时候有朋友帮忙,会节省很多麻烦,也会获取一些更加容易的机会。
(这个认同,多找些朋友,同学总是有好处的。不过我认为,圈子更重要是能够学到东西了解其他公司,不仅仅是跳槽。)

  

  (7)一定要注意:技术不是最重要的,业务才是最重要的(注意,这里说的业务,不是跑市场和销售的意思,而是说,任何信息系统都是为业务服务的,在一个项目实施过程中,赚钱最多的是那些业务分析人员);如果你厌倦了技术,那么就朝着业务方向发展。但是做业务,就要做好心理准备,首先就必须从最基本干起,熬三年。——
现在对我们来说,我们已经过去三年了,如果你没有在某一行业的业务内做的很深,那么就要注意了。(做外包很对,做产品研发的貌似这个不是最重要的,最重要的也不是技术本身,而是快速学习的能力,还有就是编程的sense.如果你想走技术路线的话。


  

  (8)如果你选择的是做电信、金融行业,那么一定要去大公司,像电信、金融这种行业一般公司都是做不起的。(这个不了解,无评论,算对吧,花旗,infosys也不算小了)
  

  (9)如果你选择的是做ERP、CRM之类的软件,那么一定要去大公司,小公司是玩不起的。(做产品么?对)

  

  (10)如果你选择的是做OA和电子政务之类的软件,那么一定要有心理准备。首先这种公司一般都不大;其次这种公司都比较挣扎,只有高层能够赚到哗哗银子;再其次,这种公司大多学不到多少咚咚。(对)


  

  最后,稍微总结一下,一句话可以概括:跳槽一定要谨慎(同意) 

 

     
下面就我的跳槽从外包公司到软件产品公司的区别说一下感想:

      
首先,我想跳槽之前,要有很久的准备时间。从心理上,经济上,都要有准备。首先要充分了解自己,为什么要跳槽?现在公司哪里不喜欢?为什么不喜欢?是我的问题还是公司的问题?我的未来职业规划是什么?很多问题。就我个人而言,最重要的不是待遇(虽然的确很差),最重要的是我非常不认同公司的企业文化。比如,onbench
is a gift for u.
对我来说,这是对人的最大的浪费。我也不喜欢那么等级森严(se,sse,tl,pm...)也说明我不适合在大公司。我也不喜欢做外包,念了7年书了,总要多点有技术含量的东西吧。所以我的目标是一个产品公司,这个产品公司在中国的研发中心时间不长,很有发展前途。他的企业文化适合我,灵活,open,从上到下都是干活的。这是我的出发点。我对自己也有清晰的职业发展路线,我还是适合在技术上混的。这是我的跳槽初衷,精心准备花了几个月,水到渠成,当然也有很多luck的成分在里面。我想跳槽不是目的,目的是,你要做什么??所以,不是跳槽谨慎不,而是自己要干什么谨慎?我之所以不喜欢这篇文章,是因为这个哥们不知道自己要干啥,呵呵。所以掺点鄙视,还请谅解。


很奇怪很灵异的事情~~bug修复总结



     
今天下午2个bug能够结束了。回头想想看,自己目前的修复bug的历程挺短的,不过相对来说还算顺利,也许我修的都比较简单吧。只要debug,设几个关键的断点,就能找到问题的原因。不过,在修改的时候也倒是经常会出现灵异的事情,呵呵,不如没有在class
path中设置就能用啊,后来又突然不能用了啊。修改了半天,发现build还是原来版本啊。归结到一起,灵异就是没有找到原因的一种说词,或者有一些原因还没有找到吧,呵呵。


很奇怪很灵异的事情(zz)




这几天貌似没有太多bug了,不过修了几个bug以后再回头看黄老师这篇文章感触更深了。下篇专门写一下这几天的bug的感想吧。

原地址如下:


有一天美国通用汽车公司的庞帝雅克(Pontiac)部门收到一封客户抱怨信,上面是这样写的:“这是我为了同一件事第二次写信给你,我不会怪你们为什么没有回信给我,因为我也觉得这样别人会认为我疯了,但这的确是一个事实。”




我们家有一个传统的习惯,就是我们每天在吃完晚餐后,都会以冰淇淋来当我们的饭后甜点。由于冰淇淋的口味很多,所以我们家每天在饭后才投票决定要吃哪一种口味,等大家决定后我就开车去买。




但自从最近我买了一部新的庞帝雅克后,在我去买冰淇淋的这段路程问题就发生了。



“你知道吗?每当我买的冰淇淋是香草口味时,我从店里出来车子就发不动。但如果我买的是其他的口味,车子发动就顺得很。我要让你知道,我对这件事情是非常认真的,尽管这个问题听起来很猪头。




“为什么这部庞帝雅克当我买了香草冰淇淋它就秀逗,而我不管什么时候买其它口味的冰淇淋,它就一尾活龙?为什么?为什么?”



事实上庞帝雅克的总经理对这封信还真的心存怀疑,但他还是派了一位工程师去查看究竟。当工程师去找这位仁兄时,很惊讶的发现这封信是出之于一位事业成功、乐观、且受了高等教育人。




工程师安排与这位仁兄的见面时间刚好是在用完晚餐的时间,两人于是一个箭步跃上车,往冰淇淋店开去。那个晚上投票结果是香草口味,当买好香草冰淇淋回到车上后,车子又秀逗了。




这位工程师之后又依约来了三个晚上。

第一晚,巧克力冰淇淋,车子没事。

第二晚,草莓冰淇淋,车子也没事。

第三晚,香草冰淇淋,车子“秀逗”。


这位思考有逻辑的工程师,到目前还是死不相信这位仁兄的车子对香草过敏。因此,他仍然不放弃继续安排相同的行程,希望能够将这个问题解决。




工程师开始记下从头到现在所发生的种种详细资料,如时间、车子使用油的种类、车子开出及开回的时间……,根据资料显示他有了一个结论,这位仁兄买香草冰淇淋所花的时间比其它口味的要少。




为什么呢?原因是出在这家冰淇淋店的内部设置的问题。



因为,香草冰淇淋是所有冰淇淋口味中最畅销的口味,店家为了让顾客每次都能很快的取拿,将香草口味特别分开陈列在单独的冰柜,并将冰柜放置在店的前端;至于其它口味则放置在距离收银台较远的后端。




现在,工程师所要知道的疑问是,为什么这部车会因为从熄火到重新激活的时间较短时就会秀逗?原因很清楚,绝对不是因为香草冰淇淋的关系,工程师很快地由心中浮现出,答案应该是“蒸气锁”。




因为当这位仁兄买其它口味时,由于时间较久,引擎有足够的时间散热,重新发动时就没有太大的问题。但是买香草口味时,由于花的时间较短,引擎太热以至于还无法让“
蒸气琐 ”有足够的散热时间。


微软的客服部门也常常会遇到此类“很奇怪很灵异的事情”,往往需要工程师花上几天,甚至几个月来查找原委。不过绝大多数“灵异事件”还是能找出原因的——有时找出原因需要几天、几个月,而解决问题只需要几分钟、几个小时。


你的项目中出现过“很奇怪很灵异的事情”么?有没有找到原因?