九月份在GoTo 2015大会上,和函数式编程、反应式异步编程有着紧密关联的,响当当的计算机科学家Erik Meijer在大会上与参会者分享了自己在接下来人生里最后几年的规划和打算,包括,他是如何看待自己的癌症诊断的,如何改变自己的生活方式。此外,还不忘跟大家分享他所理解的“Hacker Way”。

\\

Meijer告诉在场的听众,他于2013年离开了工作13年的微软,并怀揣着“让世界异步起来、互动起来”的目标创建了自己的公司——Applied Duality。他第一次跟Facebook合作也是跟Hack编程语言有关,他说这是一个PHP精简版的编程语言,目的是赋予开发者一个函数式范式编程体验。后来,Meijer还在2014年的时候,帮助谷歌Dart编程语言添加了支持异步/等待和stream流媒体技术。

\\

然而,不幸很快降临到他的头上,在2014年的圣诞节前夕,Meijer被诊断为癌症,这无疑是给他这充满斗志的生命画上了句号。一个多么令人扼腕的消息。由于治疗需要,Meijer在重症监护病房里呆了五天。他说,在病房里的那几天感觉很奇怪,如果可以的话,自己很想“就像一缕清风一样飘离而去”。之后,离开重症监护室回到家里,开始了他的肿瘤治疗之路。

\\

Meijer后来回忆说,生活并没有什么变化,变化的是自己的心态,他花了六个月的时间才将自己带回到正常生活节奏中。在这段时间里,他把剩下的时间看的无比珍贵,并把这样的机会留给自己重新审视自己的生活,彻底思考自己接下来该做什么,如何规划自己的宝贵时间:

\\

\

这件事之后,我一直在想一个问题:我能用我所掌握的技术真正的为人们做些什么?我需要一个真正的机会来帮助现实世界中最需要帮助的人。或者说,我特别想为这个世界留下自己的人生遗产。最近发生在欧洲大规模难民涌入事件我想很多人都已经看到了,这些难民通过Facebook等一些社交工具来寻找自己的出路,来掌控自己的命运。我很震撼,这样的举动也是很惊人的,因为将这个世界连接起来的小工具已经真的影响到了正常人的生死攸关决定了。

\

\\

所以,当扎克伯格邀请他加入Facebook致力于从事将整个地球上每个角落连接起来的工作时,Meijer欣然接受了。

\\

连接世界这个任务给Meijer提供了一个很好的机会来进行他最喜欢的话题:是用“推”的方式,还是用“拉”的方式将人们连接到这个计划里?他说,如果你真的想和世界保持同步,最好用“推”的方式,即快速反应。而“拉”的方式是一种比较被动的方式,不管是在线上还是在线下,都会在程序里有很多阻塞点,从而使其效率降低。其实这两者之间是存在相关性的,Facebook在用户规模上已经足够支持各种连接方式,换句话说,目前单日10亿的交流用户量可以说是里程碑式的效果。但是Meijer说,这只是个开始而已,要想获得连接世界的目的,用户数量必须有一个数量级的增长,唯一的手段就是“打动用户的心!”

\\

Meijer说,在用户量级的增长上有一个关键性的理念,那就是全面“推”出去,走出去,而不是“引”进来。当然,这需要对整个技术流程中的任何一个小的节点进行全面把控,以确保系统当中没有哪个环节是起到“拉”的作用,因为这样的环节肯定会成为一个致命的阻塞点。Meijer说,其实Facebook内部就有这样的案例,这个例子始源于他们开源的200多项技术当中,从编程语言到数据库,从虚拟机到前端框架等等。这说明,Facebook控制住了所有的堆栈。而另一个案例是微软公司,微软竭尽所能想要将在框架中取得重大意义的异步/等待技术应用在各个地方,以确保能够起到“拉”效应的组件丢失。

\\

Meijer在演讲结束之前主要谈了一些编程方法论,以及Facebook的Hacker Way。在Meijer看来,像Scrum开发过程或敏捷开发这种方式,确实能将一些“低学历的员工“留在公司框架中,所以他们创造出来的产品在质量上只能算是中等水平。相反,如果采用Hacker Way工作方法,也就是聘用有经验的、能够赋予特权的程序员的话,他们本身就知道如何在节省审批流程的情况写创建有用的东西,这样的人用起来很轻松。Meijer还引用了扎克伯格在Facebook申请IPO的公开信中对“黑客咒语”的描述,“代码比毫无意义的争论更有说服力”。因为代码的价值并不会因为你怎么讨论它而改变,也不会因为你画了一个UML图就能对它所能产生的效果有所改变。Meijer说,Facebook的Hacker Way工作方式有五个众所周知的原理:

\\

  • 关注后果:你应该将你的聚焦点放在解决重大问题之后产生了哪些最大影响及结果。\\
  • 行动要快速:为自己构建能够快速学习的方法,特别是在尝试采取一些有可能是唯一解决方法时,不管有用与否,都要快速决断。\\
  • 大胆冒险:有尝试,就有失败的可能性,接受失败是最现实的做法。真正的风险是不敢去尝试冒险。\\
  • 保持开放:其实很多硅谷公司在这一方面做的都很好,例如谷歌和Facebook,一直努力的培养员工在信息上做到公开透明。\\
  • 建立价值观:你所做的工作应该在整个世界上都要有影响力,而不仅仅是为了创建一个公司而工作。\

总的来说,Hacker Way就是拿一个系统的局限性来做实验,采取的方法当然不是公认的、大家都遵守的规则,而是自己的随意所为。用Meijer的话说,黑客就是不喜欢官僚,不喜欢虚伪,更不喜欢无能、无聊之辈。

