王辉的博客

是什么让我对未知世界始终充满热情?

如何提升程序员的价值?通过对最近经历的几件事情的深入分析,我得到的结论是,用您的代码给更多的人带来便利,受益的人越多,您的价值也就越高。

这种崭新的思路,彻底改变了我对价值的看法。之前的我,看待价值,是以我为核心的,英语考的分越高,我的价值越高;看过的书越多,价值越高;写的代码质量越好,价值越高;我参加会议,兴趣小组越踊跃,价值越高。统统都是以自身获得的经验,知识,技能来衡量自我价值的。然而,当我把注意力从我转移到他人身上的时候,我惊奇的发现,我的价值并不在我这里,它不是我考过的试,写过的代码,读过的书,参加过的会议,而是我能给别人带来的便利。并且更为可怕的是,这种价值增长的速度,取决于我帮助的人的数量,如果它呈指数增长,那么我的价值也是指数增长!想想都觉得不可思议。

接下来拿几个生活中的真实经历来举例说明。

开源插件

前几天我发布了一个开源插件,这插件可以帮助Hexo静态博客更好的被百度收录。从代码复杂度上来讲,相比我在公司里写的代码,都没有必要谈复杂度,因为实在太简单了。为了介绍这个插件如何使用,我在博客里专门为它写了一篇教程。出乎意料的是,短短的几天时间,它就成为了我博客的流量担当。这次经历,让我开始体会到,我的价值不仅仅是我的代码,而是代码能给够帮助到的人们。人们越多,我的博客流量也就越多,我的价值也会越高。

上面是一个开源插件给我带来的思考,从正面讲如何提升程序员的价值。接下来是一个反面的例子,说一说我如何没有更好的提升我的价值。这个反面例子也是工作几年来一直困扰我的事情。我一直在摸索挖掘,如今在这个新思路的引导下,我有了一些新的体会。既然是反面的例子,我就毫不忌讳的,敞开门谈。这个困扰就是我一直没有超出预期。

超出预期

我们公司对员工的年终考核是按照【低于预期】,【达到预期】和【超出预期】三个标准来考核的。2016年像往年一样,我只是达到了预期,很失望,一年的努力又付之东流了。回想过去的一年,感觉自己做了很多事情。参加了法国最佳程序员竞赛,斩获第十三名;争取到了仅有的几个名额去三番参加了JavaOne会议;还成功的完成了几个实验性项目;但最后,还是不如意,没能超出预期。困惑,我问老板,如何做才能超出预期。新老板是公司调整后,刚接手我们组的。这次得到的提示,和以往不一样。以往老板说,超出预期,就是你做出了让我眼前一亮,意想不到的事情。如今的老板说,作为一个程序员,首先是你的代码,非常过硬的代码。其次是你做的东西,必须是很多人都强烈期待的东西,在这种情况下,你超出预期的可能性会变大。

我对以往老板的说法持怀疑态度,眼前一亮,更多是对新人来说的,一起工作了五年,都互相很了解了,要真是亮了,倒很可能是出了什么幺蛾子。我认为这只是表象,真正的原因,是这么多年以来,我们没有过年度目标。没有年度目标意味着什么?意味着没有人期待你的产品。更残酷的说,你没有在公司的主站场上,上不了战场,立什么功!没有预期,何来超出预期!新老板的话,没有提超出,也没有提眼前一亮,而是说你做的东西要有人期待,并且是强烈的期待。所以,你自身再怎么好,那是你自己好,竞赛获奖,参加会议,实验性项目,都没能给他人带来福利,所以你并没有价值。

结语

做为程序员,在职场里闯荡,提升个人素质,写出过硬的代码,非常重要,这是基础。但想提升自己的价值,只提升自己素质是远远不够的,必须要用你的代码击中他人的痛点,人越多,你的价值才越高。这种思路也提醒我们,如果你的组没有目标,不被人强烈的期待,你就要注意了,你提升自我价值的难度会变得特别大。这其实也是一种信号,你已经迷失主战场了。

这是写在新年的第一篇文章,给自己,也算给同行鼓劲加油吧。作为程序员,我们生在了一个诞生英雄,可以建功立业的时代,软件已经影响到了人们生活的方方面面。作为程序员,代码是我们无与伦比的工具,因为它可以跑在千千万万的设备上,帮助人们提升生活质量,实现我们的价值。

延伸阅读

你遇到了号称可以改变你一生的书,看了几页,发现不错。碰见朋友,你就忍不住推荐它。可人家问了个有深度的问题,你答不上来,说才看了开头。

作为推荐者,会给人留下不求甚解的印象。这还只是影响了自己。如果那书并没有号称的优秀,你还可能浪费了对方的时间。所以,推荐要负责任,对人对己。

