从一个卡车司机到 38 岁成为 Ruby on Rails 开发者 [译]

我们常见的访谈往往关注那些明星或者公众人物,但我更倾向于挖掘那些默默无闻,却在各自领域默默付出的普通人。

这个博客的目的就是要突出这些人的故事,通过他们的经历分享一些难能可贵的人生经验。他们或许不会登上大型杂志的封面或成为热门播客的嘉宾,但他们的经历和背景同样值得我们关注。

这篇文章讲述了 Pedro David Garcia Lopez 的转变故事,他在 38 岁高龄从卡车司机转职成为了一个 Ruby on Rails 开发者,挑战了业界对年龄的固有偏见 (完全是无稽之谈!)。Pedro 的经历在 LinkedIn 上激励了我。

我希望你能从他的故事中感受到:追梦无惭年华,尤其是编程学习这条路。正确的方法可以开启无限可能。

现在,让我们一起了解 Pedro 的故事,希望它能为你带来启发。

图 1: Pedro David Garcia Lopez

Pedro David Garcia Lopez 的照片
Pedro David Garcia Lopez 的照片

Q. 你可以简单介绍下自己吗?

我是一名 42 岁的西班牙人,2015 年我移居英国,现在我决定回到故乡,因为对我来说,家庭是生活中最重要的。

2015 年我以卡车司机的身份来到英国,这是个不容易的决定。由于工作的关系,我在英国的时间甚至超过了在家的时间,每个月只能回家大约 4 到 6 天,其余时间都在开车,穿梭在英国与欧洲其他国家之间。我选择移居英国,是希望寻找新机会,并让我的女儿也能同样受益,同时,我也希望能更好地学习英语,这一点我还在持续努力中。

作为一个职业司机,我曾驾驶过各类车辆,至少一次造访过每一个欧盟国家。实际上,我开的里程已经足够环游世界好几圈了。

转为开发者后,我第一次接触到 Ruby 和 Ruby on Rails 就深深爱上了这两种技术。我打算一直使用它们,因为在我看来,没有其他技术能在让开发者感到快乐和提升生产力上与它们相提并论。我之前也试过 PHP 和各种 JS,但都不如 Rails 和 Ruby 来得让人满意。

我自认为是一个全栈开发者,擅长 CSS,并且在前端设计上有着精致的关注力和一定的 UI/UX 设计感知。当然,这些技能还有很大的提升空间。我也热衷于后端开发工作。可以说,我是一个技能广泛的开发者 😜。

Q. 你是如何开始编程的?

这是一个极好的问题,涉及的内容也非常丰富。

我第一次接触到电脑是在我约 12 岁的那个夏天,当时参加了一个打字课程。那时我们从更先进的设备转向使用电脑,偶尔会操作 MS-DOS 或 Windows 3.1 系统。那时起,我就对这些神奇的机器着迷了。

虽然来自一个条件普通的家庭,拥有自己的电脑几乎是不可能的。更不用说在我 14 岁那年父亲去世后,我不得不同时工作和学习来支撑家庭,拥有一台电脑的希望简直如同海市蜃楼。 但我对电脑的热爱始终未曾改变,我抓住一切机会在学校或图书馆接触电脑。

直到 18 岁,我开始了全职工作,并在三个月后存够了钱买下了我的第一台电脑,一台奔腾 II。拥有了自己的电脑,我开始渴望学会编程。

奔腾 2 Windows 98 复古电脑
奔腾 2 Windows 98 复古电脑

图片版权:Midnight Geek (YouTube)

我买了一本关于 C++ 的书,尝试自学,但书本太过深奥,我几乎一头雾水,无法应用到实际中。之后,生活的种种压力让我暂时放弃了编程。

虽然我后来成了一名卡车司机并移居英国,但我对电脑的热情从未减退。

随着英语水平的提高和信息的易得性,我小时候的梦想又一次来敲门。