\\

\

越是关键的、重要的东西,越容易被黑客盯上!

\

\\

据Meijer的说法,Hacker Way工作方式跟Scrum开发原则几乎形成了鲜明的对照,首先是对产品所有者的定义就不一样,Hacker Way工作法就是在时间表上不断的冲刺,用一种与时间赛跑的方式力求把事情完成。而Scrum强调的是高度规范,工作流程“读起来就像一本法律书”,要求“用各种严苛的规范准则来确保程序员遵守开发要求”。Meijer还说,Scrum项目负责人看上去就像是一个牧羊人,并没有充分挖掘出程序员的潜力,事实上,他们真的应该像养蜂人那样让程序员自主的执行他们的工作。这是创造代码,所以要确保他们集中精力在重要的事情上,而不是被一些琐碎的事情占用太多的脑力。

\\

查看英文原文:Erik Meijer’s Hacker’s Way

\\


感谢张龙对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群(已满),InfoQ读者交流群(#2))。

计算机科学家Erik Meijer眼中的Hacker Way工作方式相关推荐

  1. 电磁继电器计算机结构图,交流固态继电器的结构与工作方式

    固态是由半导体元件组成的无触头开关器件,它较之电磁继电器具有工作可靠.寿命长.对外界干扰小.能与逻辑电路兼容.抗干扰能力强.开关速度快.无火花.无动作噪声和使用方便等一系列优点,因而具有很宽的应用领域 ...

  2. 计算机科学家 成就,25年来的最高成就!MIT科学家让计算机提供创意,可自动设计机器人形态...

    原标题:25年来的最高成就!MIT科学家让计算机提供创意,可自动设计机器人形态 来源:学术头条 作者:阳光 [新智元导读]MIT的研究人员成功开发了一种计算机系统,利用该系统可以对机器人的形状进行仿真 ...

  3. 编码员,程序员,黑客,开发人员和计算机科学家走进维恩图

    A friend recently said: "I want to learn how to code. How and where do I start?" 最近有一位朋友说: ...

  4. 清华大学 计算机科学理论,高一被清华姚班录取,一个网瘾少年到理论计算机科学家的蜕变...

    当陈立杰站在清华大学特奖答辩的讲台上时,无数目光注视着他.前方是理论计算机科学家的坦途,而过去则是重度网瘾少年的曾经.他在旁人看来不可及的人生,只是一个普通人不普通的蜕变. 网瘾少年 从小学开始,陈立 ...

  5. 《像计算机科学家一样思考Python(第2版)》——2.6 字符串操作

    本节书摘来自异步社区<像计算机科学家一样思考Python(第2版)>一书中的第2章,第2.6节,作者[美] Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区&quo ...

  6. 全球Top1000计算机科学家h指数发布,数据院院长Philip S. Yu上榜(附完整名单)...

    来源:新智元 作者:闻菲.肖琴 本文约3000字,建议阅读5分钟. Guide2Research网站日前发布了2018年全球计算机科学和电子领域H-index排名前1000的科学家.中国共有29名科学 ...

  7. 哀悼!华人著名计算机科学家刘炯朗逝世,图灵奖得主姚期智为其得意门生

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 编辑:QJP [导读]华人著名计算机科学学者.前台湾清华大学校长刘炯朗教授于2020年 ...

  8. 「AI大咖」ML宗师乔教主,全世界最有影响力的计算机科学家

    https://www.toutiao.com/a6708713546558997004/ 在AI领域,可以称为教父的人不多,一眼我们看向"深度学习鼻祖"Hinton教授,另一眼一 ...

  9. 「AI白身境」究竟谁是paper之王,全球前10的计算机科学家

    https://www.toutiao.com/a6694021927259865611/ 今天是新专栏<AI白身境>的第十二篇,也是最后一篇了,作为最后一篇,我的想法是激励大家见贤思齐. ...

最新文章

  1. 如何防止博客文章被窃取
  2. 目标检测Anchor的What/Where/When/Why/How
  3. 接口转发和重定向区别(四)
  4. 重构-改善既有代码的设计:处理概括关系 (九)
  5. c++中的new与delete运算符
  6. 【实施工程师】Linux怎么查看当前进程
  7. Effective Java之努力使失败保持原子性(六十四)
  8. java工程转maven工程_将java工程转换为Maven工程
  9. grep参数说明及常用用法
  10. Shell Script 学习一
  11. 如何做好招生讲座-----转载 (四)
  12. centos 并发请求数_jmeter 实战分析并发、RPS、RT 公式换算
  13. 此版本的IDM不支持该类下载,请尝试将IDM更新至最新版本。
  14. 计算机等考网络真题2018,2018年网络管理员考试试题及答案
  15. 在线生成透明ICO图标
  16. saltstack的安装和功能参数使用详解以及YAML语法使用解释
  17. 发现一款不错的快速开发平台
  18. 规则引擎Drools详细介绍
  19. setContentView() 报 OutOfMemoryError的错误
  20. arduino、Ms5611与1602实现气压温度高度显示

热门文章

  1. 模板技巧之:费用科目条件过滤
  2. C#3.0语言规范new [Unified C# 3.0 Specification Now Available]
  3. 如何求欧拉函数~转载
  4. linux下静态库和动态库的制作与使用
  5. ubutun 因为端口冲突引起安装nginx报错的解决方法
  6. RAC的搭建(一)--安装环境准备
  7. 【算法】N Queens Problem
  8. HRBUST 1909——理工门外的树——————【离线处理,差分前缀和】
  9. LeetCode198——house robber(不懂dp)
  10. 有关 iOS 的开发证书、应用标识、设备标识、配置文件以及密钥 #DF...