V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Aceyclee
V2EX  ›  Serverless

我是如何在四年时间里,从厨师转行为 Serverless 应用开发者

  •  
  •   Aceyclee · 2020-02-06 15:26:35 +08:00 · 4209 次点击
    这是一个创建于 1782 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ▎本文系译文,原作者为 KieranMcCarthy,译者 Aceyclee


    我的软件开发入行经历非常有趣 —— 我一开始其实是厨师。

    我在高中时就喜欢烹饪和烘焙,用不同食材的搭配去做出美味的食物,就像个科学怪人。我的家乡在爱尔兰,我的第一份工作也在那里,这是我第一次真正在厨房为人们提供食物,当然还有数不清的盘子要洗。

    一位前辈教了我如何制作香蕉太妃派,又简单又美味,让我感到惊喜。当时,我开始在在家中制作些小点心赚取外快。

    那时候我从学校搬了出来,在搬到新住处后,我在工作的餐厅和城区的家之间往返很不便。于是我决定在餐厅做兼职,另外找一份咖啡店的工作。

    同时打两份工有时会让人疲惫不堪,我还要兼职烘焙,希望开家小面包店。那段时间我很辛苦,要在餐厅上早班,然后在咖啡店上晚班。在我回家的路上,我的朋友会帮忙做一些吃的,他正在学做饭,时不时问我手边的食材可以做些什么。

    我当时绞尽脑汁地在想,比起发短信或者打电话,或许我可以直接做一款 app,当我的朋友输入食材名称,就能自动跳出来相应的食谱。这能有多难呢~

    于是我就开始学习如何构建一款 app。

    从厨师到开发者

    那是 2014 年夏天,我很快意识到自己甚至不知道从何入手。我应该学习哪种语言?我应该在哪个平台上操作? Web 还是移动端?什么是前端和后端?天呐!

    我随大流报了个 Code Academy (编程学院),开始学习 Web 开发,以及开发者的思维模式。这为我打开了一个新世界!(好吧,可能并没有什么特别的,但是你应该明白我的意思。)

    胡乱摸索和尝试构建静态网站,让我们对移动 app 及其构建方式感到疑惑。我参加了一个 Udemy 在线教程学习 Java,并在 Android 上进行操作。一开始真的很难,让屏幕显示「 Hello World 」是让我颇有成就感。

    但是我非常想学习如何编码,所以奋力前行。

    完成 Java 课程后,我构建了自己的第一个 app,并将其上架到 Play Store。(虽然它并不是给我朋友使用的应用,哈哈!)

    我感觉还有很多东西可以学习,不想只停留在移动设备上。我的脑海里浮现出各种各样的问题,比如「我如何连接到其他设备?」「什么是服务器?它们的功能是什么?」「什么是云……为什么称之为『云』?」等等。

    所有这些问题都可以通过 Google 找到答案。因此,我给自己设下了一个任务,学习有关服务器的知识以及如何针对服务器编写代码。我开始采用 PHP 构建简单的后端应用,从移动测试应用、Web 窗体和 curl 命令获取数据。

    这个时候我开始感觉自己入错行了。我学习和构建的东西越多,我对烹饪的兴趣就越少。

    我想成为一名开发者。我想创造出与众不同且具有创新性的事物。但是我没有计算机科学专业的学位,也没有全日制学位(我大二就辍学了)。但是我确实想成为一名开发者。

    我花钱参加了 Java 认证,希望自己的简历能被看重。尽管第一次失败了,但是第二次通过了。我非常开心,这可能是我成为一名真正开发者的敲门砖!

    开始求职

    我把这份认证放入自己的简历中,然后发到了招聘网站。但是一无所获……「我们需要的是一个有学位的人」「一个有经验的人」「一个有硕士学位的人」。我开始认为自己没什么「竞争力」。虽然我感到有些沮丧,觉得自己没有学位、也没有钱去取得学位,所以永远无法找到工作,但我决定在 Udemy 上学习更多的课程。

    我把从 Udemy 学到的东西一股脑儿都写到简历中。我为自己的努力感到骄傲,为什么不把它们放在简历里呢?功夫不负有心人,我接到了爱尔兰一家 IT 咨询公司的面试。我的梦想成真了!

    我怀着激动和忐忑的心情进入了另一个世界。我希望做好这份工作,我总是主动要求多做些事情,并参与更多的项目。我负责将 PHP 应用从本地迁移到云。某种程度上算是学习!这些应用必须更新为 PHP7,我们需要实现 DevOps,而我首先需要了解 AWS。

    我买了一本叫做《 The Phoenix Project 》的书来了解 DevOps,还买了 ACloudGuru 的 Developer Associate 课程来学习 AWS。我爱上了云和 DevOps。它们太有意思了!在花了很多时间来学习所有与工具有关的知识后,项目变得容易很多,并最终取得了成功。我们不仅成功迁移了应用,还创建一个框架,框架中规定了相关的步骤,便于我们以后遵循这些流程来进行迁移。

    就这样,我们建立起了一支创新团队。我们希望通过提出创新的想法来让办公室更智能。我负责收集智能桌台预订服务构想所需的堆栈:这是我们办公室的一个实时数据馈送,它将向员工展示带客户进来的最佳时间、员工自己进来的最佳时间,或者他们是否应该待在家里并避开通勤。

    构建后端时,我发现我们需要花费大量时间来为数据更改和使用流创建侦听器。我们计划使用 云函数并通过 API 网关与它们连接。所以我开始寻找可以节省时间的框架。

    而 Serverless Framework 恰好派上用场!

    向无服务器开发过渡

    我对 Serverless Framework 一见倾心。我只需把精力集中在代码上,就可让应用快速投入运行 —— 在人们使用的同时,我们可以不断开发和实现自己的构思。

    我反复观看了 YouTube 频道 FooBar 提供的所有内容;我强烈推荐大家采用 Serverless Framework。我掌握了 Marcia 介绍的所有知识,并且发现自己在构建需要的内容时越来越轻松。

    最后,我构建出了下面这个简单的小型架构:

    使用 Serverless Framework,我为用户创建了一个完整的流程来申请桌台并实时查看变更:办公室内 /外的工作人员和可用的桌台。实现所有这些功能的同时还能完全控制我们的数据,拥有一个几乎可以免运维的可扩展模型,并且无需操心底层结构,只需专注于为人们提供出色的功能。

    现状如何?

    我花了 4 年的时间从零开始新职业。无数漫长的夜晚,我都在 Code Academy 中探索,学习 OOP 概念,为考试做准备并且创造东西,当我看到它们在自己的手机里运行,感觉非常酷,也非常有趣。

    我过去 5 个月一直在学习 Serverless Framework,现在正计划将 Serverless Framework 投入到工作中,这项服务可帮助客户构建和迁移其应用。并且,我还使用无服务器作为平台来建立聊天机器人副业!

    我度过了非常充实的 4 年!从为别人做饭、为活动准备蛋糕到沉迷咖啡,我从未想到自己能创造像 Serverless 聊天软件和太阳系知识学习 app 这样的东西。

    也许有一天我会完成自己的食谱生成 app 😝


    传送门:

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3145 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:48 · PVG 20:48 · LAX 04:48 · JFK 07:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.