我在 YouTube 上观看了一些课程,学习了 HTML、CSS、JS 等基本技能,也尝试了 freeCodeCamp 上的一些更系统的课程。但因为工作和家庭责任繁重,我始终难以找到成为开发者的时间和机会。

在投入多年精力工作和照顾家庭后,我决定追求儿时梦想,成为一名开发者。我毅然辞去了稳定的工作,给自己定下一年的期限,要么成为开发者,要么放弃这个梦想。

2019 年 9 月,我的冒险之旅启程。面对众多选择:Python、JavaScript(那时非常流行)、C#、PHP、前端、后端、DevOps,我感到无从选择。如果选择错误,一切努力可能都白费。

于是,我选择了 Python,并在 Udemy 购买了一些课程(实在是太多了!)来学习基础知识。虽然这次的学习经历比学习 C++ 要好一些,但我发现自己虽能跟随课程,却难以独立创作。很快,我意识到这条路行不通。

当信心开始动摇时,我通过研究了解到了编程训练营的概念。在权衡了各种昂贵的选择后(所有选项都很贵 💰),我决定加入 Flatiron School。如果你在完成课程后无法找到工作,就无需支付学费。这种情况让我感觉我几乎没有什么可失去的。

在那里,我学习了 Ruby 及其基础知识,并通过系统的方式学习软件开发,从 Ruby 和 Sinatra 到 Ruby on Rails 和 React,这一切都得到了老师和同学们的支持,加之良好的作业和练习,使我不仅能学习,还能创造新事物。

在完成我的第一个项目后,我感到前所未有的自豪和成就。到了 2020 年 5 月底,我从课程中毕业,深感自己真正有能力做到。我不仅学到了很多,而且还学会了如何解决问题和独立学习新知识。

顺便说一句,你还记得 2020 年发生了什么吗?对,就是 COVID-19 疫情。

在那样的环境下,我不得不开始寻找新工作。由于封锁措施仍在,缺乏面试和人际交流的机会,一个 38 岁刚从训练营毕业、没有相关工作经验的我,并不是企业所期待的理想候选人...

即使得到 Flatiron 的研究生支持,我仍然面临着不少困难。数月来无一面试或来电;我对自己的简历是否只是废纸一张感到非常焦虑,但我内心的信念未曾动摇,对未来的憧憬比以往任何时候都要热切。我不想再回到司机的生活。

最终,在曼彻斯特出现了一个机会,那里离我家两个小时火车程(不允许在家工作),薪水只有当货车司机时的三分之一,火车票几乎花去了我大部分的收入……虽然工作涉及 PHP 和 jQuery,但这些都阻挡不了我,因为追求梦想是我的选择。我毅然接受了这份工作,生活总得有个起点,我深信只要努力,没有什么是不可能的。

Q. 你是如何及何时开始接触 Ruby 和 Rails 的?最让你着迷的它们的特点是什么?

我的 Ruby 和 Rails 之旅始于一次 Bootcamp,之后在 Superbyte 的实际工作中得到了深化。

在 Superbyte,虽然我们用的是非主流技术栈(Mongoid 加上一些 React),但这段经历让我大有收获。

通过在 Ruby on Rails 的实战中磨炼,我的热情愈发高涨。一旦你熟悉了它的操作规范,一切难题似乎都迎刃而解。其强大的社区支持和不断进化的生态系统,是我最为赞赏的两大优点。

我正从 React 转投 Hotwire 生态系统,这种转变让我能以更纯粹的 Rails 方式来解决问题,感觉就像呼吸到了一股新鲜的空气。

Q. 对你影响最大的五本编程书籍,以及原因?

在我职业生涯的初期,由于缺乏时间和热情,我很少接触技术书籍。直到后来,我发现自己在许多领域都有所欠缺,这才慢慢开始阅读。还有许多书籍等待我去探索。

以下是我影响较大的几本书,排名不分先后:

随着我的视角和认知不断成熟和演进,我认为有必要回头再看这些书。我正处在一个不断学习和探索的旅程中,这些原理是其他传统背景的同行早已熟知的,而我还在逐步发现。

Q. 你的编程英雄是谁?

我特别敬佩那些不仅拥有编程才能,还热衷于此道并乐于分享知识经验的人。他们的无私奉献,愿意向编程社区传授智慧,促进大家共同进步,让他们在我心中成为真正的英雄。

特别感谢 Quincy LarsonfreeCodeCamp,以及所有像你一样不辞辛劳地分享内容的创作者们。

个人而言,我在 Flatiron School 的老师 Avi Flombaum给予了我很大帮助。他不仅在博客上分享优质内容,还在工作中教会我成为更好的开发者和人。

Q. 你作为一个开发者的典型一天是什么样的?你最喜欢你当前工作的哪个部分?

我曾在多种工作模式下经历过职业生涯初期,从全职在家工作到混合模式,再到一周五天的常规办公室工作。

随着我计划回归西班牙,我即将在 gocertify 开启全新的远程工作生涯。我的日常工作可能会有所变化,目前还不太确定。

在 Superbyte,我从一个初级开发者成长为中级开发者,我的工作涉及编写代码、设计概念以及一些研发项目。

编程是我的主要工作,但偶尔我也会与同事进行配对编程,审查代码。教学让我获益良多,因此我总是乐于与同事分享新思路或相互学习。

Q. 你推荐哪些资源和方法来学习及保持信息更新?

学习的艺术。

人各有异,学习和记忆的方式也不同。

建议你掌握学习的技巧,找到适合自己的学习方法。我通常通过实践或者观看教程后尝试实操,并在感兴趣的领域中尝试超越教程。对于书籍,我会先泛读一遍,不涉及编程,之后再将其作为参考手册来用。

记住,不必学习所有东西。不是每个人都需要全知全能。专注于你感兴趣的领域,这比浅尝辄止地学习多个领域要有效得多。

Q. 对新手程序员有何忠告?

未提出的问题才是愚蠢的问题。

要勤奋工作,勇于提问。没有提出的问题,就是最愚蠢的。不要自卑,也不要担心自己所知甚少。每个人都有过相似的经历,继续前进就对了。

尝试学习 Ruby 和 Rails,你会发现,一旦过了初学阶段,它们非常有趣并容易上手。

找到一个愿意帮助你成长的导师也很重要。这里有一个不错的资源可以利用:https://firstrubyfriend.org/

对我而言,一切都源于热情;它起初是我的爱好,现在则是我的职业。

“找到你爱的工作,你就再也不觉得自己在工作了...”— Winston Churchill   

Q. 日常工作中你偏爱的工具有哪些?

  • 代码编辑器: VS Code (Visual Studio Code)
  • 数据库界面: MongoDB Compass
  • 终端: iTerm with ‘oh my zsh’
  • 浏览器: Chrome
  • 笔记与项目管理: Apple Notes, VScode markdown, Github projects/issues
  • 通讯工具: Microsoft Teams.

Q. 与您联系的最佳方式是什么?

我不经常使用社交媒体,但我经常查看 LinkedIn。

最近我发现我的旧个人网站因为免费主机服务终止而无法访问了。我计划用 Ruby on Rails 重新建立它,并启动我的新博客 www.lorrydriveloper.com,希望不久后你能看到它。


以上就是全部内容。希望这次访谈对您有所帮助。

如果你有任何疑问或者想反馈,或者是有什么不懂的地方、发现错误,请在下面留言或者直接给我发邮件。我会回复每一位开发者的邮件,非常期待你的回复。

如果你想通过邮件获取更多最新文章,不妨订阅我的博客。我们郑重承诺,你的邮件地址仅用于发送文章,绝不会被共享、出租或出售。如果你已是订阅者,感谢你的支持。