朱赟的技术管理课_31_30_编程马拉松
你好,我是朱茵。
今天我分享的主题是编程马拉松。
今天我和你聊聊编程马拉松hakson的故事。
Hakson是一个合成词,取自hack和marathon,译为编程马拉松,又叫黑客节或编程节,它起源于sum公司。
在一九九九年的java one大会的一次通信。
在那次活动中,约翰盖奇向参会人员发出了一个挑战,用java为新款的palm way编写一个程序。
这个程序可以让姆puway用户通过红外线端口和其他帕姆卫的用户通信。
此外,palm way用户还能够通过该程序在网上注册他们的手机。
这个活动,第一次引入了编程马拉松的概念,并沿用至今。
现在湾区比较知名的创业公司都有个不成文的传统,通常一年会有几次编程马拉松。
国内的一些互联网公司和技术社区也举办过类似的活动。
就是一周的三五天内大家不去工作,而是去hick一些自己感兴趣的小项目。
编程。
马拉松期间,全公司理论上是不允许有任何工作相关的会议。
所以你每天照常上班,但上班的内容是自己找一群小伙伴,大家一起做一个和工作不直接相关的项目,最后一天则展示自己的成果。
编程马拉松和平时工作的不同之处,就在于他让你去探索一些平时工作中无暇顾忌的创意和想法,在很短的时间内推进和完成一个项目。
不只是说一说,而是去通过设计、交互和程序去展示你的想法。
编程马拉松的另外一个好处是,可以让你在团队工作中和一些平时少有合作的同事,建立很特殊的感情和纽带。
有一次编程马拉松接近尾声,我晚上开车回家,天色渐渐暗下来,看着路上忽亮忽暗的一排排车灯,以及路边不多的高楼上的广告牌灯光,听着一些略显过时的美国流行歌曲,突然间以前hacking的一幕幕涌上了心头,很多老朋友新朋友的笑容就清晰的闪现在我的眼前。
第一个故事骇克的项目成了正式产品的原型。
我第一次参加边程马拉松,还是在square.那时我加入square market组,可能刚刚两三个月。
Square market组里有三个整天腻在一起的男生关系特别好,一起吃饭,一起喝茶。
晚上经常一起联网打游戏,另末也经常一起玩纸牌。
他们三个有一个人是个在美国出生的华人,中文能听懂,但是说的不好,所以不经常说。
他早年在谷歌,中国呆过,是谷歌早期的牛人之一。
他一个是香港人来美国十几年了,普通话也不那么流利,但是前端后端都十分精利,还有一个是个地地道道的美国人,但娶了个韩国妹子,所以会说一些韩文。
他早年也是谷歌亚洲去的系统层面的活都做的非常熟,他们三个都自己创过业,square的工作,对他们来说也是得心应手。
我的第一次编程马拉松就是和他们三个一起完成的。
为什么我能有幸和这亲密无间的三剑客会一起做项目呢?主要是因为square的每一个新人都会有一个类似于辅导员的老员工,带着新人熟悉系统和技术。
而他们其中有一个人就是我的辅导员。
我是以应届毕业生的背景进入square的很多应用层面的技术都一窍不通。
所以reals、 search、 javascript等好多技术都是我的辅导员,手把手带我入门的。
大概是我一直比较刻苦的缘故。
他们一直对我还是很友善的,虽然我很弱,他们三个做项目还是把我也加进去了。
我的第一个编程马拉松项目,就是和他们三个一起用elastic search重写square search的后端。
那一周我们四个在公司做什么?都很自然的在一起,收获之一是我们的项目做的很好。
后来square search后端的原型就是基于我们的编程马拉松的项目,收获就是交了三个好朋友。
后来在square,我和他们也走的近很多,甚至离开square,他们还时不时的给我发消息,偶尔也来找我吃饭。
第二个故事技术不一定是在代码里我经历的。
第二个编程马拉松还是在square.当时我有个想法,就是做一个类似于公司内部的ebay,大家可以以卖送和交换一些家里不再用的旧物品。
和我同组的其他人都是妹子。
因为对这个想法感兴趣的都是女生,其他人有做产品经理的,有做HR的,还有做设计的,只有一个人是程序员。
当时我对于square market已经很熟了,代码量也不多,所以写代码基本上我一个人就能搞定。
一个叫m的女生给我印象很深,它是那种你看她一眼就会轻易联想到fashion的风格。
她的头发经常是不同的造型,口红也是每天不一样,都是各种极其鲜艳的装饰,衣服也是很独特的设计。
总之,从上到下,你都能看得出它精心而夸张的装饰。
但是总体又给人非常和谐的感受,就像杂志里的模特一样,它在这个项目里是帮大家选定的商品拍照,这是个有难度又很繁琐的事情,可是它真的很厉害。
这么说吧,同样一对耳环,我拍出来的效果可能是大家觉得白送都不要的地摊货。
可她把背景灯光陪衬衣搭配大对耳环,你说是tiffany卖的都不为过,高大上历险,这可能真的需要对设计和审美有着很独特的颜眼光。
那段一起在hack的日子里,让我对公司的非程序员的职位有了很大的改观,也更深刻的体会到。
技术不一定是在可见的,代码里可能更多的是让一些无形的产品增值。
这个项目我也接触了很多飞马工的妹子,交了几个很要好的女性朋友。
第三个故事和大牛结对编程是怎样的一种体验?我经历的第三个编程马拉松就是在air BNB了。
与square的一整周不一样,air BNB的编程马拉松只有三天。
而且这一次其实我本身没打算做什么,而且全公司都去hack了。
那周得有一个人处理线上突发问题,或是协调一些产品代码的改动。
那次正好轮到了,我GM知道我没有打算做什么,就拉着我一起做了一个air BNB内部的员工静态定位系统。
简单来说,这个系统就是在公司的内部地图上可以定位的找到某个人的座位在哪儿。
公司大一点的时候,平时大家需要找一个人的时候,经常问别人,但很多人都说不清。
说到这里,就需要交代一下GM是谁,他是我当年在square一起奋斗过的小伙伴。
不过我们在工作上没有直接的交集,这个人在支付领域六七年之后,完全是个架构师级别的大牛了。
当初我拿了LBNB的offer,第二天意外发现他恰好也同轨迹跳槽离职入职的时间和我只差两个星期。
这样我们就是LBNB唯二的前square,中国人更恰好的是我们都进了支付组,住的又很近。
我和他因为这层特殊的关系,在airb NB就格外亲密些。
Gm读书的时候就参加过微软搞的编程竞赛,在世界排得上名次的,所以在简历上比我是高出了不止一节。
平时他也喜欢随大流的称我一声安姐和大家各种调侃玩笑,也从没给过我技术差距上的压力。
在简历上看见一个人牛和在实际工作中体验一个人牛完全不同的感受。
当时一起做办公室地图,我和他负责研究明白谷歌地图的一个API怎么用,怎么把办公室地图集成进去,以适用API提供的一些旋转、放大、移动等功能,GM做了大部分的工作。
我只帮忙写了程序,做了球面坐标和平面坐标的转换,以及边界的转换等,我的工作量比他的少,而且总有人给我发信息协调相关的事,所以我很久才把函数写出来。
他拉过我打草稿的纸,看了两眼,想了几秒,就说这里不对,然后动手三加五除二就把我的代码改了。
本来我还觉得不太可能,结果证明人家就是把你一个隐藏很深的bug给干掉了。
这一点真的十分厉害,两个人一起写代码,如果水平差不多会互有收益。
但是如果水平差的太多了,基本看着那个会写的写自己跟着学学就好了。
于是我就乐得清闲,坐在旁边看他敲敲代码,自己干干杂活,偶尔端个茶递个水,剥个橘子,累的时候陪着聊个天,俨然一副鼓励师的架势,他也不介意,反正活都干了干的挺麻利。
所以我的第三个编程马拉松就这样轻松过关。
第四个故事,即使面对技术大牛也可以表达意见。
最近的一次编程马拉松,又是一个跟以往完全不一样的体验。
这次一起做的是JJ,不是我们支付组的,是PI组的。
这个组是搭建和管理公司整体系统架构的。
一个组j在air BNB是个什么样的声望呢?除非你完全不碰系统,纯做前端或者移动,否则你列举的air BNB牛人j必占其一,不管是系统设计审核还是网站受攻击时的处理,还是正规化一些,已有的软件还是我司的开源等,他都做的非常好。
这完完全全走技术路线和人员管理,一点儿不搭边。
因此他可以有更多的时间放在技术上。
因且他很拼,真的很拼,几乎每次我加班晚睡,他都还在线工作。
我发给他们组的所有技术讨论相关的邮件,他都在很短时间内回复并详细解答,而且解答都很中肯。
总之是我眼中纯技术的真大牛。
可能是因为我之前问过他编程马拉松打算做什么,所以他有了想法以后,就问我要不要一起做来想做的什么呢?它有一个以前的环境警报,LED灯就是一个由电板控制的LED设备,可以通过一些串行端口的编程,来让他在不同的情况下显示不同的颜色。
比如如果LVNB的网站挂了,就显示红色并不停的闪动。
如果现在某一服务挂了就显示橘色介果,某些页面的错误率很高,就显示紫色,一切正常就是绿色,并且完全不闪动。
介于红色和绿色之间的颜色,以一个中间的频率闪动等等项目进行很顺利,除了技术细节没什么可写的。
不过这次和牛人合作,我又有了一个不同的体会,就是不要害怕自己,可能不如别人,就不敢出声,或者不敢写代码。
刚开始我还比较小心,都是比较有把握的意见或建议才说出来。
慢慢我发现,其实只要是自己真实的想法说出来,有的时候可能别人真的就没有想到,也许是个错误的意见,别人就告诉你你为什么不对。
以后再有类似的问题,就会有更多的了解和体会。
所以后面的两天,我们真的就是一边讨论一边做。
在这个过程学了很多,更开心的是觉得自己在这个项目中也是有真实贡献的。
经历了很多次编程马拉松,也就接触了很多类似j这样的极客。
你看到这些技术,大牛们在网路上从容不迫,侃侃而谈,是因为他们对技术和产品近乎执着的关心,因为他们日积月累了很多实战经验,更因为他们在背后付出了超出常人的努力,很庆幸自己身边有着很多很多这样值得我们学习和尊敬的极客们。
最后,总结一下我对编程马拉松的感受。
一、编程马拉松是一项能够激发创意的活动,很多活动中的产品最终都成了成功产品的原型。
二、根据公司的实际情况,举办编程马拉松,掌握好节奏。
三、编程马拉松不仅可以激发创意,还可以让你和团队的小伙伴建立特殊的情感和纽带,增加团队的凝聚力。
四、参加编程马拉松,尽可能选择一些可以扩展你知识边界的项目,开阔视野。
五、与牛人结对编程要敢于说出自己的真实想法,无论对错,都会有不同的收获。
最后终于有机会说出我自己一直很喜欢的一句话,dick is the new sexy.用中文来说,就是会写代码的人真的就是很帅。
你经历过什么样的编程马拉松呢?可以在留言里说说。