大话LAMP

该用户没有分享资料

首页: http://www.dhlamp.com


大话LAMP

人生加减法

幸福就像握在手中的沙,慢慢的漏掉,正如逐渐逝去的青春。你握得越紧,它流失得越快。

很多人在生活中舍不得放弃一份不再精彩的感情,舍不得一份掌声,放不下一份虚荣。日子则像时光小偷一样趁着我们优柔寡断之时,悄悄地从指间滑走。

其实,学会放弃,也是人生不可或缺的一道风景,只有这样你才会有更多的时间去体会更多的东西;学会放弃,你可以在得与失之间慢慢的品位生活,然后懂得人生其实并不需要太多无谓的执着。放弃之后,心灵会多出一份恬静与从容,恰似一缕檀香暗浮,温馨着未来的如歌岁月。人生正是在不断的放弃与收获中演绎它最动人的华章。

舍得舍得,有舍才会有得,有所不为而后可以有为。一个人的精力毕竟有限,更多的时候我们只能尽量做好自己的一项事业。我一直以为,一个人要做他喜欢同时最擅长的事情。只有将工作和爱好结合起来,人的潜能、主观能动性才能最大程度地被挖掘而释放出来。

当然,人要善于每天给自己做加法。对待朋友上,要记住做事先做人,多一个朋友多一条路。在事业上,不管是帮别人打工或者自己单飞,要记住调整好心态,认真做好每一件事情,厚积薄发,你做的任何一点工作都会为你将来的人生增加一点筹码。

人生是加法。譬如一棵树,开始只是一粒小小的种子,加了水和养料,就长出了苗。

人生也是减法。就像一块野外采来的巨石,需要反复地雕琢,减掉许多多余的部分,才能够成为一尊雕像,让人们赞赏。

加是一种成长,减则是一种成熟。曾有人说过:“年轻的时候,拼命想用‘加法’过日子,一旦步入中年以后,反而比较喜欢用‘减法’生活。” 我们来到人世间时一无所有,随着时光的流逝,我们的人生开始做加法,加入智慧的光芒,加人品格的力量,加入财富的追求,加入亲情的浸润。于是我们有了更多的需求、更多的想法,我们追求名利、追求知识、追求成功,人生也因此更加丰盈。此后,我们不断的买东西,拥有的家当、需要的空间越来越多,肩负的责任和义务也越来越大。这些不断膨胀的物品、责任、人际、工作、财务,几乎占据了我们全部的空间和时间,甚至令我们感到窒息。到了一定年龄,我们则要开始做减法,减去多余的物质,减去奢侈的欲望,减去心灵的负担,减去环境的纷扰,合理安排人生的进退取舍,为负累太多的人生减重。一个人步入中年,就等于走到了‘人生的下午’,这是既可以回顾过去,又可以展望未来的阶段。只有经过适当的削减,人生才会更有活力。‘加法’在于不断积累,而‘减法’则是重新评估,重新发现,重新安排,重新决定人生的优先顺序。

该得则得,该放则放,有张有弛,有进有退,才是人生的大智慧。当你紧握双手,里面什么都没有;当你松开双手,世界在你手中。

程序员发展:机会远比钱重要

相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心。在刚出校门的几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到心里平衡:”有付出才会有回报”这句话在那几年中你说的最多,不管是对自已的朋友们还是自已的爱人。第二句最常说的话是对公司的领导:”不行我就走人!”,实际上你也真的走过几回。对了,在这几年中,因为你的经济条件不错,你开始买房、开始谈恋爱、结婚、开始有了自已的小孩。有时候你会对自已说再过两年就去买车。当然其中可能有许多大件是需要分期付款的,但你对前途充满了信心,你确信认为这种日子会永远的持续下去,即使不是变得更好的话。

日子总是在这种平淡中一天天的过去,就在那么不经意间,你突然发现自已已经快30岁了,或者已经30了,莫名的,你心里会漫延着一种说不清楚的不安情绪,你好像觉得前途并非像前几年那样变得越来越好,你也忽然发现你以前所瞧不起的同学里好像已经有不少开着车的了,也有几个人住着比你还大的房子,好像房款还是一次付清的,你突然明白你现在的生活比起你的同学来最多是中游偏上了。工作中最让你感到心里不舒服的是,你越来越不敢对你的领导说不了,即使比你来的晚的同事升职或提薪,你也只是在私下与朋友们一起喝酒时才敢发发牢骚,在头的面前你的声间越来越小、笑脸是越来越温柔。

你终于开始迷茫”再过几年我会是在干什么呢?”,这句话常常出现在你的心里。计算机开发工作,是一种以年轻为资本的工作,说句通俗点的话是”吃青春饭的”,嗯,这句话好像在一种特别的行业也听到过。

其标志就是一:工作的时间性非常强,一个开发项目被定的时限通常是很紧张的,更有甚者,有些号称开发管理的书里面还非常卑鄙的号召将一个项目切成多个小片,每个小片都定一个叫”里程碑”的东东来严格跟踪开发进度,加班加点在其它行业是需要加班工资的,而在开发行业,加班工资好像还没见到几个公司发过,是啊,反正有时间限制着,你干不完我再找你算账.所以开发工作通常有着其它工作所没有的精神上的压力。

一旦一个人步入而立之年,因为家庭和孩子的负担,加上精力上面的衰退,加班工作时间变得越来越少,这点让很多老板们感到:这些人已经老了,不好用了。指示人事部门:”以后招开发人员限制在30岁以下!”,相对而言硬件开发会年龄方面限制会稍好一点点,但也是五十步笑百步。还有一个很重要的一点就是:计算机这个烂东东实在是进步的太快了,前两年买的顶级配置电脑,现在怎么看怎么像废品,这还是小事,更可气的是好像每天都需要学习新的知识,刚毕业时只会书本上的PASCAL,学会了用腐蚀的办法来做电路板,一上班就开始学习TURBOC和TANGER2.0,刚刚学会,还没来得及高兴,马上开始学Borland C++和Protel3.0,好不容易学会了,却发现需要学习VC和Protel98了。单片机也是啊:Z80的指令背的很熟,工作中没来得及用就要学8031,好好学吧,本来想着这辈子就吃它了,又发现又出来什么PIC、DSP、CPLD、FPGA、ARM等等….这还不包括中间要学一大堆74系列、4000系列、XX系列…IC卡居然里面还有CPU卡..如果学习的知识里每个字都能变成一分钱,我想所有的开发工程师都是腰缠万贯的富翁。

