西乔:我在过着很奢侈的生活

西乔是这样在个人博客上介绍自己的:web 设计师,现居上海,Designlol.net 站长。配以她略显冷峻的标准照。她的名字出现在“科学松鼠会”网站的落款栏里,她义务设计了这个声名鹊起的科学网站。而知道分子们熟读的FT中文版网站也与她有关。28岁的她已经在web设计界广受瞩目。 然而,网上关于她的报道很少,除了有几段讲座视频,是她在讲“理性的设计”。她有一个网站,叫“全球设计精享站”(Designlol.net),介绍全球各领域的设计精华。她的博客“西乔的九卦”有一批忠实粉丝。只是她更新得没有以前勤了,描写个人的“九卦生活”栏目更是有近一年没有更新。这位设计师显得有点神秘。她说,她正在备考雅思,准备去加拿大读一个艺术方面的两年硕士课程。 然而,如果你会翻墙,你会从twitter这只“愤怒的小鸟”上看到一个活跃的家庭主妇版的西乔——爱淘宝,也爱做菜,当然也爱和她先生——程序员霍炬夫唱妇随。而且她也因之获得了程序员们的生活素材,在《程序员》杂志上连载“神秘的程序员”漫画,到目前已出版28期。“这是我目前唯一规律的月收入,每月500块钱。”她骄傲地伸出了一只手掌。 这对IT届的知名夫妇自称过着“反组织”的生活,整天宅在家里做着自己喜欢的事,行为也特立独行。他们的婚礼是在2009年六月的敏感词日举行的。在北京的奇遇花园咖啡馆里,谢绝红包,并给宾客提供霍炬天津家乡的特产——煎饼果子。结婚之后半年,2009年年底,在很多人为婚房发愁的时候,他们卖掉了北京的房子,告别那曾经成为无数素不相识的程序员联络点的客厅,搬到上海居住至今。现在的生活主要是泡浦东新区图书馆,因为“只有在那里你才能在中国体会一个纳税人的福利:免费停车,免费借书,免费wifi,整整6层的图书馆……” 我和西乔的谈话进行了三个小时,她的表达很清晰,大概是经过讲座历练,而她则不像照片上那么冷峻,而让我相信这是一个毕业五年,有自己的本领和爱好,又能自由地把控自己生活的女生。 Q:我们先谈谈你的个人经历吧。 A:我是知青子女。在上海出生没多久就到了安徽望江县生活,在那里一直读到高中。我妈妈是在文革后期从上海到安徽下乡的,她很快考取师范,在当地做老师。我爸爸是安徽人,他是一个很爱学习的人,70年代末就下海了,最早开了摄像馆,拥有县城里唯一一台专业相机。后来他又自学电工,学修汽车,在80年代初就拥有了六位数的存款,而那时普通人的月工资只有二三十块钱。16岁的时候,我的户口回到上海,而我本人则直到2002年才回到上海,在专门为知青子女开始的全国高考考场参加了高考。 Q:你父亲对你有很深刻的影响吧? A:我父亲对我有三点影响。一是他是最早一批下海的人,不想过朝九晚五的生活,一直有创业精神,都想去试,哪怕是付出代价。二是他是一个非常有求知欲的人,老了也想继续学东西。三是他是一个希望了解真相的人,他会翻墙。我父亲在我初中时给我讲解的历史和历史书上的写得不一样。这对我世界观动摇很大,历史书上的事居然可能不是真的!怎么能写到课本上教给大家呢?我就去问我的历史老师。他是一个很好的老师,他和我说确实有的不是真的,你以后要学会自己看历史。这件事对我影响很大,我以后再也不会相信从单一渠道了解到的东西。我开始拥有了追求真相的本能。 我父母都觉得浪费时间是罪过,一直保持学东西,整个家族没有人会打牌打麻将。我爸天天看Google Reader,经常要缠着我先生问这问那,还岁数大了怕忘,还专门有一个to do list,要请教那些问题,路由器要设置,代理要更新。我妈也很早就开始了她的博客。 Q:听起来真是很独特的家庭氛围,那你是怎么选择自己的大学专业的? A:我家在1995年就买了电脑,Pentium MMX。我大概在1999年家里开始上网了。因为我爸爸后来还做摄像,我在上大学之前就已经学会用Premier剪小视频短片,也会用Photoshop,对互联网比较感兴趣。我大学报考的是中国传媒大学的网络艺术,那是一个实验性的专业。把各种相关学科的课程都拿了过来,却什么也学不深。所以我在大学都是做自己的事情,我是一个不喜欢集体生活的人,我不参加任何社团和学生会的活动,我想好我大学毕业就想做设计。学设计的学生很容易接到项目。我还和同学一起在校门口开了一家图片社,就是用一两台彩色喷墨打印机开的,帮大学生做一些打印、装裱、海报设计活等。那是我第一段近似创业的经历。广院很自由的一个地方,鼓励学生创新,鼓励动手能力,很像社会的预演。但我也比较遗憾我没有去一个纯艺术的学校受教育,也遗憾我没有去一个学术氛围更浓的学校。 Q:毕业后你有过一段短暂的公司生活? A:我们这个专业据说当初是为了北京奥运准备的,同时也为以后的数字电视的方向储备人才。不到毕业我的同学大多都去了央视五套实习。那时候我也在央视国际实习了,呆了一个礼拜我就觉得太琐碎了。然后我就随便找个地方上班了,2005年11月我就在一个朋友开的做电子竞技的小公司上班了。他们一开始对我也很器重,日常业务就是经营一个电竞的资讯平台。那时我就负责做改版,要把一个静态的公司网站改成一个门户网站。我找了一个开发,几个编辑,工作一两个月后我名片上的头衔就变成了网站总监。小公司是很锻炼人的,它需要的全能型的选手,而不是流水线螺丝钉。2006年1月我接了第一个正式外包项目,来自央视,为一个类似同一首歌的栏目组做一个官网,加一个影视资讯门户,有视频,有专题,有用户交互。我带一个开发去接了这个项目,赚了一些钱。那时我还没有正式毕业。从那时起,我就觉得我可以带项目。我自己承担了客户接洽、管项目进度,做设计、做产品、做前端,和开发人员合作。后来我又在深圳接了两个项目。我算了算积蓄,够我不工作地活半年。我决定SOHO,不去上班,靠接项目生活。如果半年后活不下去就再找一份工作。我觉得很多创业的人在离职前都这样算过。我的上班生涯半年内就这样结束了。上班让我有点迷茫,在交通、会议和琐事里花掉很多时间,下班以后也没有什么很多时间看书或做自己想做的事。那时我也找不到人生的价值在哪里,所有时间的付出是为了挣钱,然后变得更能挣钱?挣到年薪百万就算是人生追求吗?我们最终是为了什么而付出心血和健康,牺牲和家人呆在一起的时间,牺牲掉自己支配时间的自由呢?我决定要尝试另一种生活方式。 Q:结果你成功了吗? A:又做了一年外包,我有了自己开发团队和公司,提供LAMP平台下的web项目外包和一些产品端的咨询服务。2007年我接了一个大单——FT金融时报中文网的整体系统改造和历史数据迁移。FT中文网那个时候更像纸媒而不是网媒,有组版系统有出版人,有publish流程。那个项目是朋友推荐的,做了一年多,FT签我们也冒了一定的风险,给了我们很大信赖,因为我们是小公司。公司最多时也没超过10个人,我一个人就要做行政相关的各种事,跑工商税务银行,甚至包括贴发票。FT的技术负责人非常好合作。 Q:现在我们看到FT中文网的橙色版面就是你们做的吗? A:外观是后来改过一次。现在除了外观所有系统,包括发布系统、前端、统计、广告系统等仍然是我们当年做的。 Q:后来你的公司没有继续做了吗? A:外包做了3年以后,我已经经济上自由了,不用在考虑太多生计问题了。2010年的时候我先生和我想换一个城市生活,就离开待了8年的北京。在中国做公司是一个很麻烦的事,搬到上海以后,我就慢慢把公司业务停掉了。 我先生是我在做FT项目的时候遇到的,他给我很大的帮助。09年我们结婚,婚后半年我们把自己的房子卖了,搬到上海来,那个房子是他在03年,刚毕业一年做项目的钱做首付买的,在北京广安门附近。他是学建筑的,当时就劝身边很多朋友借钱都要买房子,不然以后就买不起了。我们卖房子的事情,还受到财经网的采访。因为当时的《财经》的主编王烁也在twitter上,他就很惊讶我们要卖房的决定,认为是一个逆潮流的举动,他就派了一个记者来采访我们。在我先生30岁生日那天,也就是2009年底我们把房子卖了。到上海关掉公司以后我就是家庭主妇了,虽然我还会收到很多外包或设计项目的需求邮件,就挑一些感兴趣的靠谱的做。帮我先生一起做点软件,看看书,学些东西。 Q:从职业上来说,你对自己的定位和是怎么样的? A:做项目管理不是一个创造型的工作,而是一个管理型的工作。我一直说我开过的外包公司是一个生意,而不是创业。当然我通过做外包也获得了非常多经验和回报。这些回报让我能在后来做自己喜欢的事。在上海的这一年多我基本没有做什么商业的设计,而是帮一些公益团体和朋友做,比如科学松鼠会、谷奥、射手网等等。也尝试了一些移动互联网和MAC平台上软件UI设计。我还是喜欢做一些创造型的工作。 Q:你看起来是难得的集设计师和产品经理于一体,又懂得如何和程序员沟通的人才。 A:这是因为我之前的一些经历带来的。同时我爸爸是一个动手能力很强的人,愿意自己琢磨各种事,会修各种东西,我从小就对工程师就很有好感,我不喜欢西装革履状态下男性,觉得他们该是有很多工具,有一个工作间,愿意折腾各种新鲜玩意。我愿意和理工男打交道,最后也嫁给了程序员。我算是比较理解这个群体的外人了。程序员们一般比较喜欢和我合作,虽然我不会写代码,但我了解开发是怎么运作的,能听懂他们的语言和逻辑,这样减少了很多沟通成本。在合作的时候,我会帮程序员挡掉一些他们不擅长处理的事,也知道什么样的状况会让他们痛苦。所以我也才能去画程序员的漫画,很多程序员看了之后会觉得这肯定是一个同行画的,然后他们会很惊讶地发现作者居然是一个设计师,一个家庭主妇。 Q:你以前学过画画吗? A: 我小时候很喜欢日本漫画。却没有受过科班的绘画训练,这也是我一个遗憾,我也在努力补这个瓶颈。《神秘的程序员们》参考的是美国杂志连载漫画的风格。比如呆伯特。这恰恰很对程序员们的胃口,因为他们对审美的东西不太敏感。很多甚至痛恨图形界面,喜欢简洁原始的东西,以糙为美。 创作这个漫画的初衷是画我知道的程序员以及项目有关的好玩的事。画到第3篇成了《程序员》杂志的专栏漫画,一个月一期,15号以后会在我blog上发布。到现在两年多了。 程序员们很喜欢这组漫画。几乎每一篇都有一部分人会觉得有类似经历或者有共鸣。我经常为缺乏题材发愁,从第一期就征集创意,但是至今没有用过一篇别人的投稿,这个群体可能本身编故事的能力或者幽默感不是很强,我收到了大量很冷很冷的笑话。所有的创作题材都改编自身边人或书上看到的案例。 Q:嫁给程序员之后,对程序员这个群体的认识和以前有没有改变呢? A:当然还是有。以前总会觉得这些Geek的头上是有光环的,而同时也有某种人格缺陷的,好像《心灵捕手》里那样的人。后来我发现这个群体和所有群体一样,有些人很有理想,也有人只是为了挣口饭吃,把它当成一份工作而已。只是这个群体里理想主义者的比例更高一点。 Q:程序员的生活窘迫吗? A: 有高有低,但总体上是不窘迫,在中国,因为互联网行业很热,他们还属于收入能和付出成正比的群体。 Q:程序员对外界敏感吗?他们会不会“两耳不闻窗外事”? A: 其实他们挺敏感的。他们有更多的信息渠道去了解外界,Twitter上和Google+上程序员的比例很高。 Q:程序员有正常的家庭生活吗? A:有啊,其他职业同样有需要非常忙,需要加班的工作。好程序员是不应该加班的,是不能以工时来衡量他的工作的,好一点的技术公司对开发者都没有考勤制度。而且普遍认为他们没有那么多应酬,不会有花花肠子,会花更多时间宅在家里。 Q:在现在席卷IT业的上市风潮里面,程序员这个群体焦躁或者功利吗? A:这或许不能以群体来划分。互联网行业虽然看起来有很多一夜暴富的机会,但现在越来越不容易。不要说上市,即使能以一个好价格被人收购而套现的,可能1%的比例都不到。所以理智的创业者应该多少都有这方面的觉悟和心理准备,像生一个小孩去把它养大的感觉,者还是有很高的理想主义成分。 Q:如果以Google和苹果来比拟,你更想做哪一个产品呢? A:不可以两个都有吗?目前我想出去学的东西是数据可视化和信息可视化这个方面。信息可视化在国外开始得很早,也比较流行,从纸媒时代就会把新闻或数据用引导性的,更吸引人的可视化方式呈现。而数据可视化是把数据当变量,可以根据数据变化去实时改变呈现的交互程序。比较著名的案例就是像今年4月的日本大地震,Twitter 根据全球各地网友发推的数据制作了一张可视化地图,你可以看见数据像潮水一样涌动,你就可以真正感受到Twitter说的自己就是世界的脉搏,你真的可以看见那脉搏的跳动。 Q: 你会不会觉得苹果这样的神话遥不可及呢? A:我并不想再造神话,没有那么大野心,目前我只是想做一些有价值的创造,不管是大是小。在开发链条中的创造性的角色,程序员、设计师和产品经理他们都不能单靠自己的力量去完成一个创造。所以最后,一个程序员要发展,要做出更好的东西来,必须也要去懂设计,去懂产品。好的产品经理要了解设计、要了解技术,不一定要自己做,但需要对整个生产链有理解。你如果只在自己的角色里,最后你是很难最有效率地合作,做出成功的产品来。 我认为web设计师这个工种的行业前景越变窄。个人、企业的博客和官网以后会慢慢被吞并进强势的SNS网络里,像很多公司现在的facebook主页比他们的官网更重要。从风格上来说,web设计已经逐渐摆脱了平面设计web化的做法,过去的网站更像是平面设计在web上的变体,有很多设计元素、思路、动机,仍然是平面式的,是给人们看而不是给人们用的。但现在我认为web设计找到了属于自己的定位。设计变得越来越精致和简洁,设计的痕迹在现在占据风头的网站上都变得很轻。因为功能和结构永远更重要。Web设计的工作相当大一部分被放到了后台,而不是呈现出来。 Q:这听起来有一点托拉斯化,资源都集中在几个寡头的SNS平台上,这好像和互联网百花齐放的精神有点冲突。 A:从大家获取信息的有效性和效率来说,集中是大势所趋。过去的10年是搜索引擎的时代,它把无数的小网站,无数的信息源连接起来。但那个时代查找有效信息的成本还是很高,也不一定能找到的。而现在人们获取信息的方式连同生活方式都逐渐被社会化媒体改变了。小网站消失得越来越快,这样其实web设计的发展多样化的土壤也不够多了。前面我说到说web设计的很大一部分被放到了后台,也就是产品经理所在做的事情。他们主导了一个产品应该是什么样。很多web设计师慢慢成了类似建筑行业里出效果图的人,产品经理告诉框架,风格,结构,用什么元素,他自己要思考的东西越来越少。他就去执行产品经理没办法做的那部分专业工作而已。他慢慢变成了一个匠人。所以设计师要摆脱自己工匠化的趋势,让自己多元化,了解产品、前端、交互,甚至技术上的实现性,这样在设计产品的时候,才能更好参与,才可能提供有价值的专业意见。而我也不可能局限于只做web设计。这也是我为什么要去国外的设计学院上学,并不是为了学什么技术或能力,真正重要的东西也不是靠学能得来的。而是为了去看更多,体验更多,做更多尝试,突破以前的思路。北美在新媒体的设计这块比中国要进步很多。 Q:你学习这么多东西,听起来好像是为了最后集大成达到某个目标。 A:是啊。因为很多好的设计师,到了一定境界,设计类别对他们并不是限制。他们成为创造者,而不是某一个工种。他们可以把自己的理念和创造力灌注到任何产品中,通过专业合作,他们能创造出各种东西,无论是服装,包装,工业产品,绘画。同时他们对整个产业的各个环节都有了解。好的平面的设计师应该对各种材质,工艺,实现手段都很清楚,他要去车间看,去和搞材料研发的人打交道,知道边界在哪以后才能了解边界可以如何去扩张。只有充分打通上下游,才能够深入和专业地做一件事情。 Q:你刚才提到你已经“经济自由”,你对它的定义是什么? A:这和个人的生活态度有关,我觉得够花就行了。我们对物质生活要求很低,比如不逛商场,因为不喜欢买名牌,甚至也不去物理的超市。不在外面吃饭,都在家里做。现在我们租房子,养一辆车,买点电子产品,经常出去旅游也就足够了。我们的积蓄加上卖房子的一笔资产,够我们俩出国读书两年的各种费用,而且总体上未来五六年生活不成问题。而且经济独立并不只是看有多少钱在银行里,而是在任何时候都有能力去挣到钱。 Q:对物质生活要求很低,也体现在你们的婚礼上了。 A:对,我们的婚礼就在北京的奇遇花园咖啡馆举行,来的人都是我们的朋友,大家都是同龄人,互相介绍自己,然后在一起聊天。那是真正来自朋友的祝福。我们也只办了这一场婚礼。结婚的时候我们没有任何嫁妆、彩礼、钻戒,也没有拍婚纱照,那其实是真正意义上的裸婚,尽管那个时候我们有房有车。我认为裸婚并不意味着你没房没车就结婚,裸婚是你不会为结婚去特别置办什么东西。我只在淘宝上买了婚纱,加上咖啡馆那场自助餐,也就花了5000块钱吧。 Q:这符合你从小对婚姻的想象吗? A: 我只是觉得让我穿一下婚纱就可以,不穿婚纱太遗憾了。其他我无所谓的。拍婚纱照,以及婚礼上像木偶一样被耍,不是我喜欢的。我想这不只是我和我先生的观念一致,也来自双方父母的支持,他们都非常开明。我们的婚姻只是我们两个人的结合,而不是两个家庭的联姻。这包括到现在,我们想出国的决定,暂时不要孩子的决定,他们都很尊重。我觉得我们能过现在这样的生活,非常地得益于双方父母。我和我先生从小就很独立,我们双方的父母则现在也非常独立。他们不会把生活重心放在我们身上,自己很有追求,有很多事情可以做。中国父母和孩子的关系一直很纠结,我觉得好的关系是双向努力来建立的。 Q:你们理想的生活方式是什么样的? A:我们想过比较自由的生活,去国外定居和旅游,不会因为什么东西必须把自己锁定在什么地方。我们俩的职业属性也有一些天然的优势,我们都是可以生活在虚拟世界的人,不需要太多物理的存在就可以为生,像销售、媒体这些行业就比较依赖当地的资源和圈子,换一个城市就需要面临重新开始的很多问题。我们无论在哪里,只要有网络,有电,就可以一样地工作生活,我们的社交也大部分在网上,这些朋友们即使很长时间不见也不会觉得生疏。我们都觉得我们现在是在过着非常奢侈的生活。这种生活不在于经济物质上,而是我们真正非常自由,这是我们这一代人最奢侈的东西。 Q:孩子会不会是一个使你们“锁定”的因素? A:我们可能有比较“自私”的想法,因为我们俩现在觉得有很多很多的事情要做。想学很多东西,想创造出以后能改变世界或者影响世界的产品,不管是大还是小,我们总觉得有无穷的事情要做,所以现在有点害怕要小孩,因为那占用未来很多年的时间和精力。另一方面是我们绝对不会在中国生小孩。当时结婚的时候,在天津登记,拿到结婚证的时候还有一张婚检的纸,工作人员说这张纸要收好啊将来要拿来换准生证的。结果我们一出门就把那张纸扔了。 Q:你怎么看十年后的自己? A:十年后我希望能在专业上有所建树吧。我倒不太想具体的目标,如果存在各种可能性和意外的话,这倒这是人生的乐趣。我对于人生不是以成功而论的,因为我比较重视家庭,重视自由和创造中的乐趣,所以我的成功和经济或者社会认可不会有太多的关系。 西乔的程序员漫画: from:http://hi.baidu.com/iuecd/item/ba73dd5b69b8a90fe7c4a574

