池建强的公开课

讲讲咱互联网行业自己的故事

个人成长,观点,认知, 软技能

池建强 极客时间创始人、墨问西东创始人

第181期 | Adobe创始人沃诺克:写代码时切勿纠结

讲述:池建强 大小:6.89MB 时长:00:08:12
00:00
1.0×

你好,这里是卖桃者说。今天咱们讲互联网人物故事,主人公是 Adobe 创始人约翰·沃诺克(John Warnock)。

Adobe 是美国知名的软件公司,创立于 1982 年。像图片处理软件 Photoshop、Lightroom,视频编辑软件 Premiere,曾经统治网页动画的 Flash 播放器插件等耳熟能详的软件,都是这家公司的手笔。2019 年 10 月,Adobe 还入选了《财富》杂志“2019 未来 50 强榜单”,目前 Adobe 的市值是 1600 亿美元。

作为 Adobe 的联合创始人,约翰·沃诺克带领公司从车库起家,从零开始,一步一步成就了今天的伟大。不管是对 Adobe 还是对软件世界,约翰·沃诺克都做出了不可磨灭的贡献。不过,时间再往回倒几十年,如果不是特别的缘分,约翰·沃诺克当初差点就去大学做数学教授去了。

故事得从 1963 年说起。

那一年,沃诺克即将拿到犹他大学数学硕士学位,原本打算去大学教数学,但因为暑期工作找得太晚,最终只找到了一份翻新轮胎的体力活儿。那份工作又热又脏,而且环境嘈杂不堪,干了三周后沃诺克终于回过神来:明明自己有数学硕士学位,可以做些脑力劳动,为什么要在这里干苦力呢?

于是,沃诺克辞掉工作,前往 IBM 公司求职,通过层层面试,最终得到了一份薪水不错的工作,IBM 还把沃诺克送去西雅图和洛杉矶接受系统工程师培训。至此,沃诺克算是正式进入了计算机行业。

不过这份工作做了没多久,沃诺克决定回犹他大学继续学习数学,攻读博士学位。很明显,沃诺克对数学的热爱深入骨髓,他觉得解决数学问题的过程总是那么让人兴奋,甚至庆幸自己没有过早接触计算机。多年后他在接受采访时还在感慨:

“我相信在数学、英语和基础科学方面拥有坚实的基础极为重要,等到读研时,可以尽管放手去学习计算机知识。如果你真想取得成功,先适应社会其他领域,然后再进入计算机行业,这才是更为可取的成功之道。”

读博士期间,沃诺克组建了自己的家庭,他意识到自己必须要找一份像样的工作养活自己了。于是,他就跑到犹他大学的计算机中心打工,为大学其他科系服务,比如搭建学生注册系统等等。一天,一名计算机科学系的学生向沃诺克请教消隐问题,沃诺克对这个问题产生了浓厚的兴趣,并把自己想到的方法写成代码,这个方法不仅成功解决了问题,还大大减少了计算量。计算机科学系立即拉他入伙,就这样,沃诺克从数学系转到了计算机系,并跟着团队一起到全国各地做报告,分享他在消隐问题上的编码方法。

1969 年,沃诺克把这个方法写进了博士论文里,也就是后来大名鼎鼎的“沃诺克算法”。

现在看来,沃诺克加入计算机系有很多偶然的成分,如果当初没有这个消隐问题,一切会不会是另一番景象呢?很多时候,人生中的某些选择和决定,在那一天看起来都普普通通,对于未来,却是命运的剧变。

拿到计算机科学博士学位后,沃诺克决定创业,他觉得创业是一件很有意思的事情。但第一次毕竟没有经验,他和团队冥思苦想,想象这个世界可能会用到什么东西,应该选择哪个创业领域。于是,他们得出了应该进入服务业的结论,决定打造一款电子打印机,但这个想法并没有得到资本的认可。

他们很快又想到了个更传统的商业计划:建立一个配有文档编写软件的工作站,连接有激光打印机和排字机,同时销售文档系统。经过几个月的尝试后,他们发现这个计划必须构建整个业务链,于是也停掉了。创业本就是一件九死一生的事情。和许多连续创业者一样,沃诺克在创业的过程中踩了好几个坑,但这些挫败都没有打倒他,最终迎来了属于自己的时代。

1982 年,沃诺克和查尔斯·格什克(Charles M. Geshchke)在一个车库里一起创立了 Adobe 公司,并推出了公司的第一款产品 PostScript 打印技术,该技术一经问世,便在业界形成了强烈的反响。乔布斯当时甚至还花 250 万美元购买了 340 万股 Adobe 的股票,这也让 Adobe 成为了在硅谷历史上第一家在创立第一年就实现了盈利的公司。1986 年,Adobe 在纳斯达克上市,从此一路高歌猛进。目前,Adobe 的市值超过 1600 亿美元。

Adobe 为这个时代贡献了太多优秀的软件,除了开篇提到过的 Photoshop、Premiere、Flash,还有 After Effects、Audition、Dreamweaver 等等。毫无疑问,沃诺克是一个成功的创业者。他在早期接受采访时曾分享过自己的成功秘诀,“要想创业成功,你必须找到一拨才华横溢的人,并且,这些人的技能可以很好地融合互补”。作为管理者,即便你再优秀,也没办法三头六臂事事亲为,很多时候应该学会适当地放权,让合适的人去做合适的事,反而效果会更好。

沃诺克对于好程序也有自己的看法。他认为,好程序在于它能保持平衡,而不是靠什么奇技淫巧。程序员好比是厨师,执行特定任务就像是从一堆食材中选出几个组合在一起烹饪,懂得巧妙搭配食材才称得上是好厨师。把程序各个部分妥善组合在一起,才是成就优秀计算机程序员之道。

最后,分享几个沃诺克的编程习惯和心得:

1.编写代码前深思熟虑,编写时不纠结。

在动手做任何事情之前都要深思熟虑,一旦开始做事,就不要纠结。写代码就像写一本书,对待一段代码就像对待一本书里的烂章节那样,千万不要过分迷恋一个想法,该放手时就放手。

2.眼界放宽,并保持一定的自由度。

不要早早被自己设计的程序束缚住,眼界放宽一些,最好定期出点结果,小步快跑。在编程过程中,时间可以设置的宽松一些,保持一定的自由度,到最后阶段再加快速度。

3.选择的编程工具越多,越容易犯错。

现在几乎很少有人用文本编辑器写代码了,至少也是 Vim 和 Emacs,更多的时候我们会借助各种框架和工具编程,这样既节约成本,又提高编程效率。但选择越多,意味着犯更多错误的可能性也就越大,再强大的工具,最终起到的也只是辅助作用。

你对编程有哪些自己的心得呢?欢迎在留言区分享,一起学习交流。

卖桃者说,明天见。

(编辑:夏天)