一眼看去,这种日子好像见不到头,年轻时乐此不彼,但现在你一定对自已能坚持到什么时候感到怀疑了。我们都玩过像仙剑奇侠传这样的RPG游戏,刚开始时你只是一个一名不文的少年,随着你去打怪物、捡宝贝、学秘芨,最后终于有一天你会变成一个大英雄!那么你在实际生活中过得比那些小侠们还辛苦,为什么成不了一个生活中的大侠呢?呵呵,原因在这里:因为开发工作是邪门功夫,它虽然可以让你速成的变成小资,但它最大的特点是经验不积累!日新月异的知识更新,让你总是感到自已在退步,你就像在RPG中的主人公,开始时就给了你一把好剑和好盔甲,而且让你的级别很高,但让你的经验不累积,虽然刚开始打小怪物时你觉得自已很爽,但越到后来,你会发现你会死的很惨!比较一下你与其它非开发行业的同学你就可以知道了,例如和你学医的同学比起来。套用岳不群他老人家说华山剑宗和气宗的区别那段话:前十年你比你那些学医的同学收入和地位要好的多,但十年以后你和他基本上各方面都会持平,而二十年以后你的各方面远远不能与你学医的同学相提并论!嗯,你已经开始不笑辟邪剑法了吧。

“敢问路在何方?路在脚下…”,不过猴兄和八戒兄这么认为是可以的,你呢?

总结了许多开发朋友在30岁以后的生活之路,让我们一起看看开发人员”路在何方?”那么开发人员在30岁以后都干些什么呢?

其路一:继续做你这个很有”前途”的职业吧!

偶掰着脚指头仔细数了数,发现还真的有很多朋友在30岁以后还在从事开发工作,我这里说的从事,是指你还需要天天在电脑边上编程序和画电路板,与你手下是否有几个小兵无关,也与你是否头上顶着什么项目经理、主任工程师的帽子无关,只要你还需要亲自开发,你就属于这一类。其中有个年龄最大的朋友是63年的,从事医疗仪器的开发工作,35岁左右还在从事软硬件开发工作的仍有一大堆,分析这些仍然从事开发的朋友,基本上都有以下特点:

  1. 痴迷工作或者痴迷电脑,晚上八点到十二点的这段时间,基本上是在电脑桌或工作台前渡过的。
  2. 不喜欢与人交住,朋友很少,常联系的人不超过五个。
  3. 与朋友交往时谈工作多,但一般不主动谈钱。
  4. 体型偏胖或偏廋,不在正常区间。
  5. 无未来计划,对五年后自已生活怎么样、从事什么工作说不清楚。
  6. 俭省,从不乱花钱。

即使你是还不到30岁的开发人员,你也可以看看自己对以上几条是否符合,是否会在30岁后还从事开发职业,四条疑似,五条以上基本确诊你也是这类型的人。

这些朋友们通常抱着过一天是一天的态度生活,到了这个年龄,也不敢再轻易的换工作了,年轻时的锐气慢慢的也消退了。唯一不变的希望是有一天从天上掉下来一大堆钱把自己砸伤。说实在话因为他们的性格所限,基本上可以确定他们以后不可能在职场上获得更好的发展,当个小头头,带几个人开发已经是他们发展的顶点。至于以后的人生之路,不仅他们自己迷茫,可能上帝也正在头痛。

不过像这类朋友,偶很奇怪的发现:他们的小孩都是儿子!不知是偶然还是有什么其它说法。

简单建议:要改变命运,先改变性格:坚持半年晚上不从事工作、游戏及电视,用此时间与人交往,你的人生会有改变。

其路二:转行从事技术支持、行政或生产等工作

还有一些朋友,从事了几年的开发工作,因为自已并非特别的爱好,或者领导上面的强制工作安排,他们转到了技术支持、服务或行政等工作,至少当时从表面上看起来,他们的薪水较开发要少一些,但真正的统计这些人,发现他们之中有半数的人获得了更好的发展,升职为服务部经理或行政经理等职,最历害的一个朋友已升职为总经理助理,进入高层。

这类朋友当时转行通常并非自已志愿,属被逼无奈或者其它原因,但显然,拥有专业知识技术的他们显然在非技术部门中鹤立鸡群,遇到什么事情他们均可从专业的角度提出建言,久而久之,他们获得更多的升职和加薪机会也就不足为奇。

因为不从事开发,所以经验开始积累,这类的职业通常会给你一个很安定的感觉,你到30多岁后会发现这类职业反而比开发工作更容易获得新的工作机会。

简单建议:你如果确定在开发部无法获得很好的发展机会,不妨转到其它几个部门试试,换个活法,钱少点就少点吧,机会多。

其路三:开发管理

如果你现在已经是总工或开发部经理,或者你眼看就有机会被提升为这类职务,那么恭喜你,你走的是从”弼马温”到”斗战胜佛”这条金光大路,你不仅拥有很高的专业技能,而且很显然,你也有着很强的人际交往能力,你这类人根本不需要对未来有着任何的担心,你在即使一无所有的时候也很容易白手起家。

你这种人算是练辟邪剑法练成了仙,嗯,我无话可说。

你是不是这类人也很容易区别,就像围棋二十岁不称国手终身无望一样,你应该在工作三、四年以后,也就是说二十七岁左右就会发现自已工作中指手划脚的时间比亲自开发的时间要多了,而且大多数这类人在这个年龄手下应该有”兵”了,相反的,如果你快30岁了还天天埋头于电脑前编程序和画板子,或者30多岁了你还没升到部门经理(虽然你总是觉得自已很有希望),基本上可以确定你不是这类人。好了,如果你确定你是这类人,那么你唯一的想法就是尽快爬上中层和高层,因为有时候人生偶然性太大,不占住坑的萝卜很有可能被人拔出来!

简单建议:天天去你的老板家里面拖地和擦桌子!

其路四:出国或考研

有两个搞开发后出国的朋友,其中一个甚至打工打到了一个小公司总工的位置,数据库和软件方面水平巨牛,但仍感觉心里不踏实,于是将自己工作多年的钱忍痛掏出来,出国费加上机票大概将自已辛苦所攒的银子花完,然后又借了一些钱,在02年身上揣着一万美元跑去了加拿大,在加拿大不停的重复找工作,换工作,然后再找工作的循环,找的工作基本上与计算机无关,不过工资总是在1500加元左右,呵呵,折成人民币与他在国内打工拿的基本上差不多,不过租个地下室就花了300加元,然后吃吃喝喝,再买个电脑上上网这类的,基本每月平均还要倒贴一点。前段时间给我的邮件里说,现在身上花的差不多只有5、6000美元了,准备开个小公司,看看能不能往国内倒腾点东东,做最后一搏。另外一个朋友去澳州,时间稍早一些,先是大概摘了一年多的葡萄,后来总算找了个技术工作,每天的工作是画机械图纸,收入还算不错将近3000澳元,买了个旧车,也算是过上了资本主义生活。不过前年回来一趟,唯一的感叹就是:在国外拿2000美元的生活,绝对不如在国内拿5000人民币的生活舒服。