龙生   14 May 2014
View Details

我是如何打败拖延症的

关于拖延症的话题我在Hacker News上不断的看到有人提出来(你也读了,不是吗?),感觉有必要将我是如何跟拖延症做斗争的方法分享给大家。然而,我这里说的主要是针对程序员/美工,但其实任何人都可以使用。首先最重要的…. 它不是那些老套陈旧的动机心理学扯谈。 我并不是说那些传统的应对拖延症的方法理论不对,只是对我无效。当正经历极度消沉的时候,我通常听到的理论的最后一句话是”You just DO IT!”。我有很多的事情要去做。但我不会去阅读你那400页的治疗拖延症手册,也不会执行你那一套自我调整的行动方案。 OK,下面看看我的方法。 第一、你想完成什么? 以程序员为例: 我需要在我的程序里添加讨论和留言功能。 以美工为例: 我需要给这个客户做出logo。 回答这个问题。有答案了吗?非常好,下一步。 第二、寻找下一步你需要马上去做、而且不带压力的一个任务。 这里真正的艺术就在于我是如何实施这一步(注意,是我如何实施,而不是科学上如何实施)。纵览一下所有你的任务,把它们拆分成小任务,然后再次拆分,直到任务小到你认为可以毫无压力的完成为止。这样的任务此时应该可以用“too easy”来形容。 以程序员为例: 建立一个路径,这样我可以访问”myapplication.com/discussion” 以美工为例: 选出3种最适合这个logo的字体 第三、完成第二步中选出的任务。 第四、重新从第一步开始。 为什么这种方法好用 首先第一个原因是,这种方法让你没有压力,让你有能很容易完成的心理准备。这个任务如此简单,你会想干脆做了它。如果你觉得自己有拖延症或意志消沉,那这就是你需要的….而不是一个写满了100个任务的to-do列表。 第二个原因才是真正的原因——不需要担心下一步需要做的事情。还是以开发或美工设计为例。每次你完成了一个用这个方法为你选出的任务,余下的任务的 总体情况很有可能发生变化。完成X之前,你会认为Y应该是接下来最该做的事情。但当X完成之后,我用这个方法选出的任务却是Z….比如: 以程序员为例: 建立了路径后,下一步该做的应该是查询数据库操作… 但在我完成后,用这个方法选出的却是去开发view层。 一个美工为例: 我要挑选3种字体,接下来应该做的是从中选定一个,但是,因为这三个字体都是这么好看… 我最后决定做的是在Adobe Illustrator里用3中颜色分别演示它们。 最后一个这种方法对我有效的原因是,它能激发启动动力。让你开始去做。一旦做起来、行动起来,你就不会停下来,当完成任务时,你会发现一步一步的这样做下去是如此的容易。 我已经开发了4个大型的应用,都是使用的这种对抗拖延症的方法。这意味着我不是按常规顺序先去计划好X和Y,而是直接进入了设计和编码。所以,这种方法并不只是用在业余项目中的小技巧。 [英文原文:How I Fight Procrastination ] from:http://www.oschina.net/news/51765/procrastination

