{"componentChunkName":"component---src-templates-blog-detail-tsx","path":"/blog/2018-01-09-from-chef-to-serverless-developer-in-4-years","result":{"data":{"currentBlog":{"id":"4300b21c-7209-5256-86ff-0d38e3daec9b","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/14f1c8eed372e76c1b139703b2f6d0fa.jpg","authors":["KieranMcCarthy"],"categories":["user-stories","engineering-culture"],"date":"2018-01-09T00:00:00.000Z","title":"我是如何在四年时间里，从厨师转行为 Serverless 应用开发者","description":"我是厨师出身，现在成为了一名 Serverless 应用开发者。","authorslink":["https://serverless.com/author/kieranmccarthy/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["应用开发","Serverless"],"keywords":"Serverless 应用开发,Serverless 管理,厨师转行为 Serverless 应用开发者","outdated":null},"wordCount":{"words":285,"sentences":38,"paragraphs":36},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-01-09-from-chef-to-serverless-developer-in-4-years.md","fields":{"slug":"/blog/2018-01-09-from-chef-to-serverless-developer-in-4-years/","keywords":["无服务器","无服务器开发","云函数","学习","Serverless","构建","Framework","开发者","服务器","应用","学位","简历"]},"html":"<p>我的软件开发入行经历非常有趣 —— 我一开始其实是厨师。</p>\n<p>我在高中时就喜欢烹饪和烘焙，用不同食材的搭配去做出美味的食物，就像个科学怪人。我的家乡在爱尔兰，我的第一份工作也在那里，这是我第一次真正在厨房为人们提供食物，当然还有数不清的盘子要洗。</p>\n<p>一位前辈教了我如何制作香蕉太妃派，又简单又美味，让我感到惊喜。当时，我开始在在家中制作些小点心赚取外快。</p>\n<p>那时候我从学校搬了出来，在搬到新住处后，我在工作的餐厅和城区的家之间往返很不便。于是我决定在餐厅做兼职，另外找一份咖啡店的工作。</p>\n<p>同时打两份工有时会让人疲惫不堪，我还要兼职烘焙，希望开家小面包店。那段时间我很辛苦，要在餐厅上早班，然后在咖啡店上晚班。在我回家的路上，我的朋友会帮忙做一些吃的，他正在学做饭，时不时问我手边的食材可以做些什么。</p>\n<p>我当时绞尽脑汁地在想，比起发短信或者打电话，或许我可以直接做一款 app，当我的朋友输入食材名称，就能自动跳出来相应的食谱。这能有多难呢~</p>\n<p>于是我就开始学习如何构建一款 app。</p>\n<h1 id=\"从厨师到开发者\"><a href=\"#%E4%BB%8E%E5%8E%A8%E5%B8%88%E5%88%B0%E5%BC%80%E5%8F%91%E8%80%85\" aria-label=\"从厨师到开发者 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>从厨师到开发者</h1>\n<p>那是 2014 年夏天，我很快意识到自己甚至不知道从何入手。我应该学习哪种语言？我应该在哪个平台上操作？Web 还是移动端？什么是前端和后端？天呐！</p>\n<p>我随大流报了个 Code Academy（编程学院），开始学习 Web 开发，以及开发者的思维模式。这为我打开了一个新世界！（好吧，可能并没有什么特别的，但是你应该明白我的意思。）</p>\n<p>胡乱摸索和尝试构建静态网站，让我们对移动 app 及其构建方式感到疑惑。我参加了一个 Udemy 在线教程学习 Java，并在 Android 上进行操作。一开始真的很难，让屏幕显示「Hello World」是让我颇有成就感。</p>\n<p>但是我非常想学习如何编码，所以奋力前行。</p>\n<p>完成 Java 课程后，我构建了自己的第一个 app，并将其上架到 Play Store。（虽然它并不是给我朋友使用的应用，哈哈！）</p>\n<p>我感觉还有很多东西可以学习，不想只停留在移动设备上。我的脑海里浮现出各种各样的问题，比如「我如何连接到其他设备？」「什么是服务器？它们的功能是什么？」「什么是云……为什么称之为『云』？」等等。</p>\n<p>所有这些问题都可以通过 Google 找到答案。因此，我给自己设下了一个任务，学习有关服务器的知识以及如何针对服务器编写代码。我开始采用 PHP 构建简单的后端应用，从移动测试应用、Web 窗体和 curl 命令获取数据。</p>\n<p>这个时候我开始感觉自己入错行了。我学习和构建的东西越多，我对烹饪的兴趣就越少。</p>\n<p>我想成为一名开发者。我想创造出与众不同且具有创新性的事物。但是我没有计算机科学专业的学位，也没有全日制学位（我大二就辍学了）。但是我确实想成为一名开发者。</p>\n<p>我花钱参加了 Java 认证，希望自己的简历能被看重。尽管第一次失败了，但是第二次通过了。我非常开心，这可能是我成为一名真正开发者的敲门砖！</p>\n<h2 id=\"开始求职\"><a href=\"#%E5%BC%80%E5%A7%8B%E6%B1%82%E8%81%8C\" aria-label=\"开始求职 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>开始求职</h2>\n<p>我把这份认证放入自己的简历中，然后发到了招聘网站。但是一无所获……「我们需要的是一个有学位的人」「一个有经验的人」「一个有硕士学位的人」。我开始认为自己没什么「竞争力」。虽然我感到有些沮丧，觉得自己没有学位、也没有钱去取得学位，所以永远无法找到工作，但我决定在 Udemy 上学习更多的课程。</p>\n<p>我把从 Udemy 学到的东西一股脑儿都写到简历中。我为自己的努力感到骄傲，为什么不把它们放在简历里呢？功夫不负有心人，我接到了爱尔兰一家 IT 咨询公司的面试。我的梦想成真了！</p>\n<p>我怀着激动和忐忑的心情进入了另一个世界。我希望做好这份工作，我总是主动要求多做些事情，并参与更多的项目。我负责将 PHP 应用从本地迁移到云。某种程度上算是学习！这些应用必须更新为 PHP7，我们需要实现 DevOps，而我首先需要了解 AWS。</p>\n<p>我买了一本叫做《The Phoenix Project》的书来了解 DevOps，还买了 ACloudGuru 的 Developer Associate 课程来学习 AWS。我爱上了云和 DevOps。它们太有意思了！在花了很多时间来学习所有与工具有关的知识后，项目变得容易很多，并最终取得了成功。我们不仅成功迁移了应用，还创建一个框架，框架中规定了相关的步骤，便于我们以后遵循这些流程来进行迁移。</p>\n<p>就这样，我们建立起了一支创新团队。我们希望通过提出创新的想法来让办公室更智能。我负责收集智能桌台预订服务构想所需的堆栈：这是我们办公室的一个实时数据馈送，它将向员工展示带客户进来的最佳时间、员工自己进来的最佳时间，或者他们是否应该待在家里并避开通勤。</p>\n<p>构建后端时，我发现我们需要花费大量时间来为数据更改和使用流创建侦听器。我们计划使用 云函数并通过 API 网关与它们连接。所以我开始寻找可以节省时间的框架。</p>\n<p>而 Serverless Framework恰好派上用场！</p>\n<h2 id=\"向无服务器开发过渡\"><a href=\"#%E5%90%91%E6%97%A0%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BC%80%E5%8F%91%E8%BF%87%E6%B8%A1\" aria-label=\"向无服务器开发过渡 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>向无服务器开发过渡</h2>\n<p>我对 Serverless Framework 一见倾心。我只需把精力集中在代码上，就可让应用快速投入运行 —— 在人们使用的同时，我们可以不断开发和实现自己的构思。</p>\n<p>我反复观看了 YouTube 频道 FooBar 提供的所有内容；我强烈推荐大家采用 Serverless Framework。我掌握了 Marcia 介绍的所有知识，并且发现自己在构建需要的内容时越来越轻松。</p>\n<p>最后，我构建出了下面这个简单的小型架构：</p>\n<p><img src=\"https://main.qcloudimg.com/raw/b747d94e2d926e3c082e86a2036d79df.png\"></p>\n<p>使用 Serverless Framework，我为用户创建了一个完整的流程来申请桌台并实时查看变更：办公室内/外的工作人员和可用的桌台。实现所有这些功能的同时还能完全控制我们的数据，拥有一个几乎可以免运维的可扩展模型，并且<strong>无需</strong>操心底层结构，只需专注于为人们提供出色的功能。</p>\n<h1 id=\"现状如何？\"><a href=\"#%E7%8E%B0%E7%8A%B6%E5%A6%82%E4%BD%95%EF%BC%9F\" aria-label=\"现状如何？ permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>现状如何？</h1>\n<p>我花了 4 年的时间从零开始新职业。无数漫长的夜晚，我都在 Code Academy 中探索，学习 OOP 概念，为考试做准备并且创造东西，当我看到它们在自己的手机里运行，感觉非常酷，也非常有趣。</p>\n<p>我过去 5 个月一直在学习 Serverless Framework，现在正计划将 Serverless Framework 投入到工作中，这项服务可帮助客户构建和迁移其应用。并且，我还使用无服务器作为平台来建立聊天机器人副业！</p>\n<p>我度过了非常充实的 4 年！从为别人做饭、为活动准备蛋糕到沉迷咖啡，我从未想到自己能创造像 Serverless 聊天软件和太阳系知识学习 app 这样的东西。</p>\n<p>也许有一天我会完成自己的食谱生成 app 😝</p>","tableOfContents":"<ul>\n<li>\n<p><a href=\"/blog/2018-01-09-from-chef-to-serverless-developer-in-4-years/#%E4%BB%8E%E5%8E%A8%E5%B8%88%E5%88%B0%E5%BC%80%E5%8F%91%E8%80%85\">从厨师到开发者</a></p>\n<ul>\n<li><a href=\"/blog/2018-01-09-from-chef-to-serverless-developer-in-4-years/#%E5%BC%80%E5%A7%8B%E6%B1%82%E8%81%8C\">开始求职</a></li>\n<li><a href=\"/blog/2018-01-09-from-chef-to-serverless-developer-in-4-years/#%E5%90%91%E6%97%A0%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BC%80%E5%8F%91%E8%BF%87%E6%B8%A1\">向无服务器开发过渡</a></li>\n</ul>\n</li>\n<li><a href=\"/blog/2018-01-09-from-chef-to-serverless-developer-in-4-years/#%E7%8E%B0%E7%8A%B6%E5%A6%82%E4%BD%95%EF%BC%9F\">现状如何？</a></li>\n</ul>"},"previousBlog":{"id":"5928eee6-9546-5603-ad61-a9688dbafd02","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/20191231/1577795409089-CORS_principle.png","authors":["AlexDeBrie"],"categories":["guides-and-tutorials","operations-and-observability"],"date":"2018-01-16T00:00:00.000Z","title":"生存指南之 CORS + API Gateway","description":"本文介绍了跨域资源共享的基本知识，以及如何避免云函数上 Serverless web API 的问题","authorslink":["https://serverless.com/author/alexdebrie/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["CORS","API 网关"],"keywords":"CORS,API Gateway,Serverless web API","outdated":null},"wordCount":{"words":237,"sentences":40,"paragraphs":40},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-01-16-cors-api-gateway-survival-guide.md","fields":{"slug":"/blog/2018-01-16-cors-api-gateway-survival-guide/","keywords":["go","java","serverless","云函数","Access","Allow","Control","headers","product","response","event","Origin"]}},"nextBlog":null,"recommendBlogs":{"edges":[{"node":{"id":"36ad18b2-1694-5b48-bb23-d6a5575343cd","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/4c101fcf0be63a70e0aa992da17dd955.png","authors":["BrianNeisler"],"categories":["engineering-culture"],"date":"2018-01-24T00:00:00.000Z","title":"如何将设计思维应用到精益初创公司的软件开发中","description":"关于将设计思维与敏捷开发相结合的尝试 —— 成功与失败剖析","authorslink":["https://serverless.com/author/brianneisler/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["敏捷开发","Serverless"],"keywords":"Serverless 设计思维,Serverless 敏捷开发","outdated":null},"wordCount":{"words":213,"sentences":41,"paragraphs":41},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-01-23-appy-design-thinking-lean-startup-software-development.md","fields":{"slug":"/blog/2018-01-23-appy-design-thinking-lean-startup-software-development/","keywords":["思维","设计","用户","团队","产品","想法","验证","优先级","敏捷","公司"]}}},{"node":{"id":"e7fe6284-d107-5e80-8e6e-cae075aff38c","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/67b0bff4886896e1ee5d4f5917cf6096.jpg","authors":["FelixDesroches"],"categories":["engineering-culture"],"date":"2018-02-09T00:00:00.000Z","title":"Serverless 公司的远程团队沟通策略","description":"Serverless 团队分散在全球各地，本文介绍我们如何管理沟通策略和远程协作。","authorslink":["https://serverless.com/author/felixdesroches/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["远程协同","Serverless"],"keywords":"Serverless 远程团队,Serverless 沟通策略,Serverless 远程协作","outdated":null},"wordCount":{"words":137,"sentences":22,"paragraphs":22},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-02-09-communication-strategies-remote-teams.md","fields":{"slug":"/blog/2018-02-09-communication-strategies-remote-teams/","keywords":["沟通","团队","工具","Radical","Candor","团建","Slack","方式"]}}},{"node":{"id":"548b1bba-ea90-5753-a0eb-040193083655","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/20191212/1576149285117-charmmie-square.jpg","authors":["CharmmieHendon"],"categories":["engineering-culture"],"date":"2018-02-01T00:00:00.000Z","title":"一名时尚艺术家转行到科技行业的历程","description":"Serverless 团队新成员 Charmmie 是从高级时装行业转行到技术领域的，本文是她的故事，太酷了。","authorslink":["https://serverless.com/author/charmmiehendon/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["Serverless"],"keywords":"Serverless 团队成员,Charmmie","outdated":null},"wordCount":{"words":242,"sentences":39,"paragraphs":37},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-01-30-serverless-style-from-fashion-to-tech.md","fields":{"slug":"/blog/2018-01-30-serverless-style-from-fashion-to-tech/","keywords":["go","serverless","Serverless","技术","科技","Sam","行业","时尚","工作","时装","旧金山","适合"]}}},{"node":{"id":"dc9c5f49-4ee1-56bb-b5ec-6780d9fd69e1","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/c2598ce0fad913a7d1fe2bfcdd3324e3.jpeg","authors":["NickGottlieb"],"categories":["engineering-culture"],"date":"2018-02-23T00:00:00.000Z","title":"通过 Serverless 架构构建更好的软件","description":"Nick Gottlieb 分享了他在 ServerlessConf Tokyo 上关于 Serverless、软件状态以及提高生产效率方法的演讲。","authorslink":["https://serverless.com/author/nickgottlieb/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["Serverless"],"keywords":"Serverless 架构构建,ServerlessConf Tokyo,Serverless 效率方法","outdated":null},"wordCount":{"words":200,"sentences":42,"paragraphs":42},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-02-23-serverless-path-building-better-software.md","fields":{"slug":"/blog/2018-02-23-serverless-path-building-better-software/","keywords":["无服务器","云函数","Serverless","服务","构建","工具","软件","开发人员","函数","架构"]}}},{"node":{"id":"73576d26-e0ce-5f26-9330-64b4f3889157","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/3cb7b20955d78ced738e0279bb3f6f41.jpg","authors":["AndreaPasswater"],"categories":["news","engineering-culture"],"date":"2018-03-09T00:00:00.000Z","title":"Serverless 数据解读：2018 报告","description":"Serverless Framework 使用统计数据：事件源、服务结构、运行时长等等。","authorslink":["https://serverless.com/author/andreapasswater/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["事件源","服务结构"],"keywords":"Serverless 统计数据,Serverless 事件源,Serverless 服务结构","outdated":null},"wordCount":{"words":212,"sentences":45,"paragraphs":45},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-09-serverless-by-the-numbers-2018-data-report.md","fields":{"slug":"/blog/2018-03-09-serverless-by-the-numbers-2018-data-report/","keywords":["go","serverless","无服务器","云函数","服务","使用率","Go","部署"]}}},{"node":{"id":"665f9ce2-4451-59fd-bf98-1861789d3b3b","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/Serverless_logo.png","authors":["AndreaPasswater"],"categories":["guides-and-tutorials","engineering-culture"],"date":"2018-03-19T00:00:00.000Z","title":"如何为无服务器开放源代码项目做贡献","description":"想要为无服务器开放源代码项目做贡献？您可以遵循下面的指南。","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":96,"sentences":36,"paragraphs":36},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-19-how-contribute-to-serverless-open-source.md","fields":{"slug":"/blog/2018-03-19-how-contribute-to-serverless-open-source/","keywords":["serverless","无服务器","serverless","github","插件","服务器","贡献","示例","blog","contribute"]}}},{"node":{"id":"a3e92579-65c3-5159-937c-32d18c5df7d7","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/why-not/why-not-header.png","authors":["AndreaPasswater"],"categories":["guides-and-tutorials","operations-and-observability","engineering-culture"],"date":"2018-03-21T00:00:00.000Z","title":"不适合选择无服务器的情境及原因","description":"无服务器既有优点也有缺点。那么，哪些情境下不适合选择无服务器？原因又是什么呢？","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":163,"sentences":43,"paragraphs":43},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-21-when-why-not-use-serverless.md","fields":{"slug":"/blog/2018-03-21-when-why-not-use-serverless/","keywords":["faas","react","serverless","spa","无服务器","无服务器函数","无服务器架构","无服务器开发","服务器","twitter","serverless","blockquote","lang","script","en"]}}},{"node":{"id":"4baeb7be-69f5-5efa-b4cb-7abef0194052","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/donation-cart/molly-felix.png","authors":["MollyMoore"],"categories":["engineering-culture"],"date":"2018-03-29T00:00:00.000Z","title":"如何在 1 小时内筹集到 400 多美元善款","description":"想做些事情来回馈社区？阅读本文了解 Serverless 团队如何在 1 小时内筹集到 400 多美元善款。","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":242,"sentences":36,"paragraphs":36},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-29-how-raise-money-charity-in-an-hour.md","fields":{"slug":"/blog/2018-03-29-how-raise-money-charity-in-an-hour/","keywords":["serverless","Serverless","饮品","Felix","捐款","巧克力","美元","cart"]}}}],"totalCount":87}},"pageContext":{"isCreatedByStatefulCreatePages":false,"blogId":"4300b21c-7209-5256-86ff-0d38e3daec9b","previousBlogId":"5928eee6-9546-5603-ad61-a9688dbafd02","nextBlogId":null,"categories":["user-stories","engineering-culture"]}}}