也有两个考研的朋友,不过其中一个严格的说不是做开发的出身,偏重于市场方面的工作性质,不过我的朋友里面考研的不多,只好凑两个人说说,一个考研后在北京找了个工作,每个月5、6000元钱,但还是做开发,生活仍然与没考研之前没有任何的改变,前途仍然没见到什么大亮的光,还是搞不清楚以后再干些什么,标准的过一天算一天了。另外一个考研后在大学里面找了个工作,工资虽然比他原来打工少了不少,但毕竟终身有靠,稳定了下来,也算修成了正果,这位哥们心情一放松下来,也开始有时间琢磨着业余时间自已做点什么,好像现在慢慢的也开始有了点眉目。

简单建议:这两条路,对开发人员来说都不算是很好,出国十年前是好事,现在难说,考研能成功转行的概率恐怕也不是很大,多半仍然去搞开发,只不过研究生可以多干几年罢了。

其路五:转行到市场

绞尽脑汁的想想,我所知道的人之中只有两个开发人员去了市场,这两个人都不能说是朋友,认识而已。他们都是主动要求去了市场,结果是这两个人均在市场都是干到一年左右,然后都自已开公司了。呵呵,很奇怪,极高的转行成功率!不过仔细想想,我对这两个人的思路佩服的五体投地。能下决心仍掉每月5、6000元的开发职位,从事一个自已并不熟悉的岗位,每月拿个2000多元+提成,但提成那是说不清楚的事情,这个决定,只能让人感觉到他们对自已前途清晰的把握和老谋深算的心机。而且他们不去服务不去生产,挖空心思说服领导去市场(市场部门与开发部门通常是一个公司的核心部门,进入其实并不容易),可以说是有着长远的考虑的。有技术了,再与客户交成朋友,马上就会产生很大的机遇应该是正常的事情。

有实力,有心机,也有着很强的决心力,这种人恐怕早在大学毕业时或更早的时候就已经决定了自已的人生之路,他们的每一步路在若干年前早就计划周全,现在看起来:学会技术->进入市场->寻找商机->开公司,一条多么清楚的人生之路。但就像我们上小学中学时,所有人都知道上大学是我们最清楚的人生路一样,最后只有少数人才能真正达到目标(当然,现在扩招的历害是另外一回事,我是说我们那个时候,也就是:”很久很久以前,当我像你那么大的时候”)。

简单建议:你若是这类人,我的建议是:…嗯?….那个你.你,你别走啊,我还有个事想请你赞助一下啊…..

其路六:开公司自已干

呵呵,看到这一条,发现你的眼睛已经圆了,你肯定千百次的想过这个事情吧,咳咳,其实我从事开发的时候也是天天梦想着这种事情。总想着过两年找个机会就自已干,这个梦想一年又一年的折磨着你也给着你希望。看看吧,开发后来开公司的还真的不少,里面有成功的也有很多失败的,通常开公司都是几个人合伙开始的,有做技术的,有做市场的,几个人一拍即合、狼狈为奸,共同策划了这一个大活动。一般说来能让这几个人下决心走出这一步,产品肯定是先进的,甚至是国内独一无二的,市场也是很大的,负责市场的那个哥们通常会拍着胸保证可以卖出去,并悄悄地告诉你他在某主管领导是他小舅子的同学的二叔,肯定没问题。于是你们几个人找地点、注册执照、买了几个破桌子,再攒了两台电脑,每个人又凑了几万银子,公司开张了!

产品很快出来了,市场的哥们也不负重望,有几个客户表示要试用了,一切看起来都是如此的正常,”…….你坐在老板桌前,不停的有人来汇报工作或者找你签字…人进人出中…你又想起公司再穷也不能只有一把椅子的故事…..”你在梦中笑出声来。

是如此的顺利,你们很快就有单子了,很快的单子让你们凑的那点钱不够了,你们很高兴的每个人又增加了投入,拿出钱时你眼泪汪汪的数着钱说:”这就是我那生蛋的母鸡啊”。你们的产品确实不错,市场也经营的很好,客户慢慢的多了起来,单子来的时候一笔接着一笔,你每天都处于兴奋之中,唯一美中不足的是好像客户回款总是会拖一些日子,不过客户给你保证说:过几天,过几天就付给你们,因为回款总是在计划外,所以你们为了资金的流畅运行又凑了一些钱,这个时候你有一些心事了,因为你的存款折上面的数字已经快趋向于零了。”没事,过两个月等回款了一切都OK了,谁干事业不吃点苦呢?”你这么安慰着自已又投入到工作中去,资金总是在回款和生产经营费用之间走着一个窄窄的小木桥,你的账上总是没有太多的钱,扩大了的公司规模和许多意外情况,使你又一次、二次、三次的与合作者们再次投入了自已的资金,当然,后来的钱你可能已经是借的了…..

终于有一天,你的会计再一次告诉你,老板啊,账上又没现金了,吃过多次苦头的你终于下决心开始重视资金的运行了,你裁掉了一些不必要的人手,减少了开发的投入,要求市场人员签单的时候必须予付XX%的款,回扣也必须等收过款后再付,同时也开始对产品的生产成本开始进行控制。

时间一天一天的过去,因为竟争对手的产品也对你的产品进行了仿造,你的产品慢慢变得不再先进,市场人员开始埋怨公司的合同资金方面规定太严格,不好签单,生产成本的下降通常也导至产品毛病的增多,客户也开始埋怨你的服务人员不能及时进行服务。

终于有一天,你重新走进了人才交流中心,以前你是来招人的,现在你拿着自已的简历开始寻找一个工作……

公司的成功与否,与产品有关,与市场有关,但更重要的是与资金有关,产品与市场都可以通过资金来弥补,而却没有任何东西可以代替资金,凡是倒下的公司,99%与资金链的断裂有关。在你决定要开公司以前,先估计一下你公司支持一年所需要的资金数额,包括人工费,生产,场地,广告宣传、市场费用、甚至电、水费等等等等,把你所想到的一切加在一起,得出的值就是..慢..如果你没有实际的开过公司的经验,你需要将此数字乘3,然后就是你开公司一年最少需要的费用,呵呵,公司的实际运营所需要的钱是你想像的3倍以上,你要是不信我也没办法。

简单建议:开公司前最重要的是先确立你后续的资金来源!也就是说钱不够了怎么办?---因为你投入的钱肯定会不够的。

其路七:第二职业