龙生   14 May 2014
View Details

想提升工作效率,就別再做这七件事

原文出处: medium   译文出处: inside – elaine。 试想一位小公司老板每日孜孜不倦地工作,为何不能从为数众多的竞争者脱颖而出? 一位创业家可以不眠不休一天工作24 小时,整整一周不休假。 然而,时间有限,且竞争者却永远可以投入更多钱与心力,让竞争更剧烈。 那么,为什么某些小型新创公司可以完成许多大型企业无法完成的事情呢? Instagram──只有13 名员工却被Facebook 用几十亿买下的公司。 Snapchat──只有30 名员工却拒绝科技巨人Facebook、Google 的并购交易。 它们的成功部分来自于幸运──其余则是因为效率 。 成功的关键不是努力工作,而是用聪明的方式工作。 有效率并不是指良好的时间管理,而是──管理您的精力。 人们都需要学习如何花费最少的精力能够得到最大效益。 要提升生产力,下面这些事情绝对要避免: 一、停止加班,提升效率! 1926年,福特汽车工业亨利福特(Henry Ford)执行了一项实验发现有趣的结果:当把一日的工时从10 小时降到8 小时,从一周工作6 天减少至一周5 天,人们的生产力将会提高(注一)。 当您工作得越多,不论是短期或长期而言,您的效率、生产力都会降低。 1980 年由The Business Roundtable 的一篇研究〈Scheduled Overtime Effect on Construction Projects〉指出(注二): 当每周工作时间超过60 小时,并持续超过两个月,生产力下降的累积效应将使完工日期推迟,而人数相同但每周只工作40 小时的团队执行同样工作,甚至还会更早完工。 在AlterNet的一篇文章中,Sara Robinson回顾美军执行的一项研究,这项发现「每晚都减少1小时睡眠,持续一周,将导致认知功能退化,等同于喝酒使血液酒精浓度升高至0.10 。 当个人过于劳累,使其以比平常还要负面的角度看事情,导致普遍地心情低落。 比心情更重要的是,其思维往往伴随着减少「主动思考与行动」──包括控制冲动、自我感觉良好、同情他人与情绪智力──的意愿(注三)。 维持高程度的生产力,避免让自己过度工作并睡眠充足很重要。 下次您思想为何工作缺乏生产力,原因很简单,您有可能缺乏睡眠。 二、不要太常说「yes」 根据80/20 法则(Pareto Principle),20% 的努力创造80% 的成果,20% 的成果消耗80% 的时间。 不是努力工作,我们应该把注意力放在创造80% 的结果并放弃其余的。 我们应该把更多时间放在最重要的任务。 我们应该停止对低效能与无效能的任务说:「好的,我来做」 。 「成功的人」与「非常成功的人」之间的差异在于,非常成功的人对几乎所有的事情都说不。 — Warren Buffet 激发一个问题:什么事情要说yes,什么事情说no? 如果您不能想出某些值得花时间的地方,就考虑作个小测试找出答案:追踪您作的所有事情,可能的话持续优化处理的过程。 通常人们说「yes」的频率比实际上应该的次数还要多,因为说「yes」比说「no」要简单太多,没有想要当坏人。 2012 研究发表在Journal of Consumer Research,研究者将120 个学生分成两组。 一组被训练为说「我不能(I can’t)」,然而其他被训练为「我不要(I don’t)」。 结果很有趣: 对自己说「我不能吃X」的学生,61% 都会选择吃巧克力糖,同时,对自己说「我不要吃X」的学生,只有36 % 会选择吃巧克力糖。 光是简单的词汇替换,就能显著增加人们选择更健康食品的机率。 (延伸阅读: 拒当YES MAN,说「不」让生活更美好 。) 三、停止什么都事必躬亲,让其他人帮忙 在我职涯的某个点,我管理一个非常大的社群,而我无法处理得很好。 我试图每一件事情都自己来。 我疲倦不堪,但社群最终接管我的职责并自行治理。 […]

