从初级开发人员的错误中吸取教训

成为一名初级开发人员是一段令人兴奋的旅程,但并非没有挑战。一路上会犯很多错误——有些很小,有些很大

犯下的巨大错误

“能自己解决”

我犯过的最大错误之一是等待太久才寻求帮助。记得我花了整整三天时间解决一个数据库问题,以为自己可以独自解决。当我的高级开发人员发现这个问题时,他们非常沮丧 - 不是因为我无法解决,而是因为我没有早点寻求帮助。这浪费了时间并延误了我们的项目。

有时候我会花上几个小时——有时甚至到深夜——试图独自修复错误。我认为我必须证明我可以独立处理所有事情。但我并没有解决问题,反而经常浪费时间并使事情变得更糟。我的高级开发人员后来发现我花了多少时间独自挣扎,可以理解的是,他感到沮丧,因为他们本可以在几分钟内帮助我解决问题。意识到我的固执让他们失望后,我感到内疚,甚至有几次让我流泪。

“静音模式”错误/进展沟通不畅

在我的第一个项目中,我经常默默工作,不向任何人汇报进展。当我的上司在会议上询问我的进度时,我会给出模糊的回答,例如“一切顺利”或“我正在做这件事”。这让他们很难制定计划,也很难知道项目是否进展顺利。

我曾经有过“沉默模式”的罪恶感,埋头工作,没有向团队汇报最新情况。我以为保持专注可以提高效率,但这常常让我的高级开发人员感到困惑,他们不知道我取得了什么进展,也不知道我是否遇到了障碍。这种缺乏沟通的情况扰乱了工作流程,让我的高级开发人员对项目是否进展顺利感到压力重重。回想起这对他们的影响,我深感悔恨,我意识到透明度在团队环境中是多么重要。

“我忘了测试”的错误

Image description

为了赶上最后期限,我有时会跳过适当的测试,然后发布代码,而这些代码后来导致生产中出现错误。这些错误不仅让我感到尴尬,还给我的上司带来了不必要的压力,他不得不放下手头的一切来帮助解决紧急问题。得知我的疏忽打乱了他们的日程安排,我感到很难过。有些时候我忍不住流泪,因为我觉得我让他们失望了,造成了混乱,而只要多加注意,这些混乱本来是可以避免的。

“不阅读文档”的错误/解释时不做笔记

我经常犯的另一个错误是跳过文档。我没有花时间去了解库、框架或 API,而是直接开始编码并依靠反复试验。这经常导致错误和误解,这让高级开发人员在审查我的工作时感到沮丧。意识到我没有做好基本工作让他们失望了多少,我感到很惭愧。这是一个惨痛的教训,让我明白了做好准备是成为可靠队友的关键。

我的前辈会花时间解释我们代码库的复杂部分,但我没有写下来。后来,我又会问同样的问题。我可以看到他们脸上的沮丧——他们已经花时间解释这些事情了。

我的错误如何影响了我的高级开发人员

每一个错误不仅仅影响我——它们还给我的高级开发人员带来了真正的后果:

  • 当我花费太多时间来解决那些可以通过早期指导解决的问题时,我感到很沮丧。
  • 由于缺乏沟通和项目进展的不确定性而产生的压力。
  • 当他们必须在紧迫的期限内修复我可避免的错误时,他们的日程安排就被打乱了。
  • 当我意识到我显然没有阅读文档或采取主动的方法时,我感到很失望。
  • 对我独立处理任务的能力产生怀疑,使得他们不愿委派更多责任。
  • 意识到自己的行为给上级带来了不必要的压力,我常常感到不知所措,甚至流泪。这是一个艰难的认识,但它激励我承担责任并改进。

    我将如何改进

    1. 尽早寻求帮助

    我认识到寻求帮助并不是软弱的表现,而是聪明的团队合作。现在,如果我被困了一个多小时,我会记录下我尝试过的所有事情并联系我的上级。这不仅节省了时间,还向他们表明我正在积极努力解决问题,而不是轻易放弃。

    2. 定期沟通

    我养成了清晰沟通的习惯。无论是快速的每日更新、在站立会议上分享阻碍,还是只是公开我的进度,我都会确保我的团队和高级开发人员始终了解情况。这建立了信任并减少了不确定性带来的压力。

    3. 优先测试

    测试对我来说不再是可有可无的,而是当务之急。我现在遵循一份检查表,以确保我在安全的环境中进行了彻底的测试。对于重大更新,我会请队友审查我的工作。这些步骤帮助我尽早发现问题,避免给我的上级带来不必要的压力。

    4. 仔细阅读文档

    在开始任何任务之前,我都会花时间阅读文档。无论是 API、库还是框架,我都会确保自己了解其功能和最佳实践。这大大减少了我工作中的错误,并向我的上级表明我认真对待自己的职责。

    简而言之,我的意思是:

    1. 更好的提问习惯

    现在我会花最多 1-2 个小时来解决问题,然后再寻求帮助

    我写下我已经尝试过的事情

    我在提问时展示我的研究

    2.定期更新

    我每天都会发短信告诉我我正在做的事情

    我对自己面临的挑战很坦诚

    我在流程早期寻求反馈

    3.做好笔记

    我为每个项目保留一份简单的文档

    我会立即写下重要的解释

    提问之前我会先复习笔记

    我现在正在使用的工具

    学习资源

    持续学习对我的成长至关重要。我强烈推荐以下资源:

    1. 前端

  • 大师(https://frontendmasters.com/):关于 JavaScript、React 和现代前端开发的深入课程。
  • Kent C. Dodds 的博客(https://kentcdodds.com/):关于测试和构建 React 应用程序的优秀技巧。
  • freeCodeCamp(https://www.freecodecamp.org/):通过交互式编码挑战来构建真实世界的项目。
  • Traversy Media YouTube 频道(https://www.youtube.com/@TraversyMedia):有关各种 Web 开发主题的高质量教程。
  • 代码质量工具

    确保代码干净、无错误是重中之重。以下工具非常有用:

  • ESLint(https://eslint.org/):帮助尽早发现语法和逻辑错误。
  • Prettier (https://prettier.io/):自动代码格式化以确保一致性。
  • Jest (https://jestjs.io/):一个全面的 JavaScript 测试框架。
  • GitHub Copilot (https://github.com/features/copilot):一款可提高工作效率的人工智能编码助手。
  • 协作工具

    清晰的沟通和组织是团队成功的关键。以下是我使用的:

  • Slack(https://slack.com/):用于快速团队沟通和更新。
  • Notion (https://notion.so/):记录流程、注释和解决方案。
  • Trello(https://trello.com/):一个用于管理任务和工作流程的简单工具。
  • Linear(https://linear.app/):帮助在协作环境中无缝跟踪问题和任务。
  • Image description

    犯错是不可避免的,但错误并不能定义你。真正重要的是你如何应对错误。以下是我学到的教训:

  • 尽早寻求帮助。在指导下快速解决问题比浪费时间独自挣扎要好。
  • 持续沟通。让您的团队随时了解情况可以建立信任并确保工作流程更加顺畅。
  • 测试一切。适当的测试可以让您和您的团队避免不必要的压力。
  • 阅读文档。了解您的工具是交付高质量工作的关键。
  • 承担责任。承认自己的错误并努力从中吸取教训。
  • 我了解到,即使错误让人难以承受并且内疚感占据了上风(有时甚至让人流泪),但它们也是成长的机会。

    如果您作为开发人员犯过错误,请知道您并不孤单。分享您的故事 - 我很想听听您是如何学习和成长的!