这类的朋友有不少,他们没有脱离开发工作,但是在业余时间又不停的接项目或者在卖产品,在单位里面他们显得并不出众,比起其它人来说他们属于最不愿意加班的一类.为此他们白天通常工作很勤奋.这类人也许不一定可以挣很多钱,但平均下来他们一年之中通常都可以比同事们多挣个几万元.有时候比上班拿得还多.但令人疑惑的是,这类人在生活中更加注重稳定,基本上没见到他们跳过蹧,即使私下里面已经开了个小公司,他们通常也不会辞职.

你的旁边有没有这类人呢?分辨他们很容易:

电话很多,而且更愿意来电话时离开办公室找个没人的旮旯通话.神秘兮兮给人一种”这家伙是不是有二奶啊?”的感觉的人,通常是这类人。这类人是女性最佳的选择对象:很顾家,不象那些富人容易花心,而比起一般人来说,他们收入相对要高得多。但总结了一下几位这类的开发朋友:也得出了一个令人沮丧的结论:这种人通常个子不高,体形类似桶状…..

简单建议:这好像是开发人员最佳的出路了,但比较丰厚的收入通常让这类人不愿意去冒风险….到现在为止我所认识的这类人还没有一个真正算是成功的。

好了,虽然偶的经历远远说不上丰富,也没有什么成功之处可以自满的,但或许因为比其它朋友痴长了几岁,见过的人可能会稍多一些,所以斗胆写出了以上的一些文字,让您掉牙了。

下面是偶走过开发这条路上总结出来的一点心得,你可以不看,但看了就千万别把嘴咧的太大:

  1. 不管是给别人打工还是自已干,都要全心全意的工作,因为你所做的任何一点工作都会让自已的人生多一点筹码,这一点最最重要!这样的例子我至少可以举出两起,优秀的开发人员被其它新公司挖走,并给一定的股份,成为新公司的股东的例子。当时与这样的开发人员一个部门同时工作或更早工作的有许多人,他们平时经常偷点懒,能少干点工作就少干点,有时候还笑话那个平时努力工作的人傻,几年过去了,究竟谁比谁傻?
  2. 多与市场人员交朋友,你接触他们时可能总会觉得他们知识比你少,甚至素质比你低,可能比你还有点黄。但实际上他们比你更懂这个社会!参加到他们这个圈子中去,和他们一起赌赌钱、一起聊聊天、一起洗洗桑拿、一起…..你会通过他们接触到另外一个世界。
  3. 机会远比钱重要,挣不挣钱在年轻时并不是特别重要!不论是在实际生活中还是在网上或其它地方,如果有机会参与到除本职工作外的一些项目或产品的开发中(包括你的朋友拉你去做点小生意之类的非开发性质的工作),那怕是帮忙的性质,也要积极介入,至少你会交到很多的朋友,这样你的人生会多出很多的机会。

 

 

不要自称为程序员

二、别人雇你的目的,是让你创造利润,不是让你编程

(Engineers are hired to create business value, not to program things)

商业公司最关心的(或者说唯一在乎的)事情,就是增加收入、降低成本。因此,它们实际上需要的不是程序员,而是能够帮助它们增加收入、降低成本的人。

开发优美的软件,解决技术难题,编写没有bug的代码,这些都不是商业公司的目的。它们雇佣你,是为了让你帮它们完成某个可以增加收入、降低成本的项目,而不是因为你是geek。

你个人对于公司的唯一价值,就在于你能多大程度上为它们增加收入、降低成本。
PS:谈判能力确实重要,但如果仅仅将自己的谈判能力局限于跟公司谈判薪水上,那真是大大的用错地方了。如果你在创业公司,应该没有哪个老板会笨到把你当廉价甚至免费的奴隶使用。(公司的HR除外。)当然如果你打算在大公司里混,跟HR谈判薪资的能力确实重要,因为这关系到你一边在大公司里吃喝玩乐或者炒股的同时,能够最大限度的拿到多少钱,而这直接关系到你在大公司的生活是否幸福。

 

三、不要自称为程序员

(Don’t call yourself a programmer)

很多公司的经理不懂计算机,在他们心目中,”程序员”就是一群高成本的劳动力,只会在一台复杂的机器上干一些难懂的事情。

如果你自称为”程序员”,当公司需要压缩成本的时候,某些经理首先就会想到解雇你。有一家公司叫Salesforce,口号是”没有软件”,意思就是如果经理们购买了他们的服务,就不再需要别的软件管理销售业务了,也就是说,不再需要自己雇佣程序员了。

正确的做法是,你应该把自己描述成与增加收入、降低成本有关系的人,比如”xx产品的开发者”或”改进者”。有一个Google Adsense程序员的自我介绍,是这样写的:”Google公司97%的收入,与我的代码有关。”

四、不要限定自己

(You are not defined by your chosen software stack)

年轻学生经常会问,应该选择哪种语言或平台?学会Java,是不是比学会.NET容易找工作?

过分强调某一种语言或平台,都是不必要的。如果你把自己限定为Java程序员或.NET程序员,你就已经输了,因为首先你不应该自称为程序员(理由见上一点),其次这种限定使得你自动被排除在世界上大多数编程工作之外。

现实生活中,学会一种新语言,只需要几个星期,然后再过半年到一年,你就会变成老手。那时,根本没人在乎你以前用什么语言。

天才程序员是很少的,可是需要天才程序员的工作机会却很多很多,大多数场合都是需求远远大于供给。这意味着,即使你不是天才程序员,只要你是一个优秀工程师,那些招聘公司也会立刻录用你,因为它们知道招聘到天才程序员的机会微乎其微。(重复一遍,所谓”优秀工程师”,就是你的履历上有一连串增加收入、降低成本的记录。)

某些公司的人事部门,会根据某个关键词(比如Java或.NET)过滤简历。虽然这样的公司根本不值得去,但是如果你真的想过这一关,也很容易:投入几个晚上和周末,在你当前的项目中设法用到这个关键词,然后再把它写进简历就行了。

From:   http://www.ruanyifeng.com/blog/2011/10/dont_call_yourself_a_programmer.html

开发与运维,前卫与稳定

一个IT公司技术部门大体可以分为开发、运维、测试,三个部门。而风格各不相同。

开发人员总是希望自己动手实现所有的功能,在系统的每一个细节上尽可能用上先进的、前卫的、架构上优美的技术。毕竟,对一个开发人员来说,做了多少 事情是考察绩效之根本。但是话说回来,应用前卫的技术是有创新风险的,这种风险来自多个方面,比如突然搞不定的一个特性,新框架的内含bug,稳定性问 题,高压力下的行为,安全性等等。对于绝大多数没有实际运营经验的开发人员来说,这些都是没有概念的东西。

而运维人员在一些方面则是另外一个极端。倾向于在系统中使用成熟的、稳定的、久经考验的成熟技术。对于一些明显有成熟解决方案的东西,运维人员是坚 决不用自己公司的开发人员写出来的山寨货的。因为从运维人员的绩效来说,真正有用的系统可用性。再者,半夜里系统跑着crontab时出故障被电话叫起来 的是运维人员。系统的稳定性直接影响到其生活品质。

做任何事情都有个流程,分为几个步骤。一个人能在这个流程当中掌握的步骤越多,就能的到更多。比如做生意的,可以拿到更多的利润,写程序的可以控制 更好的性能。对运维和开发来说,了解了运维知识的开发可以在系统稳定性、安全性方面的到更好的效果。了解了开发的运维,也可以在系统调优、数据库设计、技 术选型方面做更多的事情。

至于一些全局性的事情,比如系统的架构设计,我更相信运维人员能够给出更靠谱的设计。不过任何人都没法掌握所有的流程,所以运维与开发多交流才是设计出一个好系统的好方法。曾经开发CDN的时候,我是直接被借调到运维部那边,坐在一群运维人员身边。整个开发流程受益匪浅。

From:  http://gashero.iteye.com/blog/428388

php程序员应具有的7种能力

php程序员应具有什么样的能力,才能更好的完成工作,才会有更好的发展方向呢?在中国我想你不太可能写一辈子代码的,过了黄金期,怎么办呢?希望下面几点对你会有所帮助。

一,php能力

1,了解阶段,您能写一些代码,因为那是在手册和google的帮助下,您才完成的。变量乱定义,N多函数不知道,做起事来很慢,想到什么写什么,代码写的比较乱,后期维护很麻烦。

2,熟悉阶段,经常查函数,手册估计也看过一,二遍了,常用的函数基本上您都了解了。后期维护给您带来了不少痛苦,您开始发现自己的代码有很多不足,开始思考如果改进自己的代码,如何站在项目的角度来规划自己的代码,而不是想到什么写什么,知道如何来减少冗余代码,使您的代码清晰,知道什么样的代码写出来让人看着舒服,基本的代码规范,已经形成。为了提高自己,会特意的去一些技术性的论坛,学习研究。

3,很熟悉阶段,本来我想写精通的,到现在我也不知道精通是到什么程度,也没有听到有人说自己精通PHP的,所以就用很熟悉了。这个阶段,我想您已经从面向过程进入了面向对象。个人觉得面向对象的最大好处就是,能使整个项目功能化,模块化,后期维护,改版,升级就很方便了。没有面向对象的时候,不也一样开发吗.这个时期,您已经研究过了一种或者几种框架,结合自己的实际项目经验,在脑子里已经能形成自己的一个框架,这个框架是最适合你的。并且能够将这个框架运用到实际的开发中去,以提高自己的开发效率。

如果您刚写代码的时候,就有人能约束你按OOP的思想去写代码的话,那您就遇到贵人了。当不好的代码习惯养成时,在想改就不那么容易了。

二,数据库能力

用php来做项目的话,用mysql是最多的了,其次是pgsql。因为他们二个是免费的。哈哈,以mysql为例

1,了解阶段,知道mysql是什么,能写一些简单的sql语句,能设计简单的表,知道如何使用数据库管理工具(如:phpmyadmin)

2,熟悉阶段,知道如何才能写出高效率的sql语句,了解索引原理,知道如何创建索引,会写一些储存过程,触发器等,能通过各种手段来分析,测试数据库,例如:利用mysqlslap来进行压力测试,通来explain来分析sql语句,通过开启慢查询来分析哪些sql语句真正影响mysql的运行,能利用dbdesigner4,mysql workbench为设计数据库,能在命令状态下,查询,分析mysql环境变量,来分析mysql的运行状态等等

3,很熟悉阶段,对于各有种存储引擎的原理非常熟悉,知道通过修改配置文件来,使存储引擎达到最优化,知道如何来优化数据库的最大连接数,知道怎么样来优化mysql的I/o瓶颈,为了项目的需要,向mysql数据库增加存储引擎或者插件,知道如何搭建数据库集群,并监控数据库的运行状态等等

三,html,css能力

php是脚本语言,我们用php大多数情况下是用来做网站的,慨然是网站,那肯定是离不开html,css

1,了解阶段,知道html标签是干什么用的,通过网络和手册能自主的写一些html,知道css是怎么回事,能在html中写一些简单的style等

2,熟悉阶段,能利用css来能设计一些简单的布局,可以将css单独的写成文件,熟悉css的语法规则,以及继承性等

3,很熟悉阶段,能够设计出很好的CSS,并且管理好这些CSS文件,尽量减少冗余代码。知道如何写出有利于搜索引擎搜索的代码,例如:title,h1,h2权重比较高的。等

对于php程序员来说,并不一定要你去设计页面,但是给你一个页面,你要知道如何来修改CSS文件,html就不要说了肯定要掌握的。

四,js能力

如果提高用户体验,是一个网站能留住人的重要标志。这个就要用到JS了

1,了解阶段,了解JS的基本语法,知道如何去调试这些程序,能写一些简单function等

2,熟悉阶段,对JS的语法,函数,正则等已经熟悉了,能利用js来写一些特效,并且发现用JS写特效,是比较累人的一件事,开始尝试jquery,prototype,并对jquery,prototype基本语法有所解,个人反对不学JS,直接入手jquery,prototype这样的JS框架。

3,很熟悉阶段,在框架的帮助下,能熟练的用OOP的思想的来写代码,而不是一个个function累加,熟练运用jquery,prototype的ajax,或者是网上一些ajax框架,如(ajaxrequest),不在直接写active控件了。能够利用网络资源,来完成各种特效。

对于大型公司来说一般都是有js程序员的,小公司基本上没有,要么交给程序员来做,要么交给美工来做。美工一般都不是程序员,也没有编程基础,所以学JS比较吃力,但是学jquery比较容易的,因为css对html进行控制的方法,和jquery对html的控制方法基本上差不多(css,jquery的相同之处),所以有好多公司把特效交给美工来做。

五,apache等能力

个人觉得,到目录为止,跑php的话用apache的人还是最多,以apache为例

1,了解阶段,不管是linux下,还是windows下,能够安装配置apache,知道如何添加php添模,如果面试官问你,apache为什么能解释php代码,你怎么回答呢。对apache的基本配置有所了解,对于启动中遇到的问题能够解决等

2,熟悉阶段,知道如何向apache中添加新的模块,如果如何进行url重写,防盗链,进行IP限制等

3,很熟悉阶段,知道如何利用apache来缓存图片,能利用apache来做负载均衡,并且知道利用ab命令来进行压力,通过工具对日志分析,经过分析来对apache进行优化,知道如何搭建多个虚拟主机;对apahce的常用模块都有实际操作经验等

