程序员为什么不想做程序员?

做程序员是一件非常美妙的事情,因为这是不断挑战自我的事情,之所以选择程序设计这条道路,绝大多数人还是因为兴趣,觉得开发出来一个东西很好玩,想想最开始的一个“hello world”会让人激动半天。

可是程序员为什么会不想做程序员了呢?可能不是他自己喜欢的,可能是没有想清楚,可能是因为有更喜欢的东西了,我想说的是环境对于程序员的影响。

1. 失败的大学教育

无论是无聊的教材,老师的欠投入还是落后时代的内容,都会对学生的程序设计激情进行极大的摧残。尤其现在要命的java和软件工程,批量化的软件民工生产流程,彻底把软件设计变成了软件开发,又变成了劳动密集型产业。以前让人自豪的程序员的名字,变成了码农,成了印象中的低端工作。

2. 企业不培养人

程序员要有的追求,素质的培养,学习和成长已经变成奢侈的东西。企业基本不培养程序员,而是靠挖程序员来过活。

企业也没有很好的管理者,当一个管理者不合格的时候,他传递的是错误的信号,他影响的是一大群人,而这些人可能刚从大学出来,带着美好憧憬和满腔热情的学生,却没有人好好地去引导他,去教他对于程序的看法,而是像抓壮丁一样抓过来干活。

3. 业务人员的“压迫”和“釜底抽薪”

在很多公司,业务人员是具有绝对发言权,当然还有老板有绝对的发言权,程序员是劳动力,闲着是浪费,就是要压着才能出活,而由此又产生了程序员应付业务的一些方法手段。更加要命的事情是,好不容易出现几个脑子清楚,事情搞得定的人,又被抽出来成为了PM,经理甚至是市场的人。

记得5年前,eBay的人说要招10年开发经验的技术人员,我说那几乎是不可能的事情,因为10年开发经验要想存活下来,那是何等地残酷啊,无论是压力和诱惑都太大了。

4. 程序员的回报在身边的例子太少

在硅谷,程序员见过太多的上市后暴富的技术人员,并且有很多的牛X技术人员的回报要比精力搞得多,并且有股票期权这样的东西,对于参与到创业团队中的任何人,无论是技术还是经理,只要贡献足够大,根本无所谓是什么职位。

但是国内和很多的新同学过来,和他们谈stock,他们的反应是我的薪水和同学比差多少,没有人能够知道这个东西的价值。

吴军说过一句话:“存在的就是合理的,合理的就是存在的。现在的存在肯定有他的道理,而如果不合理了,那么也就不存在了。”所以关于程序员的价值的问题,现在的种种原因是被低估了,但是会是永远么?不会。

很快,程序员的价值会回归,程序员会为自己自豪。百姓网就是这样让程序员自豪的地方:http://jobs.baixing.com/

关于“浪费”的思考

家里一直有节俭的传统,所以从小到大一直被灌输着节俭的理念,很多时候看不得浪费,当时我记得建硕提过一个说法:“你说自己已经吃不下了,是不吃浪费还是吃下去浪费?”我当时的第一反应是不吃浪费啊,吃了还能长肉啊,又想不对,已经吃不下了,要么变成脂肪还成问题,要么就彻底不吸收了。

其实我觉得类似的浪费有很多,比如健身卡是最典型的例子,包括剪头卡,之前我办过500元的充值卡,剪头发的,可是我每次剪头只要10元,而且我基本上2个月剪一次头,还要承担可能关门的风险,所以在我搬家以后,果断将剪头卡半价转让,现在我宁可一次付30元的剪头费用,再贵也是可以计算和控制的,并且做出一个简单的原则:如果一张储值卡不能在1年内有明确需求会用完的话,坚决不办。(不能完全地否认这类卡片,比如我觉得电影院的打折卡就是一种不错的选择,基本上一年两个人四五部电影肯定要看的,所以充值是一种好的选择。)

