• Google 23号员工访谈录:我是如何成为一名伟大的软件工程师的
  • 发布于 1周前
  • 28 热度
    0 评论
昨天,在推文上面看到一篇关于 Google 的第 23 号员工谈论他是如何编程的文章,讲述的特别有趣,因此,决定给大家分享一下。

没错,就是图片中的这个大胡子,他的名字叫 Paul Buchheit,现如今是 Y Combinator 的工程师和合伙人。在谷歌时,建立了 Gmail 和 Adsense 的第一个原型。后来,离开谷歌加入脸书,并在那里创建了 Friendfeed,这些信息在维基百科里面都有的,大家如果感兴趣的话,可以通过为文末的链接去查看维基百科。

本文我主要把我觉得有意思的几个问题,给各位读者分享一下,希望能够帮助到你。

你是怎么开始编程的?

我记得有次在玩一个幻想 RPG 视频游戏时,才开始真正进入编程。由于我在游戏中无法找到我需要的魔法手铐「好像是这个物品」然后我想,「也许不是在游戏中搜索,我可以破解保存库存的数据文件!」。那时,我便开始编写程序来弄清楚游戏是如何存储的。然后我找到了一种可以在我的物品库存中插入任何东西「包括游戏中甚至不存在的东西」的方法。

也就是那时开始,我意识到,这竟然比实际游戏更有趣。因为游戏是把你困在别人设计好的世界里。但是可以通过编程来改变这一切,做任何你想要做的事情。使游戏的世界变成一个开放的环境,没有任何限制。从那时起,与编程相比,视频游戏似乎变得毫无意义,还浪费时间。

实际上,我可能在一年前就开始编程了,我当时买了一台带有 1M 内存的 386 并开始玩它。我找到了一个关于如何在 BBS 上编程的文本文件,以及一个只能部分工作的 C 编译器。我通过玩这些来学到了一点点。后来在 Hamfest,我发现一个二手的 Turbo C 2.0 编译器只需 11 美元,还附带一本手册。因此,我当时便有了一个正常工作的编译器和一本手册,并且开始花了几年来弄清楚它是如何工作的。其实刚开始我遇到了很多挫折,但我一直都没有放弃过。

你毕业后为什么加入英特尔?

我一直对初创公司和企业感兴趣。我记得大概 10 岁的时候,就开始在家附近进行了挨家挨户的销售,当时每卖一包贺卡就能赚 1 美元!

大学毕业后,我想在一家创业公司工作,但并不知道如何找到这么一家公司?当时,互联网上并没有太多关于创业公司的信息,但我知道它们可能会在硅谷。我选择进入英特尔工作,源于这些创业公司可能在硅谷,这也是找到它们的最佳方式。我当时还天真的想过,也许我会在硅谷的街道上遇到这些创业人士,但是从未真正发生过。

你为什么决定离开英特尔?

我后来离开英特尔,在于这份工作并不能令我感到兴奋,总感觉每天都在消磨时光,所以决定离开。

你是怎么找到谷歌的?

我很喜欢 Linux。实际上在大学之前,我就开始玩 Linux。我可以在部分损坏的硬盘驱动器上分区 60MB 的可用空间,并安装了 Yggdrasil Linux 发行版,它足以适合小型 Linux 安装,但不足以让 Emacs 成为我的编辑器。

我经常会花很多时间在 Slashdot 上阅读,来获取所有最新的 Linux 新闻。我也是在这里找到了谷歌,它当时是一个建立 Linux 机器集群的小创业公司!对我来说,什么可能比 Linux 机器集群更兴奋呢?它们的搜索依赖于 Linux ,所以他们经常会出现在 Slashdot 上。因此,我便申请了一份工作!

有趣的是,我的当时的简历邮件因为他们的邮件服务器配置错误而被退回!但是,我第二天再次发送,然后他们修复了 MX 记录,有人给我留了一个电话。我打了一个电话,然后他们邀请我参加一天的面试。

您是如何在谷歌管理个人职业规划的?

我从来没有真正关心过这个事情。我只是不想隐藏在一个无关紧要的角落里。在大学一年级,我在微软实习。在我实习的最后一天,我小组中最聪明的工程师之一给了我这样一个建议「确保他们不会让你在一个不重要的地方工作」。我一直记得这个好建议。我在谷歌的努力只是为了推出一款很酷的产品。

成为优秀工程师需要哪些技能和知识?

计算机科学几乎不同于任何其他工程学科,因为我们经常需要接触许多不同的抽象层。只能在一个层级上操作的人不算得上优秀,因为任何给定的问题通常都会与上一个问题「处于不同的抽象层次」有联系。优秀的工程师了解计算机的层级、协议及系统。

如何成为一名更优秀的工程师?

秘诀便是一直做。我在高中学习编程是,就是这么做的,幸运的是我当时没有其他事情打扰。编程是我的爱好,因此,我总会有一些想要实现的项目。我认为做很多编程是无可替代的,就算你在短时间内无法获得真正的好处。但花上个好几年就不好说了。

大学有用吗?

我认为大学是一个成长和独立的时期。我简直不敢想直接从高中就进入英特尔工作,那将会是一场怎样的噩梦。

当我上大学时,我已经有了第一份编程的工作。我和我父亲的一位朋友一起工作,他做机器维修,需要编程实现一个工业机器人,可以从料斗中取出金属棒并将它们放入研磨机中。我从中学到了很多东西,之前我真的不认识任何会编程的人;直到进入大学才认识了这么多优秀会编程的人,因此,我便开始向他们学习。

从这几段对话中,我们可以知道他从小开始编程,读大学前特别喜欢 Linux,在网上看到当时的小公司 Google 用 Linux 做集群服务器,很酷,就去应聘了。24 岁便开始在谷歌写邮件服务器,便有了后来的 Gmail。这一切的一切源于兴趣,秘诀便是一直不停的写。

也正如我之前的文章所说的,大学并非无用,因为只有在大学里才能遇到跟你一样真正喜欢编程的人。编程的这条道路,没有捷径可走。我们唯一能做的便是一直写下去。。。

用户评论