对apache进行监控和维护,一般是运维人员或者是项目经理来做的,个人觉得最好还是了解一点,因为这样您才不会那么容易被忽悠,对于自己将来的转型也是非常有必要的。

六,linux系统

为什么要掌握linux系统呢?用php写的网站大多数运行在linux或者freebsd下的,掌握linux系统对自己将来的发展还是比较有好处的。

1,熟悉阶段,会装linux系统,对系统的常用命令能够熟练运用等

2,运用阶段,在linux系统下,能够安装配置apache,php,mysql,svn,memcache,squid,lvs等一些web项目必要的工具,能够通过日志分析其状态等。对shell要有所了解,并能够写一些简单的shell脚本等

七,勾通能力

这一点非常重要,并且被越来越多的人所忽视,其实做程序员挺杯具的,根电脑打交道的时间是最多,也许是因为这样吧,勾通的时候,是比较费劲的,也有可能是被程序的严谨性束缚了大脑,说出来的话,太专业,可能其他人听不懂的。所以平时多和他人交流,特别是跟非技术人员多勾通,多站在对方的角度来思想问题,这样的话,我想勾通起来会容易很多。

From : http://blog.51yip.com/php/1153.html

5个简单的方法 带给你平静的心情

当向听众解释压力管理的时候,讲师拿起一杯水问道:这杯水有多重?20克到500克众说纷纭。

讲师回答说:实际有多重并不重要,这要看我拿着它的时间。一分钟,没有问题。如果一个小时呢,我的右臂就会疼痛。再进一步,一天,你应该给我叫救护车了。当然每种情况下杯子的重量是相同的,但是我拿的越久,它就显得越沉。

他继续说道:这就像压力管理,如果总是怀揣沉重的负担,随着压力越来越大,迟早我们会崩溃掉。

正如这杯水一样,你需要放下它休息一下,调整自己,继续前行。

所以,今晚在各位回家之前,放下工作上的负担。不要把它带到家里去,你可以明天继续肩负。无论你背负怎样的负担,如果可能,暂时忘掉它们。

这里有5个简单的方法,能为你带来平静的心情。

1.将最艰巨的任务放在早晨。

人们总是倾向于用简单的任务开始一天的工作,别这样做。将艰巨的任务拖到后面就像你伸开手臂举着杯子,开始没什么,但是随着时间的推移,你会很快感觉到压力。将最艰巨的任务放在早晨,这样你就能享受到效率提升及一天中剩下时间的平静带来的惬意。

2.放开你不能控制的事情

你和朋友计划好外出,但是最后关头下雨了,这时你会怎么想?

有些人会因此而失望、愤怒,然后跟周围的人抱怨:这不公平,为什么这种事总是让我遇到!

没什么可抱怨的,雨不会因为你抱怨而停止,老天才不在乎。这种情况下我会到公园里散步(因为雨也很有魅力),或者躺在床上一边读Terry Pratchett的书,一边听着雨水打在窗户上的声音。

将你能掌控的事情做到最好,但也不用太在意不能左右的事情。

3.不必担心别人的想法

我曾经对自己的舞技感到非常羞愧,因此很少与朋友外出。即使出去我也不跳舞,仅仅笨笨的站在一边。因为我担心别人嘲笑。

然而有一天我在学校里重重的下了决心,决定要改变这一现状。下一次和朋友们出去的时候,我走进了舞池,旁若无人的跳舞。有意思的是并没有人注意到我。实际上他们还想看我再跳,因为觉得我有意思。

不要担心别怎么看你,可能他们还在担心别人会怎么看他们呢

4.列出3件你喜爱的事情

我是在Positivity Blog中的The Plague of Happiness Ever After文章中第一次和读者分享这个技巧的。

仅仅是列出生活中你喜爱的3件简单的事情,如:这个屋子我最喜欢的3个地方,或这个星期我最喜欢的3件事,或是其他的什么。

在你堵车或排队而感到无聊的时候这个技巧就会显得尤为有用,你能立即把无聊的感觉一扫而光,取而代之的是幸福和平静。

5 走向窗前望向窗外,深呼吸。

我从禅师Mary Jaksch那里学到的这个技巧。仅仅是走向窗前望向窗外,深呼吸。将注意力集中到这次呼吸上并忘掉其他的一切。这听起来及其简单,但是你很难想象这样做能立即给你带来平静的心情。

这也是最后一个技巧,你可以在读完这篇文章后马上试一试。忘掉一切,体会空气在肺里的进出。

PHP程序员突破成长瓶颈

From:http://blog.zuowj.com/?p=408

身边有几个做PHP开发的朋友,因为面试,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们能破突自己,有更好的发展。

对PHPer的片面划分

a: PHP 爱好者     (半个PHPer)
b: PHP 初学者     (PHP Beginner)
c: PHP 初级程序员 (Primary PHP Coder)
d: PHP 中级程序员 (Junior PHP Coder)
e: PHP 高級程序员 (Senior PHP Coder)
f: PHP 工程师     (PHP Programmar)
定义: 正在以PHP程序为主要工作,并正在进行新产品的研发.可以同时使用C+/perl等辅助提高PHP程序性能的人是PHP工程师.
有自己的代码库和快速开发工具…
具体到PHP中级程序员之后,PHP程序员就开始选择发展方向进行分化了.能够到这一步的人,基本都对自己的职业规划有清晰的认识

PHPer的共同特点:
0: 会电脑,能上网.
1: 知道w3c标准,
2: 会html,会JS,会PHP.会MySQL.
3: 知道linux.见过linux运行.

PHP工程师面临成长瓶颈

先明确我所指的PHP工程题,是指毕业工作后,主要以PHP进行WEB系统的开发,没有使用其的语言工作过。工作经验大概在3~4年,普通的WEB系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题。但他们会这样的物点:

  • 除了PHP不使用其它的语言,可能会点shell 脚本。
  • 对PHP的掌握不精(很多PHP手册都没有看完,库除外)
  • 知识面比较窄(面对需求,除开使用PHP和mysql ,不知道其它的解决办法)
  • PHP代码以过程为主,认为面向对象的实现太绕,看不懂

这些PHPer 在遇到需要高性能,处理高并发,大量数据的项目或业务逻辑比较复杂(系统需要解决多领域业务的问题)时,缺少思路。不能分析问题的本质,技术判断力比较差,对于问题较快能找出临时的解决办法,但常常在不断临时性的解决办法中,系统和自己一步步走向崩溃。那怎么提高自己呢?怎么可以挑战难度更高的系统?

更高的挑战在那里?

结合我自己的经验,我列出一些具体挑战,让大家先有个感性的认识。

