天才程序员之陨落:在业余项目创业 Cloudflare,公司上市前患病失去自理能力...

本文主要是介绍天才程序员之陨落:在业余项目创业 Cloudflare,公司上市前患病失去自理能力...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


作者 | 年素清

责编 | 伍杏玲

出品 | 程序人生(ID:coder_life) 

说起Cloudflare,可谓是大名鼎鼎,它承担了互联网10%网络请求,帮助受保护站点有效抵御分布式拒绝服务攻击。

作为一个拥有1200名员工以及83000位企业客户的上市企业,它最初的创业灵感来自于一程序员Lee Holloway的业余项目。Lee Holloway写的代码奠定了Cloudflare的基石,公司得以一路壮大。

然而就在公司准备上市之际,他突然变得性格古怪、行为反常,对项目失去了热情,对同事和妻子态度很差,原来他换了一种怪病,正值壮年却失去自理能力。这是一个令人惋惜的天才程序员陨落故事……

  

童年经历

上世纪90年代,Lee Holloway在美国加利福尼亚州旧金山湾区南部成长。Lee的父亲曾是苹果公司的员工,所以Lee和弟弟得以在很小的时候就接触到了最新款的电脑,两人经常一起在上面玩电子游戏。

Lee在玩游戏时,能够解读复杂情况,并且快速做出反应调整策略,所以他赢得了无数场游戏,这令他在朋友们中小有名气。除电子游戏外, Lee曾无意间撞见一个中学的象棋俱乐部锦标赛,非俱乐部成员的Lee最后竟赢得了这场比赛。

Lee逐渐对游戏的载体——计算机本身产生了好奇,他在高中时开始学习计算机科学,后来进入当地的社区大学和圣克鲁斯大学学习。正是在那里,Lee结识了后来CloudFlare 的另一位创始人Matthew Prince。

Prince在当时是位年轻有为的创业老板,在犹他州的帕克城成立了一家叫做“Unspam Technologies”的公司,他到圣克鲁斯大学去找计算机科学教授Arthur Keller,希望能帮他实现一个反垃圾邮件软件工具的想法,但Keller和他的学生已提出了一个十分相似的概念,最后是Prince和Keller以及学生们共享这一项专利。Lee就是这群学生中之一,Prince便说服他加入了自己的团队。

 

业余项目中产生的灵感

Lee搬去帕克城后,给Matthew免费打工,条件是食宿全包。工作一段时间后,Lee开始倒腾起一些业余项目,其中包括一个叫做”Project Honey Pot”的项目。TA可通过一边爬取网络一边跟踪垃圾邮件的发送者来收集并发布垃圾邮件发送者的相关数据,这个项目吸引了不少人的注意。

2007年,Prince离开犹他州去哈佛读商学院,Lee则移居加州,两人虽身处异地,却并未停止Unspam的工作。

Prince在读商学院读书期间,结识了CloudFlare 的第三位创始人Michelle Zatlyn。两人就Lee的Project Honey Pot谈论时激发了一个创业点子:如果将Project Honey Pot扩展一下,让它能够不仅识别邮件的发送者,并且采取相应的阻止措施,会怎么样呢?

Prince和Zatlyn计划在全球范围内建立一个超大规模的服务器网络,然后说服网站所有者通过这些服务器来对其网络流量进行路由处理,再收集足够的数据来检测其中的恶意请求来阻止一些拒绝式服务攻击。

Prince和Zatlyn一致认为他们的这个想法很有潜力,但是他们缺少一个技术合伙人,而Lee无疑是不二人选。于是,Prince用了一个小时的时间说服了原打算向他提离职的Lee。

 

网络流量在几个月内超过 Yahoo

2009年底,Prince团队从两家风投公司那里筹集了200多万美元的启动资金,Lee作为技术Leader开始编写第一个Demo。

当时的初创企业为了获得巨额融资必须经过TechCrunch Disrupt的角逐,Prince和Lee等人在2010年为Disrupt做着准备。正是这个时候,Lee开始出现偏头痛的症状,这令他耽搁了许多工作, 以致于当Prince站在舞台上向观众们介绍他们的Cloudflare时,Lee还在后台疯狂地修复Bug。幸运的是,软件在运行时很成功,没有出现任何问题。最后,Cloudflare拿下了这场Disrupt的第二名。

在演示之后的短短一个小时之内,Cloudflare就吸引了1000名新客户,规模一下子扩大了一倍。在之后几周的时间里,许多科技互联网公司纷纷打电话给Cloudflare团队,Lee等人必须不断地给系统打补丁才能维持系统正常运转。他们在当年9月正式推出之后,一个月内就接入了10000个网站,原本准备的五个数据中心几乎不堪重负。

上线前,Lee曾发誓要等到Cloudflare的网络流量超过Yahoo的时候再剪头发。最后仅用了几个月的时间便实现了这个目标,Lee只长了大概4英寸长的头发。

 

性格大变导致婚姻破裂

Cloudflare的发展速度之快超过了所有人的预料,Lee几乎要没日没夜地坐在电脑前写代码。

2014年夏天,Cloudflare接到一个免费帮助网站进行加密的项目。计划在9月底上线,直到系统上线的前一天,Lee开始忙碌起来,现任Cloudflare CTO 的John Graham-Cumming回忆说:“他不断地敲键盘,不断地敲,我想没有人敢打扰他。”

