当现实超出预期:积极和努力的锻炼

当现实超出预期:积极和努力的锻炼

第一部分:“我怎么会来到这里?”

今年早些时候,当我之前的公司资金不足时,我和大约 33% 的同事一起被解雇了。这个故事在 2022 年可能听起来很熟悉,因为公司,尤其是科技领域的公司,正以惊人的速度裁员,成为 CEO 的自负和傲慢的牺牲品。但这是另一次谈话。

因此,当我发现自己没有工作时,我必须真正评估情况并确定如何继续前进并重新振作起来。我不想简单地找一份新工作来扮演同样的角色,让自己再次容易受到裁员和类似问题的影响。在听说我有兴趣改变职业后,我的嫂子将我的注意力转向编码训练营。这个概念对我来说听起来很直截了当:花 15 周左右的时间全职学习编码,然后带着有价值的、闪亮的、新的技能组合出来,并希望有一条新的职业道路。

真的可以这么简单吗?

嗯,不,当然不是。就像生活中的其他事情一样,如果某件事真的值得去做,那将是困难的。但有了我新发现的空闲时间,我决定我已经准备好迎接挑战,并渴望做出更好的改变。所以我报名参加了熨斗学校的全日制在线软件工程课程。就这样,我一路顺风顺水。

这将我们带到了今天。如果我必须总结到目前为止的课程,对我的经验的模糊但准确的过度简化如下:

第 0 周(课程前):准备工作。这是非常有趣的东西!

第 1 周:冒名顶替综合症。恐慌!我怎么会来到这里?

第 2 周:代码挑战?真的很恐慌!我现在不需要更多的挑战。

第 3 周:小组项目?我必须应用我从其他人那里学到的东西吗?逃跑……现在!

但是当我接近第三周结束时,我可以高兴地报告我和我的团队正在准备我们的“第一阶段”项目进行演示……这很好……真的很好。我们的项目远远超出了我的预期。虽然我不能把所有事情都归功于我(我还要感谢两个聪明而有才华的队友),但我可以说我为我们一起完成的工作感到非常自豪。比最终产品更好的是体验本身。实际应用我学到的概念,与他人合作,故障排除,失败,破坏事物,修复事物,成功,在整个过程中学习更多的经验。这个项目对我的学习过程和信心非常宝贵。

第二部分:拼凑一切

我们的第 1 阶段项目是构建一个单页应用程序 (SPA),集成我们到目前为止所学的所有内容(HTML、CSS、JavaScript、JSON、与外部 API 的通信等)。我们小组的想法是创建一个应用程序,用户可以在该应用程序中选择季节性农产品和成分,以调用 Tasty 的 API,并返回使用所选农产品的快速简便的食谱。我们的线框(屏幕蓝图)如下所示:

Wireframe of Seasonal Produce SPA

Our expectations.

我们的最终产品如下所示:

Screenshot of recipe generator SPA

Our finished product.

Screenshot of recipe results.

Recipe search results.

这就是超出预期的现实。自然地,在这之间有很多工作让我们从线框到功能性 SPA。但我想特别强调这一过程的一部分。

当我们编写代码来构建这个应用程序时,我们很难将所有东西捆绑在一起。我们有许多不同的功能,它们各自工作得很好,但整个过程并没有完全按照我们的需要去做。当我们点击应用程序上的“提交”按钮来搜索食谱时……什么也没发生。一个明显的问题。

我决心解决这个问题,但我承认我很难确定到底出了什么问题以及如何解决它。所以我走开去拿杯咖啡,然后坐下来制定一个计划。我会一步一步地通过解决问题的过程来告诉自己。我还写出了我解决问题的过程,从而更进一步,这样我就可以更好地了解我在做什么,并看到我正在取得的进展。

在使用了大量的 console.logs 和 Google Chrome 方便的开发者工具视图之后,我能够对问题区域进行磨练。我可以看到哪里出了问题:我们的 fetch 方法。它与我们代码中发生的其他事件无关。我正在取得进展。我们的 fetch 方法如下所示:

Screenshot of code. First attempt at a fetch.

First fetch attempt.

我知道我需要以某种方式更改 fetch,但是如何?所以我继续谈论自己遇到的问题。我会测试代码,遇到另一个障碍,重新评估问题,然后重复。不久,我有了一份文件,概述了我的流程、遇到的问题以及我认为可能的解决方案。这是帮助我完成此过程的确切文档:

Screenshot of Google Doc outlining problem solving process.

Problem solving process.

虽然它看起来可能不是特别漂亮,但通过整个过程与自己交谈并写下我所经历的事情有助于我概念化和更好地理解我面临的问题以及我需要做些什么来解决它们。所以我继续重构代码:拆分 fetch 方法、定义新变量、更改变量范围、插入值以及在新位置调用函数。新的 fetch 方法如下所示:

Screenshot of new, working fetch method.

Fetch v.2 in all it’s glory (with some additional code not pictured here).

……然后点击。就这样,代码工作了。这是我一直在等待的“点击”时刻。概念融合在一起并真正有意义的那一刻。我不仅仅是在重复我以前见过的代码。我正在利用和连接学到的概念,解决问题,并真正理解我在做什么。多么奇妙的感觉。不再恐慌。不再有冒名顶替综合症。只是编码。

第三部分:反思

在这一点上,我不禁退后一步,放眼大局。我可以看到我在三周内取得的进步:我在这么短的时间内取得了长足的进步,学到了很多东西,当概念点击并有意义时,我感觉不可思议。我还可以看到未来的道路:课程还剩 12 周,还有很多东西要学习,我相信会有更多的低谷和怀疑的时刻。但我知道还会有更多的高潮。我可以看到努力工作、保持积极态度和坚持到底的重要性。因此,就像生活中的其他任何事情一样,我沉浸在高潮和低谷中,整个体验。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/37184/11381710

posted @ 2022-09-17 10:11  哈哈哈来了啊啊啊  阅读(12)  评论(0)    收藏  举报