公司为了节约个人所得税而办的积分卡,本来也是出于不浪费的考虑,但是其实是产生了更多的浪费,他算是钱,却又不能完全当钱用,他在某些情况下等同于钱,他在大部分情况下又不成为钱,所以就会寻找各种机会去花费他,甚至会制造出很多本来没有的需求,看似是便宜了,却不知道这种需求本来是可以不用出现的,所以剩下的所得税其实不知道会产生更多的浪费,更别说因为支付的流程的复杂产生的时间浪费,以及思考的时间。

所以浪费不浪费,不能只是金钱的视角,如果考虑时间,精力,健康等更多的影响,会有很大的不同。

除了“无奈”和“抱怨”以外,还可以“提高自己”

在面试的时候,如果听到抱怨,那就不是一个很好的信号;另外一种不好的信号就是认为很多事情是无法改变的。

人生是苦难的,从一颗精子去寻找卵子的过程就是一段漫长的旅程,从几亿中间的脱颖而出,就算形成了胚胎,也要经过母体的考验,如果觉得不合格,随时是可以终止妊娠的,而生产过程又是一个非常危险的过程,对于母体和孩子都是一个巨大的考验,只是在医学越来越发达的时候,已经不是一个很大的问题。而一个小孩面对着未知的世界,每天都是有新的挑战,被要求反身,抬头,喊爸爸妈妈,大小便准时等等。只是我们今天都经历过了这些,而觉得已经不是什么困难了,但是每一步不确定的事情,都是需要人去勇敢地迈过去。

之前看到一句话:很多人过了二三十岁就已经死了,因为他只是在重复自己。当一个人觉得大学学完,工作几年,基本上学得差不多了,接下来就只是混资历,熬出头的话,那他就相当危险了,因为缺少了学习的可能了。

刚刚踏入工作岗位,觉得有无数的东西可以学,因为什么都是不会的,别人的期望值也是教会你,但是三五年之后,原来不熟悉的变得熟悉了,原来小心谨慎的,现在变成闭着眼睛就能做了。可是接下来的问题是很少能够有人教你一件件具体的事情怎么做了,前面的路是别人走过的,带着走的,后面的路要自己走,自己去开拓的。

面对从没有走过的路,就会出现两种反应,一种是“无奈”。没人教过啊,这让人怎么办,那我就还是按照原先的方式走吧,效果不好也只能这样了。另一种是“抱怨”,为什么没有人按照我设想的路来走,偏偏给我出难题,要是给我多少多少时间,我就可以创造出来怎样的东西,要是给我多少多少头人,我就可以创造出来怎样的东西。

可是却没有人看到自己的能力需要提高。成长是有两种的,一种是练习型,就是同样的事情做一百遍;一种是顿悟型,是上一个台阶性质的,所谓熟能生巧,不是为了熟而熟,熟了是为了生出来巧,而且很多时候熟不一定能够生巧,还要借鉴其他的东西才能生出来巧,而这种巧和原先的生产力是完全在不同的层次上的。

例如一个开发人员如果说只是把自己定位成一个功能实现者的话,那么他就是拿到需求来实现;而更高的生产力会是什么?更高的是形成一个工具,把同样性质的需求变成配置,让使用的人能够自己配置;如果做工具就是最高了么?更高的生产力是把人力的配置变成机器能够自动适应的东西,把人的那一部分配置工作都省了。技术人员的最高境界是让某些事情变成不需要技术,不需要人就能够自己完成的东西。

一个程序员的追求

“大错不犯,小错不断;气死架构,难倒网站。虚心接受,就是不改。”

这个签名是之前架构狂修BUG的那段日子写的,那个阶段看到了很多因为对程序的态度不认真而犯的错误,而我认为一个人对待程序的态度最终决定了代码优雅的程度。

虽然我们只是Developer,但是我们应当有我们自己的追求,总觉得不管是什么原因,一个Developer犯了第2次类似错误的时候至少需要想想,尝试完善自己。

不能让自己保持一个程序设计的Level上来完成不同的任务,新的技术和新的工具只是一个程序员的武器,不断的提高自己和补充自己才是一条长久的道路,否则就会悲剧的被武器伤害到自己,越锋利的武器伤的越重。

