Joel Spolsky在耶鲁大学的演讲

2023-10-10 06:32

本文主要是介绍Joel Spolsky在耶鲁大学的演讲,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Joel Spolsky是一个美国的软件工程师,他的网络日志"Joel谈软件"(Joel on Software)非常有名,读者人数可以排进全世界前100名。

bg2007121201.jpg

上个月28号,他回到母校耶鲁大学,与计算机系的学生座谈。他发表了一个演讲,回顾自己的人生经历,并总结了一些个人的体会。

我读完他的演讲稿,很受触动,觉得他的人生体会非常具有启示性。这篇演讲非常长,分为三个部分(一、二、三)。下面是其中的一些精彩段落,共有四段。

(更新:此篇演讲的全文收录在我翻译的《软件随想录》一书,人民邮电出版社,2009年出版。)

一、大学里最有用的课程

Joel说,他在大学里上过的最有用的课,是一门他只上了一回、然后就再也没有去过的课。

由于父母都是大学教授,亲戚朋友都是学术界里的,大多有博士学位,所以Joel从小就认定自己也会去读博士,将来搞学术。可是,有一门课程改变了他的想法,使他最终没有去报考研究生院。

这门课程叫做"动态逻辑"(Dynamic Logic)。在第一堂课上,教授证明了一个命题。假定有一个程序"f := not f," f是表示真假的逻辑值,那么结论是程序运行偶数次后,f的值保持不变。整个证明过程非常冗长,要花几个小时讲解,一共有几十步。课后习题则是,证明如果f值保持不变,那么程序必然运行了偶数次。

