HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

  • 2015-11-27
  • 本文字数:2512 字

    阅读完需:约 8 分钟

九月份在 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))。

2015-11-27 18:001605

评论

发布
暂无评论
发现更多内容

不懂 ZooKeeper?没关系,这一篇给你讲的明明白白

大头星

Java zookeeper 分布式

LeetCode题解:88. 合并两个有序数组,双指针+从后往前,JavaScript,详细注释

Lee Chen

大前端 LeetCode

linux入门系列4--vi/vim编辑器

黑马腾云

vim Linux centos7 操作系统 VI

CIC国信公链:做坚实的底层技术支撑,让区块链为现代农业插上腾飞的翅膀

CNG农业公链

区块链 农业发展 CIC国信公链 CNG农业链 赵其刚

「分布式一致性协议」从2PC、3PC、Paxos到 ZAB

大头星

低/零代码平台的优点有哪些?

代码制造者

编程语言 低代码 零代码 信息化 编程开发

跟我一起基于Karma搭建一个测试环境(上)

Jack Q

大前端 Karma 测试框架搭建

吐血整理Windows电脑入侵自检大全

BigYoung

黑客 windows 日志 异常 自检

CentOS 7 配置Supervisor 服务遇到的坑总结

BigYoung

centos 报错 Supervisor

白话讲解:消息队列到底解决了什么问题?

博文视点Broadview

读书笔记 分布式 RocketMQ 中间件 消息队列

Nginx配置80端口用于多个域名

石云升

nginx 域名配置 80端口共用

十年磨一剑-BIGO全球音视频技术解决方案

InfoQ_3597a20b53cc

人工智能 大数据 技术

Windows AD巡检报错处理

BigYoung

windows AD 报错 巡检

Kotlin这么火!如何快速从Java过渡到Kotlin

华章IT

Java kotlin 协程 安卓

Django 表单处理流程详解

BigYoung

django 表单 流程

对于一款软件而言,完备的功能固然重要,但交互体验也不该被忽视

Philips

Java 敏捷开发 UI .net core 交互设计

对于一款软件而言,完备的功能固然重要,但交互体验也不该被忽视

Learun

Java 敏捷开发 快速开发 .net core

艺术与科技的碰撞!Tristan Easton携手英特尔为漫威粉丝带来十代酷睿《复联》收藏版

最新动态

Django2.x中url路由的path()与re_path()参数解释

BigYoung

django path url re_path 参数

当代一线城市年轻人生活工作实录(蓝领打工仔篇)

Philips

Java .net 敏捷开发 快速开发 MES系统

linux入门系列2--CentOs图形界面操作及目录结构

黑马腾云

Linux centos7 操作系统 系统运维

linux入门系列3--常见的linux远程登陆管理工具

黑马腾云

Linux xshell securecrt putty finallshell

lgloo Software 的 Jira Cloud 转型之旅

Atlassian

项目管理 DevOps 敏捷开发 Jira Cloud

Linux入门系列1--环境准备及Linux安装

黑马腾云

Linux centos 运维 操作系统

linux入门系列5--新手必会的linux命令

黑马腾云

Linux centos7 Shell linux命令 linux操作

当代一线城市年轻人工作生活实录(HR篇)

Philips

Java 敏捷开发 快速开发 .net core

为什么越来越多的非计算机领域企业,在自主做软件时都选择使用快速开发工具?

Learun

Java 敏捷开发 快速开发 .net core

当代一线城市年轻人工作生活实录(HR篇)

Learun

Java 敏捷开发 快速开发 .net core

《漫威复联》PC版游戏即将登陆,英特尔为其独家 CPU 合作伙伴

最新动态

为什么越来越多的非计算机领域企业,在自主做软件时都选择使用快速开发工具?

Philips

Java 敏捷开发 快速开发 .net core

话题讨论 | 特斯拉和拼多多杠上了,你有什么看法?

InfoQ写作社区官方

写作平台 话题讨论

计算机科学家Erik Meijer眼中的Hacker Way工作方式_后端_Sergio De Simone_InfoQ精选文章