我不喜欢用错误的结果来衡量一个程序错误的大小,真正难以修正和改进的是错误的原因。

所以,之前的签名,是我看不到不断犯错的倾向有好转的趋势,甚至发现除了架构之外很多Developer对错误提示都已经麻木的时候,发出的感慨。

我们,应当是值得其他部门托付的一群人,应当是让错误远离生活的一群人。

我希望日后其他部门的人看到线上有问题的时候,会想起:“他们会修好的!”,而不是:“靠,他们又弄出什么事了!”,我觉得这才是信任。

以上 祝好

考拉

关于车子的两个事情

在满上海的那么多车库里面车子都是头朝外,屁股在内的,然后去硅谷就会发现,所有的车子都是头朝里面,屁股朝外的。

这个问题其实我想了想,因为在上海学车的时候都是有一项考试项目是倒车,大家都学了一首倒车的好本领,所以我想都没想都是倒车进去的,而美国人据说开车都很差,基本上几天就学会了,而倒车是个复杂的事情,所以基本不倒车。有一次把车停在旧金山的车库,他们要求是把钥匙留下来,他们给你停车。可能技术是一项原因。

另外我在想倒车和不是倒车在时间上有什么区别,其实头扎进去,时间是差不多的,甚至头进去,屁股出来更加省时间(只要没有人挡着路),唯一的区别就是你是想走的时候快一点还是慢一点。可能中国人会更加愿意开始麻烦一点,后面出来爽一点吧。但是我想这也只是一种习惯。

还有一个事情也是关于车子的:

在欧洲,大家都喜欢轴距比较小的车子,而美国则习惯大车子,在中国也喜欢的是大车子,当然原因各不相同,欧洲的城市里面比较小,很多都是路边停车的地方,小车子停车会更方便,当然他们也希望有东西能够装着,但是他们更加愿意选择旅行版,让屁股大一点,而不是轴距拉长,因为轴距拉长会影响驾驭,另外欧洲有四通八达的铁路网,把车开到车站是个不错的选择。而美国人似乎更加依赖于汽车,并且有宽大的马路,停车根本不是什么问题,而开长途就变成了重要需求,车子大也可以理解。至于中国的大车,更大部分是出于面子问题,尤其是在上海这样的城市。

时间账本第三周

看完《把时间当作朋友》,我就开始做时间账本了,我觉得这个习惯非常有用,如同做钱的账本一样,以前很痛恨所谓的记账类的东西,感觉那样的东西记录了显得很小气,自己花多少时间和自己花多少钱,自己还不清楚么?用得着记录么?可事实是,真的需要记录。

其实人对于很多东西的衡量都是通过感觉,很多时候感觉是正确的,但是还有很多时候是不准确的,尤其是和时间相关的东西,那是更加不准。这就是为什么要有历史,记得《全球通史》的序言里面就是一段我一直记得的话,人类从来没有停止过重复自己,即便已经无数次被证明是错误的,这大概是人需要看历史的原因,也是为什么需要记账的原因。

时间的流逝其实是一开始缓慢,后来加快的,这种感觉到假期特别明显,明显周六过得比周日慢,暑假的前半个月明显比后半个月慢,所以人生的后半程是比前半程要来得快的,其实最主要是小的时候总觉得时间有一大把,而后半生则总觉得没那么多时间的感觉,所以人还是尽早地记录自己的时间吧。

知道现状才能掌握未来,描述美丽的蓝图总是让人兴奋,而认清自己却始终那么难,但是现实就是现实,无论你看到或者不看到,他就在那里。我们的大脑总是习惯性地去做他喜欢的东西,而把我这个主体抛开,要让我控制我的大脑,我就要记录我的大脑让我做了些什么事情,而事实是触目惊心的,如果一旦我半天没有记录,我甚至想不出来当时我在做什么。

如同财务账本是为了让花钱更加有效一样,时间的账本能够让自己的时间更有效,用别人同样的时间做出更多,享受更多,所以,记账吧。