课后,Joel花了很多时间做题,还去图书馆借来了参考书。但是,他逐渐感到这样做没有意义:用大量琐碎的、容易出错的步骤,去证明一个凭直觉就能认定成立的命题,这不是一个富有实效的工作方法。在Joel看来,计算机更应该用来解决错误,而不是让人们陷入逻辑的陷阱,去产生错误。(I decided that this Dynamic Logic stuff was really not a fruitful way of proving things about actual, interesting computer programs, because you're more likely to make a mistake in the proof than you are to make a mistake in your own intuition.)通过这件事,他认识到,自己不适合做纯思辨性的学术研究。因此,他就退掉了这门课,并且以后也没有选择去上研究生院。

Joel认为,就是这门只上了一次的课,恰恰成为了他在大学中上过的最有用的课,因为它帮助他选择了正确的人生道路。

所以,Joel的第一个结论是:人生中重要的,是关注那些真正的问题(real problem),而不是陷入那些没有意义的琐碎问题(trivial problem)。就像苏格拉底说的,"认识你自己"。

此外,Joel说,还有一门叫做CS 323的课,也很有用。这门课有大量的课后习题,都是关于编程的,平均每星期要花40个小时来做题。

Joel发现他能够做出大部分的题目,更重要的是,他发现自己喜欢做这些题。这样一来,他就明白自己是适合编程的。另一方面,很多其他学生对这门课感到无比头疼,觉得编程既枯燥又痛苦,每周40小时做这种题简直是一种刑罚。这些人于是明白,虽然同样是计算机系的学生,但是他们并不适合编程。这是一件好事,因为这样他们就避免了以后选择错误的职业。否则,让一个不喜欢编程的人,一生都与程序打交道,这是多么悲惨的一件事啊!

二、在Viacom的日子

毕业以后,Joel先在微软公司干了一段日子,然后回到纽约,进入维亚康母公司(Viacom),为这家巨型的娱乐传播公司编写软件,成为IT部门里一个程序员(in-house programmer)。

后来,Joel回忆起来,认为这是他一生中最痛苦的日子,并且劝告计算机系的学生尽可能不要去做"in-house programmer"。

原因有三个。

首先,你永远没有办法正确地编写软件,你不得不用最方便的方法编写软件。因为软件支出非常高昂,所以公司会要求尽可能节省成本,你不可能试用新技术,只能使用现有的最成熟、最保守的技术。

其次,你没有办法将一个项目做到尽善尽美。一旦程序可以正常运行,你的工作也就结束了,可以接下去干公司的下一个项目了。你的作用是解决问题,而不是将软件写得尽可能好。如果你是在一个专业的技术性公司,比如Google或Facebook,情况就完全不一样,你的软件写得越好,公司就会越成功,所以公司会支持你在一个项目上不断做下去。

最后,传统公司IT部门里的程序员,只属于公司内部的维护人员,而不是直接从事核心业务的人员。因此,你永远办法进入管理层。但是,在技术性公司,程序员会变成CEO。

因为这三个原因,Joel觉得in-house programmer不是一个好的职业,不幸的是,80%的程序员属于这一类,年复一年,很多人的生命就是这样被耗干的。(it's frightening because this is what probably 80% of programming jobs are like, and if you're not very, very careful when you graduate, you might find yourself working on in-house software, by accident, and let me tell you, it can drain the life out of you.)

Joel的第二个结论是:选择职业时,不要只考虑职位是否专业对口,应该尽量选择业务方向与你专业相同的公司。

虽然,维亚康母公司(Viacom)口头表示很重视互联网,但是,分配给程序员的工作间,总是很小的屋子,光线黯淡,而且还用搁板分割出小间,供三个人使用。经理们各自的办公室则完全不同,都有大玻璃窗,可以俯视哈德逊河。

在一次公司内部的圣诞晚会上,Joel见到了负责互联网战略的执行董事。Joel问他,公司打算怎么使用互联网,后者只是泛泛地说,互联网很重要,这是未来的发展方向。Joel感到很失望,他相信这个执行董事其实对互联网毫无认识,只不过是人云亦云。说到底,这个董事对这一切可能根本无所谓,反正他每年都有200万美元的年薪,保持现状就是最好。对他来说,Joel就是一个打字员似的"写网页的人",Joel做了什么和工作中的付出,他并不关心。(It convinced me that he had no flipping idea whatsoever what it was that was happening and what the internet meant or what I did as a programmer, and he was a little bit scared of it all, but who cares, because he's making 2 million dollars a year and I'm just a typist or "HTML operator" or whatever it is that I did, how hard can it be, his teenage daughter can do that.)

所以,Joel决定辞职了。

三、管理人员的作用

离开维亚康母以后,Joel进了一家叫做Juno Online Services的互联网公司,这家公司提供网上免费电子邮件服务。那个时候是90年代中期,hotmail和gmail都还没有成立。

作为程序员,Joel在这里工作得很愉快,但是公司本身的经营却不成功。虽然是一家互联网公司,但是,Juno Online Services完全采用传统的"从上至下"的管理方式,就是领导想出来一个主意,然后命令程序员负责实现,结果就是对技术细节一无所知的人,决定了一切。

这同硅谷的方式完全不同,在那里,管理人员只负责创造一个良好的工作环境,然后让真正的聪明人把东西做出来。(What I was used to from the west coast was an attitude that management is just an annoying, mundane chore someone has to do so that the smart people can get their work done.)硅谷公司内部的运作更像大学里的学术讨论会,会议主席的作用只是主持会议而已。

Joel的第三个结论是,公司管理层的作用就是搬动家具、清理出空间,让有才华的研究人员做出一流产品。(Managers exist to get furniture out of the way so the real talent can do brilliant work.)

Juno Online Services经营得不成功,以及对员工才华的不尊重,使得Joel在2000年下定决心,不再为别人打工了,开始创业。

四、表达能力的重要性

在创业之初,Joel并不知道该去做什么。他看到许多很蠢的人,拿着很蠢的商业计划,开办互联网公司。他想,这样的公司都能开出来,那么我也能开公司,只要我比他们少蠢10%就可以了,我要按照我的想法来管理,对每一个程序员都给予最大的尊重,那样就有机会做出高质量的产品。我们不关心风险资本家怎么说,也没有高高在上的领导,我们只关心客户的感受,用软件解决客户的问题,从而获得报酬,生存下去。(In those days, I was seeing lots of really dumb people with really dumb business plans making internet companies, and I thought, hey, if I can be, say, 10% less dumb than them, that should be easy, maybe I can make a company too, and in my company, we'd do things right for a change.) We'd treat programmers with respect, we'd make high quality products, we wouldn't take any shit from VCs or 24-year-olds playing President, we'd care about our customers and solve their problems when they called, instead of blaming everything on Microsoft, and we'd let our customers decide whether or not to pay us.)

在这种想法的鼓励下,Joel创办了Fog Creek软件公司。

从创业之初,Joel就开始将自己的想法和遇到的事情,写成文章,发表在互联网上。当时还没有Blog这种东西,但是他其实已经在写了。Joel慢慢发现,他的文章真的有人看,并且读者越来越多,其中很多人最终都接受了他的想法。实际上,Joel写的很多东西都不是原创性的,其中还时不时包括一些笑话,但是读者不在乎,"Joel谈软件"成了一个热门网站,平均每篇文章都有几十万、甚至上百万的读者。

这对Joel的创业帮助极大,Fog Creek本来是一家无名的小软件公司,但是由于很多人读Joel的文章,因此他们也了解并且相信Joel的公司。这使得Fog Creek从创业的第一年起就是盈利的,并且每年都在发展。

Joel将创业的成功,部分归功于他在大学里受过的写作训练,那时有一个教授每周都要布置写论文,并且对平庸的文章恨之入骨,不给学分。这使得Joel学会了将复杂的话题说得清晰易懂,并且引人入胜。

因此,Joel的第四个结论是,一个普通工作人员和一个领袖之间的差别,就是有没有良好的表达能力。(Being able to write clearly on technical topics is the difference between being a grunt individual contributor programmer and being a leader.)

(完)



这篇关于Joel Spolsky在耶鲁大学的演讲的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

沸点 | LDBC 第18届 TUC 会议召开,专家孙宇熙受邀参加并发表演讲

图数据管理领域国际权威组织LDBC(Linked Data Benchmark Council)于8月30日至31日在广州举办了第18届LDBC TUC会议。作为图数据库领域的创新引领者,嬴图受邀参加此次盛会,国际高性能计算与存储系统专家、大数据专家、图专家及嬴图CEO Ricky (孙宇熙)在会议上发表了重要演讲。 LDBC TUC会议是LDBC重要的会议之一,每年都会聚集全球图数据库领域的专

李沐在上海交通大学的演讲回顾:大语言模型的现状与未来

引言 近日,知名人工智能专家李沐回到了母校上海交通大学,并进行了题为“大语言模型的现状和未来”的演讲。这次演讲不仅回顾了大语言模型的发展现状,还分享了李沐在创业过程中积累的经验与见解。本文将对李沐的演讲内容进行全面梳理,探讨大语言模型在算力、数据、算法以及多模态领域的进展与挑战,并分享他对AI未来发展的独到见解。 1. 大语言模型的现状 1.1 算力的发展与挑战 李沐在演讲中指出,大语言模

耶鲁大学《博弈论》公开课笔记

关于本文 该文章基于本人于当天白天看完耶鲁大学《博弈论》公开课后,于当晚记录下依然记得的白天所听内容。该文章为汇总,时间为记录一年后。 目录 关于本文2023.3.18 P103.19 P113.20 P123.21 P133.22 P143.23 P153.24 P163.25 P173.26 P183.27 P193.28 P203.29 P213.30 P223.31 P234.1

解析云上实时数仓的挑战与实践 | Databend @DTCC 2024 演讲回顾

8 月 22 日 ~ 24 日,由 IT168 联合旗下 ITPUB、ChinaUnix 两大技术社区主办的第 15 届中国数据库技术大会(DTCC2024)在北京朗丽兹西山花园酒店成功召开。本次大会以“自研创新 数智未来”为主题,通过深度交流与探讨,推动数据库技术的自主创新和数智化转型。 作为一家技术领先的数据仓库服务商,Databend 也在本次大会亮相。Databend 联合创始人吴炳锡在

太极股份PMO李雅青受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 太极计算机股份有限公司国防与公共安全集团BG PMO李雅青女士受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾,演讲议题为“转型PMO,项目经理的两次转身与拾阶而上”。大会将于10月26-27日在北京举办,主题为:“站上项目之巅”,将特邀知名企业优秀PMO、项目经理来和大家交流企业项目经理人才培养体系建设,讲述站上

演讲一阳指

演讲一阳指 开场白-首因效应 首因效应,指交往双方形成的第一次印象对今后交往关系的影响,也即是“先入为主”带来的效果。 最有效率的开场白 最应景的开场白-天气,季节等 最为温暖的开场白-感谢祝福 最厚重的开场白 最具悬念的开场白, 最幽默的开场白-自嘲,幽默 最中听的开场白-赞美 最具可信度的开场白-数字 主体: 1、三点论 首先,其次,再次 第一,第二,第三 三局诗词,三个成语,三

史蒂夫·乔布斯1983年阿斯彭演讲 | 计算机的未来与我们的生活目标

在四十年前的1983年,苹果公司创始人史蒂夫·乔布斯在阿斯彭国际设计大会上发表了一场具有历史意义的演讲——《我们的生活目标》。尽管当时苹果公司刚刚起步,Mac还未面世,但乔布斯凭借他对科技的深刻洞察,展望了未来计算机的巨大潜力。这次演讲不仅揭示了乔布斯对计算机、互联网和人工智能的远见卓识,还在某种程度上预见了当今技术的发展,如个性化推荐系统和Google地图等。 1. 计算机的本质与设计的重要性

神州数码解决方案中心总经理韩秋泉受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 上海神州数码信息技术服务有限公司解决方案中心总经理韩秋泉先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾,演讲议题为“AI时代项目经理能力模型优化”。大会将于10月26-27日在北京举办,主题为:“站上项目之巅”,将特邀知名企业优秀PMO、项目经理来和大家交流企业项目经理人才培养体系建设,讲述站上项目之巅一路打

演讲的注意事项

前两天,十期的师哥师姐为我们的设计模式学习进行了讲解,师哥师姐们为了给我们讲课很用心,我们期的同学们也听的很投入。历时三天的设计模式学术交流讲课很成功,我们收获很多。在此、再次感谢师哥师姐们的辛苦付出。       师哥师姐的课,让我想到了很多。对于这么多的听众,如何才能讲好一堂课呢?我有一些浅陋的看法,跟大家分享,说的不足之处,请大家留言指正或来信与我交流。我的邮箱是:qu

【转】俞敏洪演讲:度过有意义的生命

6月2日,新东方教育科技集团董事长兼首席执行官俞敏洪,莅临同济大学,为同济学子做主题为“度过有意义的生命”演讲。 同济大学的同学们大家晚上好!   其实人活着就挺好,至于生命有没有意义另当别论。活着每天都会有太阳升起来,每天都会看到太阳落下去。你就可以看到朝霞,看到晚霞,看到月亮升起和落下,看到满天的繁星,这就是活着的最美好的意义所在。   没想到同济大学的同学们把我如此“高大”的形