一直到深夜,Lee宣布自己写完了所有代码,其他工程师随即对他的代码进行审查。到第二天调试时,并未出现任何故障,所有的客户突然全部被加密处理。Graham-Cumming说:“加密网络的规模一夜之间就翻了一番。”这个项目的成功使得Cloudflare威名大震。

在Cloudflare不断壮大的同时,作为创始人之一的Lee除了经常发作的偏头痛之外,他的行为开始变得反常起来,有时甚至是不可理喻。

在Cloudflare公司准备IPO的前几年,Lee突然对自己的项目和同事都失去了兴趣。开会的时候他似乎无法集中精力,他变得愈发的死板和好斗,经常无视甚至毫不留情面地拒绝同事的建议和反馈。

Lee的变化同样体现在他的个人生活上。从2011年开始,妻子Alexandra发现Lee变得越来越孤僻,还养成了一些古怪的习惯,比如有时候在经过漫长的工作之后,一进家门脱掉鞋子便会昏睡在地板上,但晚上他却要花很长时间才能进入睡眠状态。有次夫妻二人去法国度假时,Lee竟然在酒店里面睡了三天。对于这些,Lee回应妻子说是自己太累了。

2012年,Alexandra告诉丈夫自己要去南加州的美国国家航空航天局(NASA)实习,她计划带上儿子一起过去。而Lee的的回应却异常冷漠,他要求她在离开前提出离婚申请。尽管Alexandra流着眼泪挽留,但是Lee还是坚决地同她办了离婚手续。

离婚后不久,Lee便与另一位叫做”Kristin”的年轻美女同事结了婚。

对于Lee的这些变化,从没有人怀疑他是否因他的精神方面出了问题所致。Lee离婚再婚,同事们以为那是因为他发达了而嫌弃糟糠, Prince说:“我们大家都以为他是因为赚了一大笔钱,开始另觅新欢。说不定他开始重新审视自己的生活,打算变成一个混蛋。”

对于他反复发作的偏头痛,医生们则认为那与他所患的心脏病(主动脉瓣关闭不全)有关。

 

确诊“额颞痴呆症”

2015年1月,在斯坦福大学的一名外科医生的建议下,Lee接受了一场六个小时的心脏手术。躺在病床上的他还给儿子录了一个视频,说:“我爱你!我很快就会带着一颗崭新的心脏跟你见面。”

谁也没想到,手术后的Lee心脏问题解决了,但他的精神却开始出现了问题。他变得非常嗜睡,他将病假延长了一个月,然后又延长了一个月,一直到春季末才重返Cloudflare。

回到办公司后,Lee像完全变了个人一样,他变得难以相处,经常猛烈抨击别人,开会时开小差,有时竟公开在会上玩游戏。

Prince和Zatlyn试图与Lee通过交流来改正Lee的这些不良习惯,Lee敷衍他们说一定改正,下次依然我行我素。

出于不少初创型企业创始人关系破裂对公司造成严重不良后果的前车之鉴,Prince和Zatlyn在2016年决定让Lee离开公司。

同样地,Lee的家庭生活再次出现了问题,Kristin重蹈了Lee的前妻的覆辙。Kristin选择了容忍,她推测也许是Lee在手术后患上了创伤后应激障碍或者得了抑郁症所致。

2017年3月,在妻子及双方父母的陪同下,Lee来到了旧金山加州大学的记忆与衰老中心就诊,医生给出的诊断为“额颞痴呆症(FTD)”。这种病会产生行为变异,在病变过程中,患者仿佛变成了另外一个人,这也就解释了Lee之前的种种反常行为和性格的突然转变。这是一种非常罕见的病症,通常的发病人群是六十岁左右的中老年人。对于只有三十多岁的 Lee 来说,无疑是对他的下半生判了死刑。家人们伤心流泪,Lee却平静地接受了这个事实。

Lee的情况越来越糟糕,几个月之后,他便失去了自我管理能力。全家人经过商定之后,决定将Lee送往圣何塞与父母一起生活,由年逾六旬的双亲亲自看护照料Lee的生活起居。

2019年9月,Cloudflare的IPO一共筹集了5.25亿美元,Lee因为创始人的身份变得富有起来。为了让Lee有一个更好的疗养环境,Kristin在加州中央海岸买了一栋5000平方英尺的大房子,将Lee和他的父母安置进去,并请了专职的护理服务。

然而,目前的医疗水平对于FTD这种疾病束手无策, Lee再也不能回到电脑前面写代码,只能在时间的流逝中慢慢地失去自我。

看完了这位天才陨落的故事,唏嘘不已,希望各位程序员朋友们多多保重身体。

参考链接:

https://www.wired.com/story/lee-holloway-devastating-decline-brilliant-young-coder/

https://tech.ifeng.com/c/7wAeWBFhqfd

https://tech.ifeng.com/c/7wAeWBFhqft

https://tech.ifeng.com/c/7wAovvYVibI

http://www.myzaker.com/article/5eae42be8e9f09437956815c/

—— 推 荐 阅 读 ——

你点的每个“在看”,我都认真当成了喜欢

这篇关于天才程序员之陨落:在业余项目创业 Cloudflare,公司上市前患病失去自理能力...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/530499

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca