我的软件工程之旅#6:闪亮物体综合症
自从我上次发帖以来,我取得了更多进展,我每天都更加意识到不做假设和始终核实信息的重要性。在我的承包商工作中,我们正在处理两个单元。根据我认为我被告知的情况,我假设其中一个单元功能齐全。然而,我了解到亲自核实事实和核实事情至关重要。虽然我以为这些项目即将完成,但我发现还有很多事情要做。
代码库很乱,我们一直在从反编译状态逐段调试。尽管面临挑战,但还是取得了进展。正如我的一位同事指出的那样,这是一次很棒的现实体验。许多公司都是这样运作的:他们拥有庞大而杂乱的代码库,你的工作就是弄清楚它们、修复错误并添加功能。
今天,我还学习了一个新的 Git 命令:git stash。它允许您暂时保存暂存或未暂存的更改,然后可以使用 git stash apply 应用它们。当我需要为项目创建一个包含最新更改的新分支时,这个命令非常有用。
不再有闪亮物体综合症
最近,我不再转移注意力。在开始一份涉及 C++ 的新工作后,我发现自己涉足了游戏开发和嵌入式系统。然而,我意识到不断尝试新语言和技术并没有帮助。我真正需要关注的是解决问题。
我在得到目前的工作之前就启动了 Odin 项目,但后来暂停了,因为我听说网络开发已经饱和,有人建议我探索其他领域。虽然网络开发可能竞争激烈,但我了解到,深入掌握一个领域并不断迭代比追逐下一个闪亮的事物要高效得多。
有趣的是,我目前的两个职位都要求我学习 ReactJS,下周我要面试的工作也提到了这一点。这让我意识到坚持从事 Web 开发并利用我已有的基础知识的价值。我在 Odin 项目上学到的技能将转移到其他领域,所以我在那里继续进步。
我一直在复习 HTML、CSS 和 JavaScript 语法和概念。当然,我记不住所有内容,但我的工作不是死记硬背,而是知道如何在需要时查找内容并理解文档。我还一直在探索现代前端工具,包括:
• 使用 Node 包管理器 (npm)
• 使用 Webpack 设置模块打包
• 使用 npm 脚本配置我的开发环境
• 使用 ESLint 进行样式强制执行和错误捕获
• 使用 Prettier 格式化代码
虽然 ESLint 和 Prettier 有方便的 VS Code 扩展,但我发现通过 npm 安装它们很重要,因为并非所有开发人员都使用相同的工具。为了简化我的工作流程,我创建了一个 Webpack 模板,并将其上传到 GitHub 以供将来的项目使用。
我不会急于求成,而是专注于巩固基础知识并有条不紊地前进。当我到达 Odin 项目中的 React 部分时,我会做好准备快速掌握它。
明天的目标
明天,我会在办公室继续测试这两个单元。我会做笔记并帮助更换物理组件,例如一个单元内的电子调节器,以确保我们的软件在两个系统中的行为一致(或尽可能接近一致)。
编码实践和工作准备
我还开始使用 CodeWars 来巩固我的 Python 基础知识,并在随意申请工作的同时解决 LeetCode 问题。我使用 NeetCode 来跟踪我的进度并努力保持一致,这有助于我保留解决方案并解决更具挑战性的问题。
目前目标
我的主要目标是成为一名全栈软件工程师。我计划通过以下方式实现这一目标:
旅程仍在继续!
PS 我把我的 Raspberry Pi 5 变成了 RetroPi!我还没有用它玩游戏,但我打算很快尝试一下……