没吃透的知识,不要推荐。有一次,我们需要测试一个实时系统的延迟。我看到了一个演讲,演讲人想说服听众,”为什么你的延迟测量是错误的”。看完之后,我欢欣雀跃,感觉觅得了真谛,底气十足地和同事讲,我们测的延迟都是错误的!他们感到惊诧,但还是和我一起考证一番。考证过程中,面对他们的不少提问,我都没给出清晰的答案,最终也没改变我们测延迟的方式。

从这次经历中,我总结了很多教训。最重要的一点就是,不成熟的推荐会降低你话语的重量。道理很简单,话说的多,事成的少。

我体验过最高效的推荐,是以成果为基础的。我有个校友,杨琛,在中国银行的全国海淘大赛中,获得冠军,取得白银讲师称号。这些成果强有力的表明他在演讲上的能力。因为我对演讲也感兴趣,就主动询问他关于提升演讲技能的书,他给我推荐了一本,演讲的力量。这种推荐既有说服力,又能帮助作为被推荐者的我找到最好的学习材料。

推荐本身是好事,是为了给人指路。然而,有时候你可能想表现你路走的多,把那些只走了一小段,甚至道听途说的路指给了他人,误人误己。

昨天,我在公司组织了一场关于精益创业的演讲。演讲人Matthieu Garde是法国推广精益创业的先锋之一,拥有培训法国各个领域企业家的丰富经验。 观众是Murex各个部门之间的60多名员工。作为组织者,我客串了主持人的角色。虽然只是简短的介绍了演讲人,也算是五年来第一次登上公司的演讲台。这次经历让我收获很大,一方面是组织活动本身,另一方面是对精益创业有了更加深入的理解。

活动组织者的收获

作为组织者,收获很多。首先,是事后演讲人和同事们的感谢和鼓励。其次,是宝贵的和演讲人一对一交流的机会。最后,是对自我组织和表达能力的锻炼。

在付出努力之后,最令人感动的莫过于他人的认可。演讲结束后,有同事专程拍着我的肩膀说,“王辉,演讲很精彩,谢谢你的组织”。还有说,“以后这样的演讲,要多组织!”。从他们的眼神中,我可以读到他们学习到了新知识后的满足。演讲人,也给我竖起了大拇指,感谢我对他全面的介绍,和为他召集到的那么多好奇的观众。一句简单的谢谢,温暖了我的心田,让我觉得所有的付出都是有价值的。

阅读全文 »

请注意, 本插件的配置文件中包含秘钥, 请您妥善管理好您的博客源码。
您可以把源码保存在本地
如果要托管在git仓库里,请选择私有仓库,博主本人选择的是免费的gitlab

开发目的

某些主机,比如Github,禁止百度爬虫访问博客,导致博客无法被百度收录。多亏百度提供了主动提交的接口,这才有了个补救的方法。

除此之外, 使用主动推送还会达到如下功效:

  • 及时发现:可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录
  • 保护原创:对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现
阅读全文 »

作为一个热情洋溢的程序员,不谈技术,为什么要谈助人?从三个最近的体验谈起。

年初,参加了一个培训,主题是非暴力沟通。参加它,是因为一次和同事讨论,互不妥协,挣的面红耳赤。培训完,我牢记了一句话,”连接在先,方案在后”。互相倾听,互相挖掘对方需求,而后讨论解决方案。接连的好,其实就有了一半的解决方案。培训后,一向信仰技术的我,开始思考人的重要性。

上个月,在三番的JavaOne里,接触到了很多时髦技术,还参加了一个经验交流会。会里,业界的顶级人才分享了影响他们职业生涯最关键的事情。其中Edson Yanaga分享了他的转折点,“和人们建立连接,做一些改变人们生活的事情。由衷的感激,全心的帮助人们”。这段话,对于开始思考人重要性的我来说,就像遇到了知己。

这两天在Hackernews上读到了一篇超过2000分的文章,Be Kind。这么多年几乎没见过超2000的。作者分享了他的故事,说是,有次,他做错了事,准备好被炒。结果老板不但没训他,还友善的问他学到了什么,之后还鼓励他,相信他会做的更好。作者受到触动,如今带新人,他时刻提醒自己要友善助人,看到他人的潜力。看完这个故事之后,我又产生了一次共鸣。

作为程序员的我,往往被对技术的执着和信仰蒙蔽了的双眼。看到了屏幕上的代码,却没有看到电话的那头,有一个止步不前,需要帮助的人;没看到邮件的那边,有一个想得到回复,早点回去接孩子的父亲;没有看到身边的新人,刚起步,渴望点拨。

把出发点放到人上,接电话,回邮件,带新人都是快乐的事情,因为助人。

延伸阅读