高性能系统的挑战在那里?

  • 如何选择WEB服务器?要不要使用fast-cgi 模式
  • 要不要使用反向代理服务?选择全内存缓存还是硬盘缓存?
  • 是否需要负载均衡?是基于应用层,还是网络层? 如何保证高可靠性?
  • 你的PHP代码性能如何,使用优化工具后怎么样? 性能瓶颈在那里? 是否需要写成C的扩展?
  • 用户访问有什么特点,是读多还是写多?是否需要读写分离?
  • 数据如何存储?写入速度和读出速度如何? 数据增涨访问速读如何变化?
  • 如何使用缓存? 怎么样考虑失效?数据的一致性怎么保证?

高复杂性系统的挑战在那里?

  • 能否识别业务所对应的领域?是一个还是多个?
  • 能否合理对业务进行抽象,在业务规则变化能以很小的代价实现?
  • 数据的一致性、安全性可否保证?
  • 是否撑握了面向对象的分析和设计的方法

当我所列出的问题,你都能肯定的回答,我想在技术上你基本已经可能成为架构师了。如何你还不能回答,你需要在以下几个方向加强。

怎么样提高,突破瓶颈

如何你还不能回答,你需要在以下几个方向加强:

  • 分析你所使用的技术其原理和背后运行的机制,这样可以提高你的技术判断力,提高你技术方案选择的正确性;
  • 学习大学期间重要的知识, 操作系统原理,数据结构和算法。知道你以前学习都是为了考试,但现在你需要为自己学习,让自己知其所以然。
  • 重新开始学习C语言,虽然你在大学已经学过。这不仅是因为你可能需要写PHP扩展,而且还因为,在做C的应用中,有一个时刻关心性能、内存控制、变量生命周期、数据结构和算法的环境。
  • 学习面向对象的分析与设计,它是解决复杂问题的有效的方法。学习抽象,它是解决复杂问题的唯一之道。

“这么多的东西怎么学,这得学多久呀” ?

如果你努力的话,有较好的规划,估计需要1~2年的时间

关于具体收入水平

总的来说因为这几年PHP培训班的加多,大量PHP新手开始搞乱市场,所以很难说清.在此贸然写出有误导之嫌.而且收入水平和所在地区有很大的关系,例如重庆的同水平PHPer肯定比北京的工资低.但在重庆省着点花钱反而比北京剩的工资多.

不过,PHP的市场确实在逐步混乱,目前因为培训班/大学选修课等原因,初级PHPer大量增加.故初级PHPer的工资市场有步asp呈现白菜价的趋势,但高级PHPer仍然极为缺乏.
但我认为:工资水平和实际技术水平基本成正比,目前业界信息透明,且到目前位置高端PHPer的圈子仍然极小.大家交换信息极为方便.如果PHP水平不高,但拿到高工资的概率不高.即使PHP技术差能拿到高工资也不能长久.

关于其他

1 PHP程序员从中级程序员阶段就开始分化

具体方向根据公司性质,工作条件,自己的兴趣等不一而同.因此需要擅长的详细技能也不太相同

例如: 公司使用 joomla 构建网站, 这就要求程序员必须精通joomla. 如果公司使用自研CMS+discuz构建网站,这就要求程序员能够熟练进行DISCUZ的二次开发.强行要求程序员精通这精通那,意义不大.

到高级程序员开始.PHP程序员由于自己的职业经历.肯定会有自己的专攻方向,有人擅长大负载下程序开发优化,有人擅长项目快速开发.而到这个阶段,如果PHP程序员还需要看这篇文章规划自己的职业生涯.那么请自己列出自己擅长的PHP技术.并选择一种最擅长的技术专攻.

2 关于coder和programmar.

字面上理解第一个是编码员,第二个是程序员.实际因为国内名词的混乱.第一个大多以程序员称呼,第二个目前大多处于项目核心领导层面.故本文暂以工程师称呼.
coder 是进行少量创新的,大量重复工作的人.
programmar 是进行新技术摸索开发,并实际领导/带领大中型项目开发的人

3 关于 C++ . PHP初期的语法(php3/4时代)和C几乎一样

但到一定深度之后.有些PHP的特性需要实际阅读PHP源码才能理解(相关文档不全或者不好找到).有些实际项目功能使用C++开发远比PHP效率高.

比如我现在做的项目需要爬虫持续海量抓取,当带宽足够的情况时,纯使用PHP实现效率不高.所以必须使用C++. 所以C++到需要用的时候自然而然的就要用了.不过如果有C/C++的基础,学习PHP要轻松很多.

From:http://blog.zuowj.com/?p=408

碎碎念

有些淫,一毕业就进入大公司、500强,一切就如教科书上写的按部就班工作,我们谓之NB…

有些人既在大公司内的小团队干过,也在大公司的大团队混过; 既在小公司的小团队拼过,也在小公司的大团队干过。

“大公司有挑战,千万级用户,数千台机器,数亿 PageView,想想就激动” “有很多牛人在那,能学到东西…”

1.    及早进入大公司对提升自己的知识、职业层次、眼界、人脉,对事业的发展收益是不可估量的。在大公司还有另外一个重要优势,就是让人深刻了解“大公病”的危害和成因,从而强化去创业、去小公司的决心和信心,更能作为预防针来防范自己犯类似的错误。

2.    大公司最大的困扰,就是无法准确测量每个员工的贡献它会把所有人的贡献平均化,个人的表现无法单独测量。公司越小,你就越能准确估计每个人的贡献。一家创业公司,可能只有10个员工,那么影响收入的人员因子,最多也只有10。这意味着,你最好找出色的人合作,因为他们的工作和你的一起平均计算(而且一旦项目失败,那么相比而下他的损失也应该不比你小~)。团队越大,每个人的贡献就越接近于整体的平均值。

3.    简单来说在小公司自己更容易把握自己的命运,visibility更高 。所以如果不能出位,可以去大公司看看人家是怎么玩儿的,然后回到小公司去。

4. 创业公:理想情况下,你与其他愿意拼命工作的人,一起组成一个团队,共同谋取更高的回报(相比为大公司工作的情况)。创业公司不仅仅是十个人的团队,而是十个同类人的团队(容易形成相同的目标和价值观)。Steve Jobs曾经说过,创业的成败取决于最早加入公司的那十个人。我们不需要小村庄的那种”小”,而需要全明星第一阵容的那种”小”。

的确,大公司有很多好处,比如相对完善的工作流程;成熟的开发体系、培训体系;专人专事,不会让你身兼多职;旱涝保收,起码不会遇到开不出工资来,甚至福利也不错。有人说,够了,我们工作不就是为了这些么?不一定。相对完善的工作流程,意味着你的工作可能会是模式化的,革新就会少很多;成熟的开发体系、培训体系,未必能释放你的全部生产力,新技术也未必能尽快发挥威力…

