/老陈荐书 — 《天才程序员——一位屌丝码农成功逆袭的故事》

老陈荐书 — 《天才程序员——一位屌丝码农成功逆袭的故事》

点击上方关注「ADU咨询」,每周一老陈陪你读一本书,感受不同作者眼中的视界

天才程序员:


技术狂人如何改变世界



作者:


【美】 克拉夫·汤普森

          符李桃  译








克莱夫・汤普森是美国著名的科技作家,《纽约时报》特约撰稿人,《连线》杂志专栏作家,以撰写科技、文学、历史与哲学方面的深度报道而闻名。在《天才程序员——技术狂人如何改变世界》一书中,汤普森对程序员这个群体进行了一场人类学意义上的思考:他们是谁?他们如何思考?在他们的世界里,什么才是伟大的?什么会让我们停下来?程序员是当今世界具有影响力的群体,他们永远热血的探索精神和永无止境的创新力推动人类文明的进一步发展。

书中介绍了很多“大神”级程序员的传奇故事。不过,和其他技能型行业一样,除了少数技能超群的天才程序员,程序员群体中有大批技能普通甚至糟糕的码农。老陈研究的设计行业也是如此,除了少数设计大师,多数建筑师的专业技能是常规水平。普通码农、普通建筑师会有职业春天吗?
老陈对书中介绍的一个案例很感兴趣,案例的主角是一位在编程技能上垫底的程序员,他的故事可以给我们一些启发。
20世纪90年代中期,丹尼斯・克劳利还是个20多岁的年轻人,他喜欢泡酒吧听音乐,同时也梦想着有一天能进入科技领域工作。他多次尝试学习编程,屡试屡败。他回忆起在雪城大学读书时的经历:“我特别想把计算机学好,当时选了入门级课程,但我表现得特别糟糕,写的代码都运行不了。”赋值变量?让函数相互调用?这些在克劳利的脑子里就是一团乱码。最终他决定放弃复杂的编程,最多就是鼓捣一些简单的网页:“把照片传到网上就是我最大的能耐了。”
毕业后,克劳利在纽约的一家咨询公司上班,主要工作就是采访科技公司的人员,撰写市场研究报告。然而,克劳利心中的火苗还没有熄灭,他还是想创造一些技术产品。克劳利晚上经常去市里的酒吧或俱乐部和朋友们玩,当时短信息服务(SMS)还是新鲜事物,大家会整晚发信息告诉对方他们在哪里,在做什么。但是当时短信技术还处于早期,只有使用同一个运营商的手机才能相互发短信。克劳利注意到这种效率低下的情况,于是想开发一种工具,让自己和朋友以及朋友的朋友联系起来很方便,就像《哈利・波特》里面的“活点地图”,能够展示每个人的位置。

▲ 丹尼斯・克劳利

1999年,克劳利痛下决心,借来一本厚厚的关于动态服务器网页编程语言的红色大宝典。在之后的2年中,他不断尝试,越挫越勇,终于写出一些能用的代码:一个城市地图,还有一个向好友发送定位提醒的不太稳定的服务器。这足以向他和他的一小群朋友展示这个方向的潜能。克劳利的作品让他得到了Vindigo(一家制作城市导航的公司)的工作机会。

不过,克劳利的编程技能还是很糟糕。Vindigo的工程师想把他培养成“真正的C++程序员”。但几个月过去了,依然没什么成效,他们断定他“根本学不会”。于是,克劳利被解雇了。
那段时间正赶上世纪之交的互联网泡沫破裂,很多公司破产。克劳利有了大把闲暇时间,他决定继续完成自己的定位产品原型,同时决定去麻省理工学院的媒体实验室攻读研究生学位。不过他的申请被拒绝了,因为他的编程技能达不到学院的最低入学标准。同时,他还申请了纽约大学的互动电信项目(ITP),这是一个高科技项目,以招收“半路出家”的人士而出名,学生中有艺术家,也有想改行进入科技领域的人。ITP给他们提供基本的技术能力,让他们能够完成各种奇怪的小项目。

▲ ITP专业公共空间

ITP参观的时候,克劳利倍感惊喜。那里的学生都在搞一些莫名其妙的发明——“远程拥抱”机器、打印算法随机生成的诗歌的微型打印机、基于舞蹈风格展示不同LED图案的舞鞋。他们的编程水平都很一般,仅仅能够让自己的小项目基本运行,再难一些就不行了。他们不断复制粘贴各种代码片段,一点一点修改,直到满足自己的需求,然后点击编译。克劳利问他们:“你们不担心写出来的代码不好用吗?”他们的回复是:“我也不知道自己在干什么,反正就是能用了啊!”克劳利猛然醒悟,他们不就是自己的同类吗?大家都不介意自己的代码是不是最优秀的,只要把有意思的产品做出来就可以了。

2002年,克劳利加入ITP,遇到了亚历克斯・雷纳特。两人整理了克劳利的原型代码,然后用PHP编程语言重新写了1000行左右的IF—ELSE语句,分享给了ITP的其他同学。代码运行很稳定,两人不断修改,2004年终于发布了该产品。
他们给产品取名为Dodgeball”(躲避球)。不到一年时间,成千上万的都市潮人就发现了它奇特的乐趣。克劳利和雷纳特开始增加产品的功能,例如列出5个“暗恋对象”的功能,被暗恋的人可以选择性地做出回应。不久,很多专家开始思考年轻人的这种新奇行为——利用高科技公开自己的实时行踪。
2004年秋天,Dodgeball的知名度终于引起了谷歌高管的关注,他们邀请克劳利和雷纳特到谷歌位于纽约时代广场的办公楼。他们的第一个任务就是让谷歌的高级工程师对两个人进行技术面试,以评估他们的技术水平,然后检查Dodgeball的代码质量。

▲ Dodgeball

那一刻的文化碰撞甚至有些滑稽:全球顶尖的和垫底的程序员展开了对话。参与技术面试的一名程序员是出生于土耳其的奥库特・拜尤寇克顿,谷歌当时的社交网络服务就是由他开发并以他的名字命名的。克劳利回忆说,在面试中他被要求做一些经典的谷歌面试题,斯坦福大学或哈佛大学计算机专业的毕业生基本上都能完成。例如,你在曼哈顿下东城丢了一串钥匙,需要什么算法能够在所有街道寻找钥匙而不用在同一条街道上走两次。

克劳利坦白地说:“我不知道,我不太清楚你们在说什么,我没上过传统的编程课。”
面试官放弃了算法类的问题,开始询问Dodgeball产品本身。每个月运行成本多少?克劳利说出“1-9-9-9”的数字时,对方以为是每月2000美元,其实他说的是19.99美元。
经过几个月的友好沟通,谷歌工程师梳理了Dodgeball的代码,克拉利回忆说,大家的反应就是震惊,那种“烂透了”的震惊。克劳利告诉他们,自己知道代码写得不好,很低效。“很多程序员都是科班出身,他们根本无法理解那个代码是怎么写出来的。但我就是只懂这一种方法,别的我真的写不出来。”
谷歌的工程师在克劳利的产品基础上进行了编程,上千名程序员参与其中。他们优化排序算法,将运行时间从150毫秒提升至15毫秒,10倍提速。不过克劳利有一个同样甚至更大的优势:大胆而疯狂的创意,比如Dodgeball。他有一种独特的世界观,当他穿梭于酒吧时,他注意到朋友们分享他们在令人眼花缭乱的迷宫般的城市里兜兜转转的乐趣。是的,他的编程技能不到10倍速程序员的1/10,但是他开启了年轻人全新的行为模式。
Dodgeball被谷歌收购后,克劳利创立了Foursquare公司。公司员工们的编程能力远在克劳利之上。


无论你是不是世界上“最优秀的程序员”,只要产品原型足够新奇有趣,即便它真的很烂,你也忍不住想用它。



本文为陈阳老师原创文章,

转发请注明作者、出处,并来信告知,谢谢!
以上图片部分来自网络(如有侵权,请及时联系删除)

陈阳
ADU首席顾问
8年房地产行业、11年建筑设计行业、15年管理咨询工作经验

ADU 2022年线上课程

1、脱坑指南 | ADU线上管理课程重磅来袭

2、报名 | ADU管理基础课程课后作业答疑

ADU目前为设计公司提供战略、财务、

人力资源等方面的咨询服务

长按二维码添加周老师微信进行咨询与报名
企业咨询与课程报名:

微信 /手机 182 2117 7299

本文来自微信公众号“ADU咨询”(ID:wlcy102425)。大作社经授权转载,该文观点仅代表作者本人,大作社平台仅提供信息存储空间服务。