龙生   13 May 2014
View Details

C# 程序员最常犯的 10 个错误

关于C# C#是达成微软公共语言运行库(CLR)的少数语言中的一种。达成CLR的语言可以受益于其带来的特性,如跨语言集成、异常处理、安全性增强、部件组合的简易模型以及调试和分析服务。作为现代的CLR语言,C#是应用最为广泛的,其应用场景针对Windows桌面、移动手机以及服务器环境等复杂、专业的开发项目。 C#是种面向对象的强类型语言。C#在编译和运行时都有的强类型检查,使在大多数典型的编程错误能够被尽早地发现,而且位置定位相当精准。相比于那些不拘泥类型,在违规操作很久后才报出可追踪到莫名其妙错误的语言,这可以为程序员节省很多时间。然而,许多程序员有意或无意地抛弃了这个检测的有点,这导致本文中讨论的一些问题。 关于本文 本文描述了10个 C# 程序员常犯的错误,或应该避免的陷阱。 尽管本文讨论的大多数错误是针对 C# 的,有些错误与其他以 CLR 为目标的语言,或者用到了 Framework Class Library (FCL) 的语言也相关。 常见错误 #1: 把引用当做值来用,或者反过来 C++ 和其他很多语言的程序员,习惯了给变量赋值的时候,要么赋单纯的值,要么是现有对象的引用。然而,在C# 中,是值还是引用,是由写这个对象的程序员决定的,而不是实例化对象并赋值的程序员决定的。这往往会坑到 C# 的新手程序员。 如果你不知道你正在使用的对象是否是值类型或引用类型,你可能会遇到一些惊喜。例如:

如你所见,尽管Point和Pen对象的创建方式相同,但是当一个新的X的坐标值被分配到point2时, point1的值保持不变 。而当一个新的color值被分配到pen2,pen1也随之改变。因此,我们可以推断point1和point2每个都包含自己的Point对象的副本,而pen1和pen2引用了同一个Pen对象 。如果没有这个测试,我们怎么能够知道这个原理? 一种办法是去看一下对象是如何定义的(在Visual Studio中,你可以把光标放在对象的名字上,并按下F12键)

  如上所示,在C#中,struct关键字是用来定义一个值类型,而class关键字是用来定义引用类型的。 对于那些有C++编程背景人来说,如果被C++和C#之间某些类似的关键字搞混,可能会对以上这种行为感到很吃惊。 如果你想要依赖的行为会因值类型和引用类型而异,举例来说,如果你想把一个对象作为参数传给一个方法,并在这个方法中修改这个对象的状态。你一定要确保你在处理正确的类型对象。 常见的错误#2:误会未初始化变量的默认值 在C#中,值得类型不能为空。根据定义,值的类型值,甚至初始化变量的值类型必须有一个值。这就是所谓的该类型的默认值。这通常会导致以下,意想不到的结果时,检查一个变量是否未初始化:

为什么不是【point 1】空?答案是,点是一个值类型,和默认值点(0,0)一样,没有空值。未能认识到这是一个非常简单和常见的错误,在C#中 很多(但是不是全部)值类型有一个【IsEmpty】属性,你可以看看它等于默认值:

当你检查一个变量是否已经初始化,确保你知道值未初始化是变量的类型,将会在默认情况下,不为空值。 常见错误 #3: 使用不恰当或未指定的方法比较字符串 在C#中有很多方法来比较字符串。 虽然有不少程序员使用==操作符来比较字符串,但是这种方法实际上是最不推荐使用的。主要原因是由于这种方法没有在代码中显示的指定使用哪种类型去比较字符串。 相反,在C#中判断字符串是否相等最好使用Equals方法:

  第一个Equals方法(没有comparisonType这参数)和使用==操作符的结果是一样的,但好处是,它显式的指明了比较类型。它会按顺序逐字节的去比较字符串。在很多情况下,这正是你所期望的比较类型,尤其是当比较一些通过编程设置的字符串,像文件名,环境变量,属性等。在这些情况下,只要按顺序逐字节的比较就可以了。使用不带comparisonType参数的Equals方法进行比较的唯一一点不好的地方在于那些读你程序代码的人可能不知道你的比较类型是什么。 使用带comparisonType的Equals方法去比较字符串,不仅会使你的代码更清晰,还会使你去考虑清楚要用哪种类型去比较字符串。这种方法非常值得你去使用,因为尽管在英语中,按顺序进行的比较和按语言区域进行的比较之间并没有太多的区别,但是在其他的一些语种可能会有很大的不同。如果你忽略了这种可能性,无疑是为你自己在未来的道路上挖了很多“坑”。举例来说:

最安全的实践是总是为Equals方法提供一个comparisonType的参数。 下面是一些基本的指导原则: 当比较用户输入的字符串或者将字符串比较结果展示给用户时,使用本地化的比较(CurrentCulture 或者CurrentCultureIgnoreCase)。 当用于程序设计的比较字符串时,使用原始的比较(Ordinal 或者 OrdinalIgnoreCase) InvariantCulture和InvariantCultureIgnoreCase一般并不使用,除非在受限的情境之下,因为原始的比较通常效率更高。如果与本地文化相关的比较是必不可少的,它应该被执行成基于当前的文化或者另一种特殊文化的比较。 此外,对Equals 方法来说,字符串也通常提供了Compare方法,可以提供字符串的相对顺序信息而不仅仅中测试是否相等。这个方法可以很好适用于<, <=, >和>= 运算符,对上述讨论同样适用。 常见误区 #4: 使用迭代式 (而不是声明式)的语句去操作集合 在C# 3.0中,LINQ的引入改变了我们以往对集合对象的查询和修改操作。从这以后,你应该用LINQ去操作集合,而不是通过迭代的方式。 一些C#的程序员甚至都不知道LINQ的存在,好在不知道的人正在逐步减少。但是还有些人误以为LINQ只用在数据库查询中,因为LINQ的关键字和SQL语句实在是太像了。 虽然数据库的查询操作是LINQ的一个非常典型的应用,但是它同样可以应用于各种可枚举的集合对象。(如:任何实现了IEnumerable接口的对象)。举例来说,如果你有一个Account类型的数组,不要写成下面这样:

你只要这样写:

虽然这是一个很简单的例子,在有些情况下,一个单一的LINQ语句可以轻易地替换掉你代码中一个迭代循环(或嵌套循环)里的几十条语句。更少的代码通常意味着产生Bug的机会也会更少地被引入。然而,记住,在性能方面可能要权衡一下。在性能很关键的场景,尤其是你的迭代代码能够对你的集合进行假设时,LINQ做不到,所以一定要在这两种方法之间比较一下性能。 #5常见错误:在LINQ语句之中没有考虑底层对象 对于处理抽象操纵集合任务,LINQ无疑是庞大的。无论他们是在内存的对象,数据库表,或者XML文档。在如此一个完美世界之中,你不需要知道底层对象。然而在这儿的错误是假设我们生活在一个完美世界之中。事实上,相同的LINQ语句能返回不同的结果,当在精确的相同数据上执行时,如果该数据碰巧在一个不同的格式之中。 例如,请考虑下面的语句: 1 decimal total=(from accout in myaccouts 2 where accout.status==‘active" 3                    select accout .Balance).sum(); 想象一下,该对象之一的账号会发生什么。状态等于“有效的”(注意大写A)? 好吧,如果myaccout是Dbset的对象。(默认设置了不同区分大小写的配置),where表达式仍会匹配该元素。然而,如果myaccout是在内存阵列之中,那么它将不匹配,因此将产生不同的总的结果。 等一会,在我们之前讨论过的字符串比较中, 我们看见 == 操作符扮演的角色就是简单的比较. 所以,为什么在这个条件下, == 表现出的是另外的一个形式呢 ? 答案是,当在LINQ语句中的基础对象都引用到SQL表中的数据(如与在这个例子中,在实体框架为DbSet的对象的情况下),该语句被转换成一个T-SQL语句。然后遵循的T-SQL的规则,而不是C#的规则,所以在上述情况下的比较结束是不区分大小写的。 […]

龙生   12 May 2014
View Details

程序员如何活得明白

商业内幕最近发表了一篇文章说做程序员压力山大,很多人都快疯了。 文中陈述了几个典型的罪状:骗子综合症,加班加点,精疲力竭等。作者指出,程序员的工作压力的根源通常是源自混乱的管理,但越来越多的压力开始来自程序员 社群自身,社群中开始形成一种文化,将加班加点当成判断一个程序员是否具有奉献精神的石蕊试剂,强加到程序员身上。换句话说,如果你不在下班时间继续写代 码,你就不可能成为一名合格的程序员。跟这些压力相呼应的是急速革新的各种新技术、新框架、新语言、新平台、新程序包、新SDK等的不断出现,就如火上浇 油。 可事实上问题不在于此。编程,就跟写作、绘画、作曲一样,首先是一种创造性的活动,而不是一个种技术工作。当然,对一种技术或编程语言的不断练习和保持熟悉很重要,这其实就是在学习使用工具和技法,但它并不会让你本质上变成一名更优秀的程序员。它只是让你能更熟练的使用工具。而能让你成为更优秀的程序员的是学会如何思考问题,因为最终你是把脑子里思考出的逻辑转换成了一系列操作计算机的指令,让计算机遵照指令解决问题。而学习如何正确的思考——如何抽象归纳,如何组合,如何分析信息,如何自我反省——可以通过各种方式,远非只有编程一种。Paul Graham在他的精彩著作《黑客与画家》一书中说: 我发现那些最有价值的灵感的源泉都不是那些跟“计算机”这个词相关的领域,而是那些跟动手创造相关的领域。绘画就是一个比计算机理论能提供更丰富灵感的思想源泉。 拓展其它领域的技术,培养除编程之外的其它爱好,这会给你的日常工作带来巨大的帮助。程序员根本不需要没日没夜的写代码。你应该把这些时间用于和他 人交流,和大家一起边喝咖啡(或你喜爱的东西)边编码、阅读、讨论。你应该把这些时间用于跑步或举重。身体锻炼给大脑补充氧气,滋养这个最神奇的器官,这 才是你需要的。我三年前开始跑步。呼吸新鲜的空气、沐浴清新的阳光让我变得更加快乐,跑出几公里远离繁杂的琐事,我的脑子有了更多的时间来激发灵感。 关键是,关注心灵,关注自己,这能让你成为一个更好的程序员。你可以无止境的学习新语法,新工具,或新什么东西,但是,如果所有你做的只是编程,你 实际上在跟自己背道而驰。有时候你需要全力以赴,但那是当程序中有问题需要救火时,是特殊情况,而不是日常。如果你的驻地总是有火灾,那你应该换个地方。 有时候你需要埋头苦干,干上几周甚至几个月,为了让你的理想变成现实。然后是休息。相反,一味的玩命苦干只能换来越来越少的回报,是完全与成为一名更好的 程序员的愿望背道而驰。去年11月,我参加了NaNoWriMo (National Novel Writers Month),这是一个非正式的比赛,参赛者要求在30天里写出一本5万字左右的书。我每天早起,花几个小时写作,然后上8个多小时的班,然而晚上继续写 作。每天如此。坚持了30天。月末的时候我的身体开始透支,我病了。但这对我是有必要的,我一直有个愿望要写一本小说。之后我几个月没有写任何东西。我需 要休息,要恢复平常态,要以此进步。软件开发与此无二。 商业内幕的这篇文章同时还饶有兴趣的发现“女性程序员经常坦白说在遭受骗子综合征的折磨…但越来越多的男性程序员也开始表示深有同感。”20世纪和21世纪工作中的性别问题峰回路转,最 终男性也遇到类似的问题。女性第一次看到了竞争的问题侵扰男性,尤其是在那些传统的以男性为中心的行业。我相信这是生存竞争必然导致的现象,但不应出现在 一个富足而且灵活的社会中。男人们看到女性对工作上非人性的现状的反应,也加入了她们的行列一起表达对现状的不满情绪。随着更多的女性进入到编程行业,她 们给这些男性程序员带来了一种新的旁观者的视角。女性需要去理解她们发现的这些不幸的行业现状是男性程序员以前必须每天面对的、接受的。但事实上程序员们 完全不必如此,这是一种具有强大力量的认识。 不要再让自己精疲力竭,这样不会让你成为更好的程序员。做你爱做的事,爱上更多的兴趣。你将会变的更优秀。 from:http://www.oschina.net/news/51699/sane-programmer [英文原文:How to be a sane programmer ]

龙生   12 May 2014
View Details

给开发者的 10 款最佳的 JavaScript 模板引擎

随着 Web 开发者和设计者收藏 JavaScript 库的数量越来越多,JavaScript 也有大量流行的库:jQuery,MooTools 等等,很多时候大家都会使用 JavaScript 模板引擎来开发 JavaScript 应用。以下列表介绍的就是 JavaScript 模板引擎。 这里我们收集了一些非常有用的 JavaScript 模板引擎,希望能给 Web 开发者和设计者提供一定的帮助,在评论与大家交流一下 JavaScript 模板引擎的相关心得吧:) 1) Jade jade 是超高性能的 node JavaScript 模板引擎,有着非常强大的 API 和大量杰出的特性。它主要针对 node 的服务端。 2) Mustache Mustache 是 logic-less 模板语法,可以使用在 HTML,配置文件,源代码等等地方。它是使用哈希表或者对象提供的值来扩展模板标签。 3) Transparency Transparency 是一个强大的客户端网站模板引擎,可直接绑定数据到 DOM,包括一些很棒的特性如 HTML 模板、JS 视图逻辑。支持 IE9+, Chrome, Firefox, iOS, Android, Etc. 4) Underscorejs Underscore 是 JavaScript 库,提供大量有用的函数式程序设计助手,不需要扩展任意的内置对象。 5) Embeddedjs EJS 会使用客户端模板从 JavaScript 中清理 HTML 代码,整理好这些代码之后,JavaScript 代码就会变得更加整洁和有条理。 6) DoTjs doT.js 是最快和简洁的 JavaScript 模板函数搜索,这些函数致力于 V8 和 Node.js 下高性能的表现。doT.js 在浏览器和 Node.js 下都表现出超高的性能。 7) Handlebarsjs Handlebars 给构建语义模板提供强大的基础支持。 8) T.js T.js 是使用简单 JavaScript 数据结构来展示 html/xml 数据的模板引擎。 9) Dustjs Dust 是浏览器和 Node.js […]

龙生   12 May 2014
View Details

移动互联网趋势:平板消亡、APP当道、情境计算

无 论是国外Instagram和Whatsapp的天价奇迹还是国内BAT三大巨头无节操的收购,移动互联网带来的巨大红利让全球的资本和注意力都聚集到一 个环节上——Mobile。前两天在北京举行的移动互联网大会上,简直就是年轻人的海洋,如果说互联网公司是年轻人的公司,那么移动互联网公司则可能是更 年轻人的集合体,因为年轻,所以更有激情。但尽管踏上移动互联网这个“上行”电梯,但如果方向不对,依然无法到达终点,下面来看看移动互联网未来的三个趋 势。 平板渐趋消亡 几年前人们一度认为上网本会替代传统笔记本,但这个念想被iPad无情 的毁灭了,也差点让主打上网本的宏碁和华硕倒闭。随着iPad的流行,好事者再度认为iPad还会消灭传统笔记本,但当iPad发布后的第四年,从苹果最 新一季的财报里看,iPad的销量开始下滑,只卖出1640万台,较去年同期2000万台的销量有明显下滑。 而如果细心去观察iPad的销 量变化图,如下图所示,会明显看到,与iPhone相比,iPad的增速已明显放缓,甚至可以说几乎停滞。分析人士认为,平板电脑与手机不同,其更新换代 的频率很低。而来自皮尤的调查则揭示了另外一个有趣的数字:在15到55的年龄段中,拥有平板电脑最多的是30—55岁的人,而最少的则是15—20岁。 皮 尤认为,年长者喜欢使用平板电脑的原因在于他们认为平板可以成为传统笔记本的部分替代品,大屏对习惯使用浏览器的年长者非常有吸引力。而年轻人没有使用浏 览器上网的习惯,他们早已对APP接入互联网的模式习以为常,也因此,他们对平板电脑的需求很小。如一位小朋友所言:平板电脑更像是个游戏机还不是上网设 备。 当手机尺寸越来越大,也让手机和平板的界限日益模糊。而以手机为主要设备的年轻人群体正在成为社会中坚力量,所有这些因素都让平板电脑的未来变得岌岌可危,平板电脑也曾一度让很多传统媒体觉得找到了大救星,但目前来看,这些传统媒体需要继续寻找”新救星“了。 独立的APP更受青睐 如 上文所言,用户在平板电脑和智能手机上的使用习惯是不一样的,及时是同一款系统,比如iPad和iPhone都是运行的移动设备,但用户在iPad上使用 浏览器的频率更高,而iPhone用户则更钟爱各式各样的APP,他们早已习惯用这些APP访问互联网,从吃喝玩乐到办公生活。 传统互联网 时代,除了一些基本的工具软件之外,用户的所谓上网几乎都是围绕web浏览器展开的,书签栏里的书签就是一个个服务入口。如今,在移动互联网时代,独立的 APP成为新的触点。与桌面浏览器大而全的功能不同,移动APP越来越多的追求小而美的效果。其中基本的原则——一个APP解决一个问题。 这 当然和国内移动APP的现状有些差异,原因也不难理解,如今国内移动互联网市场还是传统互联网公司所把持,比如BAT。很多传统互联网软件(应用)的习惯 延续到了移动互联网上,导致移动APP臃肿不堪,这在Android平台尤其严重,那些出自国内顶尖互联网公司的应用运行起来卡顿明显。除Android 系统碎片化和不同硬件平台的因素外,APP集成了太多服务是主要原因。 而国外一些应用,比如Snapchat、Instgarm、 Secret则真正贯彻了小而美的理念。或许这些为移动而生的服务无法代表业界的整个潮流,那不妨看看以传统互联网起家的Facebook和 Google,Facebook日前将messenger作为一个单独的APP推向市场,下一步还会让paper独立运行。而Google则把文档和表格 应用从Google Drive里移出,成为两个独立应用。 受限于手机软硬件的不足,用户对移动APP的体验非常关注,通过这些独立的 APP,开发者能让用户更好的解决某一个方面的需求,提升体验效果。并且,大量移动APP组成的品牌矩阵也能增强用户的使用粘性。或许将来的某一天,你在 手机上打开命名为”Google“的文件夹,里面放置了所有Gmail、音乐、文档、表格等多个单独应用,就像当年打开打开浏览器的书签一样。 情境计算 我曾经不止一次的说起搜索的未来是人工智能,当然这来自Google创始人佩奇的观点。移动互联时代,搜索的重要性不言而喻,而且极有可能造就第二个Google。但移动互联网的搜索绝非简单的能找到资料,而是基于情境计算的推荐。 移 动互联网带给世界最大的改变是数据生产变得简单,尤其是图片、声音、位置三大方面的数据,再加上可穿戴设备上的各种传感器数据,都成为目前移动互联网企业 最激烈的战场。情境计算则是通过整合来自移动设备上不同数据,将个人的生活、工作都变成可追踪的比特流,然后根据特定的情境向用户push特定的信息。 雅 虎美女总裁梅耶这样描述情境计算:”情境计算基于用户所处的位置、所做的事情,在正确的时间和地点推送给用户正确的信息。“ 梅耶也表示,只有移动设备才能更好的收集用户的这些位置与行为信息。梅耶对情境计算的关注也反映在一些硅谷公司的收购:Twitter买下Android 桌面产品Cover;Yahoo则买了Cover的竞争对手Aviate;苹果收购智能助手Cue。除此之外,搜索巨人Google在不断打磨的 Google Now也是基于用户情境来推送消息。 Google now背靠Google庞大的搜索数据,并利用强大的算法对数据进行分析挖掘,并结合地点和时间推送做相应的推送。由于众所周知的原因,国内用户还无法完 美体验到Google Now。但即使在国外,Google Now目前还很笨,最明显的问题就是无法让时空和信息进行良好的匹配,譬如国外很多用户反应,他们的Google Now常常会在上班时间发来一条通知:告诉你从办公室回家的路线以及交通拥堵情况,但事实上,你此时并不需要这类信息。从这个角度来看,即使如 Google这样的巨鳄,短期内也还无法提供优质的情境计算服务,未来还需要继续努力。 大约四年前,时任连线杂志主编的克里斯安德森高 呼:web已死,Internet永生!当时引起很多人的非议,如今来看这句话,却有着极大的前瞻性。随着PC业的没落、传统PC和互联网企业纷纷转型, 由iPhone引发的APP潮流让人类踏入移动互联的新时代。当越来越多的用户依靠APP而非浏览器访问互联网时,web已无足轻重。如今,人类处在”无 处不连接“与”无时不连接“的时代,海量移动数据为情境计算提供了良好基础,也吹响了走向人工智能的号角。 (本文系作者 钛媒体 @赵赛坡) from:http://www.oschina.net/news/51631/mobile-internet-trend