专业人做专业事,看起来是好事,但同时也意味着你的职业风险,专业分的越细,意味着你更依赖于整个体系,自己做不了什么事情,脱离这个环境可能一无是处;至于工资和待遇,大家应该明白,在当前的形势下,你依赖工资可能永远买不起房子,或者是一辈子的工资只能交给银行…

大公司的确有光环,要清楚那光环并不属于你的。大公司有牛人,可能牛人内心也很苦闷。大公司还有个很明显的优点就是能调动的资源的确大,是小公司没法比的。但一定要明确一点,那些资源如果不能被你所充分使用,其实和没有是一样的。在大企业做事情,似乎都是大项目,大战略,所以,芝麻绿豆大的事情也会提升到某个高度,召集一群人反复开会、讨论、分析、论证,对技术人的天性是一种无情的摧残。

回过头来,我们说小公司。如果小公司的老板是依赖于某些潜规则赚钱,那么你尽快想办法离开,在这样的小公司工作越久,对你伤害越大,除非你将来也要做个这样的小老板。如果你所在的公司虽小,但是有活力,有潜力,目光远大但不冒进。虽然短期内赚不到太多钱,但能让你受到很大的锻炼。绝对不要忘了在小公司发展,实际上你的潜在收益更大。记得王健硕说过类似如下的观点:小公司总有一天会淘汰现在的大公司,自己也会变成大公司,否则的话,我们现在看到的都是那些恐龙级的企业了。新陈代谢是这个社会发展的必然规律。

如果你觉得对小公司尤其是初创公司有过失望的话,哪或许是你根本没去尝试做一些改变,你能确保你到了大公司一切都让自己变好?

隔岸观景是人的普遍心态,尤其是技术人员,始终觉得有些没有尝试过的环境会更好一些,比如在小公司做久了,一厢情愿的觉得大公司会很美好,但不知道加入到那些大公司后,你还会坚持自己当初的想法?你的短板在大公司得到了锻炼没有?你的技能提升了没有?你的视野得到了拓宽?人要想让自己变化,不能依赖于周围环境,驱动力来自自身,只能靠你自己。

So,简单而言,做好VIP,厚积薄发:

Visibility: 你的可见性,也就是多少人知道你在干重要而有意义的事情
Image:你在别人心目中的地位,要让人认为你是领域内的专家,或者至少非常上进
Performance:无论公司大小,你的业绩和成果是硬数据。

From :  http://www.ruanyifeng.com/blog/2010/08/not_working_hard_for_a_big_company.html

施舍,是施舍..

不解释..

在西方的程序员眼里,东方的程序员是什么样的?(转)

最近,在国外著名的stackexchange网站上出现了一个有趣的问题,有人问:西方的程序员眼里,东方的程序员是什么样的?

他描述道:世界的东方(印度/中国/菲律宾)是西方(美国/欧洲)的主要软件外包服务提供者。

你是否有过与这种离岸外包团队合作的经历?如果有,感觉如何?你对这些来自东方的程序员有没有一些总结性的看法和观点(比如:他们是否合作,是否能按时提交代码,写出的程序是否有质量?)。依据是什么?

读者的回复很踊跃,其中一个被顶的最高的回答是关于印度人的,回答中他说一个印度分包商给他们开发了一个组件,他认为这是他接触过的最恐怖的程序,里面最大的一个文件体积超过600KB,大概有3万多行。他向上天乞求希望自己永远不需要去维护这样的代码。这位答复者说他在印度生活了3个月,发现东方人和西方人在文化上的差异很大,印度人很勤奋,但常常却不能把事情做对。印度人里有个根深蒂固的文化,就是从不说no,他说即使你到副食品商店里要求买一条毯子,店主也会说“是,先生,稍等一会”,然后派一个小孩到外面商店把东西买回来。这虽然在生意上是好的做法,但未必适用于做软件开发。

另外一个回复是关于俄国人的,同样,他觉得这些俄国人写的代码顶多当作原型来使用,最终都会被丢掉,不能用。

我找了很久,终于在帖子的最底部发现一个关于中国程序员的回复,不过内容非常的有趣:

到现在,我在中国已经待了2年多一点时间了(我是个加拿大人),跟中国的开发人员一起共事你会感到非常的奇特。我敢说上面这些关于东方的程序员的总结都是正确的,至少对于中国人是这样的。我遇到的/一起共事的大多数开发人员基本属于这种情况:

缺少上进心和创造性

这里我并不想说他们很差劲或愚蠢。也许更可能是一种文化。在历史上他们就有一种官本位和崇尚权威的传统。于是他们对来自“上面”的糟糕的设计从不提出疑议。同样,他们更多的是关注技术技巧,而忽略业务领域知识。我费力九牛二虎之力教他们模式和各种抽象概念,直到他们能应用这些东西到他们手头的任务中。然而,过不了多久,就像是决堤的洪水,他们竟然肆无忌惮的挑战权威,至少在技术层面上是这样的,我可不想弄得签证被撤销。;-)

磨擦

前面这个问题说过,但我要强调一下。这也许是最重要的一个问题,是产生中国开发人员跟这里的海外同事(这里是加拿大人)共事时产生紧张关系的原因。通常,我在这里共事的西方人会特意的夸大跟东方人共事时东方人的一些不好的方面。我这些加拿大同事对人友好但在代码审查时极其的苛刻。如果发现这些中国程序员一个小失误或没有使用好的编写方法,他们就是发脾气、大呼小叫。但当他们自己被礼貌的要求也按照这种要求完成他们自己的任务时,他们也会发脾气、大呼小叫。

牺牲

中国人并不以介意使用蹩脚的二手器械。我坐坏了三把椅子后才终于要了一把稍微舒服一点的椅子。可是当我坐上这把较好的椅子后,突然感觉不是很好,因为看到这些中国人仍然坐在好像是中世纪那么原始的椅子上。然而,等我访问了这家公司的总部后,我发现这里的程序员的一张桌子就有我们4~6个人的团队的占地面积那么大,更别提他们的椅子了!

在起初,他们编写的程序并不是很好。这当然是文化上产生的裂痕,但这也是开始时糟糕的系统设计产生的很陡的学习曲线造成的。但你们知道吗,两年之后,这个系统中一些最优秀的模块都是出自中国公司。于是这就更加明显的导致了双方程序员的磨擦加剧…

坦白的说,这几年走过来不容易,以个人经验判断事情的趋势,我认为对这个问题的看法是正确的。

做为一个中国人,对于西方人对我们的看法和观点,我觉得不需要去急着找他们的论点漏洞进行反驳。你可感到到他们对东方人的不满是一种普遍弥漫的气氛,俗话说,苍蝇不叮无缝的蛋,我们应该还是先从自身找问题,有则改之,无则加勉。

From:   http://www.linuxeden.com/html/news/20110301/107239.html