越来越多的人在谈极限开发,结对编程,测试驱动。人们以今天的标准,审视着往日的代码,嗤之以鼻。然而,当今的规范并非横空出世,它是经历了计算机科学,互联网技术发展的不同阶段,而逐渐演变成如今的样子。一个时期的代码,有着那个时期的历史局限性,不是人们不想写单元测试,而是根本不知道什么是单元测试。

一天,我和一特别执着的程序员聊工匠精神,说他执着,是因为头发都白了,他还在写代码。话不到两句,就开始抱怨代码中的种种不是。因为他开始的早,我好奇的问,你刚开始写代码的时候知道单元测试吗?他说,谁去管单元测试,内存那么丁点,先把代码写进去,能运行再说。

虽然我的问题略显愚钝,我却突然想通了一件事。因为我身边的这位执着的程序员,不是他不懂得工匠精神,也不是不知道单元测试,而是那时候,它们根本不存在。我们不能因为今天有高铁,就看不起当初的小推车。所处的历史环境不同,满足的需求不同,实现的方式当然也就不同。因此我们得去学会体谅这些历史局限性。

然而,懂得体谅并不意味着忽视问题。小推车被高铁取代了,而没有单元测试的代码,却依然充斥在我们的软件中,阻碍着我们前进的步伐。而谁又能确定,我们如今所崇尚的编程方式,设计原则,不会成为明天大家的笑谈?我们是不是也活在我们的局限性里?文字到这,我只看到了四个字,与时俱进!

最近发生的两件事,让我很欣慰,它们让我看到了积累的效果,给了我继续积累下去的信心。

第一件事,法国最佳程序员竞赛。在近千人的比赛中,我取得了初赛第一,决赛第十四的成绩。赢了一个免费去荷兰度周末的机会。

最终得到通知是比赛开始的三天前。因为之前报名晚了,被放在了等待列表里。因此,我并没有对这次比赛进行针对性的训练。然而,我还是有所准备。从2015的Google Hashcode的比赛失利受到激发后,我就开始锻炼算法的基本功,看算法书,上算法课,参加公司的coding dojo。

初赛,一共三题,45分钟。前两道,基本功扎实的选手都可以解出来,只有第三道,突然增加了难度。看完题之后,我认出来了,这是一道基于动态规划的经典题目的变形,word distance的加强版,这个模型见过。面对这个经典问题,我没多犹豫,直接在网上搜出了解决方案,word distance with swap。提交,通过!这时离比赛结束还有十分钟。

比赛哨声吹响了,裁判开始宣布结果,说只有一个人做满了三题。在他喊出我名字之前,我已经开始澎湃了,因为我知道肯定是我。在众人面前脱颖而出是一种很奇妙的感觉,几个其他参赛选手向我走来,百思不得其解的问我,你怎么可能在这么短的时间里做满了三题。

决赛的第一题,有经验的人很快可以看出来是minimum spanning tree的问题。第二题,难度更大了(据我推断,是一道balanced graph partition的模型),没有一定功力的人是解不出来的,其实所有的参赛者中只有一人攻破了它,他成了最终的冠军。

平日的积累,一点一滴的,很难看到效果,但到了一定阶段,到骨子里之后,在一些不经意的时刻,它们的功效就会显现出来。就像一个习武的人,突然有一天他发现,它好不经意的躲过了别人的进攻,好不经意的发现可以跳的很高,练成了轻功。

第二件事,我给公司的另外一个组和一些主管做了关于spark和storm的报告。

有一天,公司里的一个大boss给我打电话,问我有没有空。我当时很惊讶,因为他的级别比我高很多,并且工作没有交集。我以为他要挖人给我升级呢。后来,他带我到了他办公室,想让我给他讲讲spark。我说为什么是我呀,他说,因为我写的内部博客他看到了,很感兴趣。他问我有没有时间给他讲一下,我就必须有时间的给他讲了一遍。他感觉很好,没过两天,我就把这些东西给他手下的一个组外加其他组的几个管理者,讲了一遍。

其实,对spark和storm的研究是一年前的事了,当时只给一小部分人做了汇报。可即使是一小部分人,我也是很认真的做了幻灯片,没放松报告的质量。讲完之后,我延续了写作的习惯,写成博客给大家分享了。没想到,后来还真有人看上。这件事,一方面证实了写作的各种好处,第二就是说明事情不论大小,不论受众面有多大,只要认认真真的做好,就可能会有惊喜。

平时看到一些杰出的人把一些事做到了完美与极致,很崇拜他们,也很向往成为他们那样的人。这两件事,虽然不是什么可以值得吹嘘的大事,但毕竟给我带来了一些成就感,也更加坚定了我的信念,任何能把事情做到极致的人,肯定不仅仅因为幸运,他们平日里默默的积累,给了他们抓住机会的实力。

0%