龙生   09 May 2014
View Details

38 个免费开源的 CSS 下拉导航菜单

Animated Responsive Menu Pure CSS Navigation Long Dropdown Menu Flexbox Dropdown CSS-Only Menu Simple CSS Menu Bootstrap Mega Menu Drop Down Menu Clean Grey Nav Simple Toggle Menu Bubble Dropdown Pure CSS Menu Animated Dropdown Lava Lamp Navigation Multi-Level Nav Clean Simple Navbar Horizontal Navbar Multi-Toggle Nav Infinite Multi-Level Gradient Navbar Nested Dropdown Pure CSS Hover CSS3 Multi-Level Dropdown CSS Only Menu Pure CSS Menu Simple CSS3 Menu Facebook-Style Menu Smooth Dropdown Unfolding Dropdown Speech Bubble Menu Bold and Beautiful Dropdown Skyrim-Inspired Menu Pure CSS Dropdown Grey CSS […]

龙生   09 May 2014
View Details

vsphp:vs下开发php

喜欢VS的码农们是否也想用VS开发php,答案是肯定的,那就试试vsphp吧:http://www.vsphp.com/

龙生   07 May 2014
View Details

做程序员压力山大,很多人都快疯了

软件程序员在如今看来是一个既能挣钱又有工作保障的职业,但是,这种职业对你的精神健康却会造成巨大的伤害。 有两种事情几乎能让程序员疯掉。 一个是被人们称作“骗子综合征(imposter syndrome)”的东西。患这种症状的人通常是发现一起共事的所有程序员都比自己聪明、比自己有天份、比自己有才能。你生活中一直恐惧中,担心其他人会最终发现你是个冒牌货、你的技术和能力是装出来的。 经常会有女性程序员坦白说遭受”骗子综合征(imposter syndrome)”的折磨,这并不让人意外。这种精神疾病是由心理学家Pauline Rose Clance博士和Suzanne Imes博士提出,他们发现一些成功的女性会表现出这种症状。有很多心理健康类的书籍也以”骗子综合征(imposter syndrome)”为题材,在女性读者中很流行。 但是,大量的男性程序员也越来越多的表露他们也有这种精神压力。 通常人们喜欢对其他人高要求,而这些人却有个共同的习惯是,给自己施加极高的标准和要求。这种综合征通常出现在有人评判、有人对比的职业类型中。软件开发正是这样的一种行业,特别是开源软件,每个人都能看到你的代码,可以修改它。 从“骗子”到“真正的程序员” “骗子综合征(imposter syndrome)”会让程序员落入这样的一个陷阱:他们认为自己需要更努力的工作才能做到足够优秀。这意味着他们要花更多的时间编程——用去全部睁着眼的时间——承担更多的项目开发。 这种被称作“真正的程序员”综合征的心理现象是从Reddit上一篇火爆的帖子中诞生的。这种“真正的程序员”的生活中只有编码。Reddit网友big_al11解释说: 一个“真正的程序员”是那种热爱编程的人!如此之爱,以至于他的所有时间都是在编程。 … “真正的程序员”并不认为编程是一种”工作“。 … 如果一个程序员不是每周工作60-80小时(自愿无偿的,只是因为编程”有趣“),那他就不是一个”真正的程序员“。 … 整个行业内弥漫着这种文化。 … 如果你想成为一名成功的程序员,你至少要做到看起来像一个”真正的程序员“….于是有人就开始晚上加班、周末加班,只是为了看起来像是一个”真正的程序员“,于是这些人最终精疲力竭。 做老板的都希望他们的程序员通宵达旦的工作,这并不新鲜。但新鲜的是,程序员现在是自愿的要打破自己的每周工作时长记录,纯粹是因为乐趣。 亚马逊 例如,十多年前,在互联网泡沫期间,一本叫做《Death March》的书登上了畅销榜。书中描述了程序员疯狂的工作导致出各种健康问题。书中的结论是,这归咎于糟糕的项目管理。 在2004年,发生了一宗程序员因为加班问题起诉Electronic Arts公司的案件,并最终赢得了1500万美元的赔偿。 几年后的2010年,一篇由一个在Rockstar Games游戏公司工作的程序员的妻子写的文章迅速蹿红。文中讲述了公司如何要求程序员长年累月的每周工作6天、每天工作12个小时,很多程序员健康出现了问题。 到2011年,做“真正的程序员”的风潮继续。当年在编程社区网站StackExchange上的一场讨论让很多人思考。有一个人问,“我在业余时间不编程。这会使我成为一个不合格的程序员吗?” 一般的意见都认为,如果你只在上班时间编程,你也可以成为一名优秀的程序员,但是,“最伟大的程序员都在他们的空闲时间编程。” “多”并不总是意味着“好” 长时间工作就能让你变得更优秀吗?这是一个值得怀疑的问题。斯坦福大学曾经研究过一个人真正有效率的编程时间是多少?结果你想必不会吃惊,他们发现工作时间过长会使工作效率降低。过度工作的程序员,每周工作60小时的程序员相比起那些每周只工作40的,更容易写出质量低下的代码。 这并未能阻止“骗子”/“真正程序员”综合征的流行。总有一些让人非常心疼的故事时不时的爆出来。 例如,大概一年前,一个叫Kenneth Parker的程序员在他的博客上写了一篇叫做“亲历者讲述一个程序员如何变成精神病人的”文章。 文中讲述了他们的同事如此努力的工作,结果“完全精神崩溃”。 他是我在编程业界里见过的最勤奋的程序员。他经常晚上在公司加班,当周末有紧急工作要处理时,他总能随叫随到 … 然而,当被送到了精神病治疗中心后,他的工作效率就不是那么令人满意了。我被公司派去医院探望他,他向我要了一支笔和一张纸,他想把程序写在上面。“我还能写程序”穿着病人睡袍的他对我说。他在纸上写了两行代码,然后不能自控的抽搐哭啼起来。 最近New Relic公司的程序员 Nick Floyd开始写一些被他称作“Nerd生活平衡”的文章。他首先坦白自己曾经也是“骗子”综合征的受害者,但他现在相信,当你喜欢上一种工作后才会获得快乐。他写到: 在New Relic公司工作是有挑战性的、辛苦的,令人恐惧的,但这从未影响我。在进入这个公司前,我一直认为,工作就是必须要做的活儿,通常是让人不爽的,而生活就是从工作的不愉快中逃脱出来。但现在我不再那样想了——当“工作”变成另外一种表达你的生活中的热情的方式时,生活更精彩了。 而另一方面,Reddit网友给出了一个让人深思的建议: 我真的非常希望我们生活在这样的一个社会里:不要以工作时长论英雄,不要以加班加点为美德。 [英文原文:The Stress Of Being A Computer Programmer Is Literally Driving Many Of Them Crazy ] from:http://www.oschina.net/news/51467/programmer-crazy

龙生   05 May 2014
View Details
1 315 316 317 410