基础、文档和不适:Dev 成长的关键
Source: Dev.to
Introduction
在我作为软件工程师的十年里——大多在创业公司环境中——我见过各种技能水平的开发者来来往往。我注意到有几件事会阻碍成长,而我自己在职业早期也曾受到这些问题的困扰。本文旨在帮助你反思自己的习惯,并问自己:“我是否也在做这些事?”
Fundamentals
Why fundamentals matter
掌握所使用语言的基础知识,为高效学习新语言、概念和框架提供了坚实的基石。
Litmus tests
- 你能向非技术人员解释这项技术吗?
- 你能在不依赖框架的情况下构建出可运行的东西吗?
许多开发者先学习框架,导致对底层语言的认识出现关键性空白。
Documentation
Reading docs vs. relying on AI
使用 AI 生成代码往往弊大于利。老生常谈的建议——“不要直接复制粘贴 Stack Overflow 的代码”——在 AI 常常取代 Stack Overflow 成为代码片段来源的今天显得更为重要。
你仍然可以使用 AI,但建议关闭代理/代码生成模式。更好的做法是:
- 阅读 AI 提出的代码。
- 对代码提出问题。
- 在理解其工作原理后自行敲写代码。
手动输入会迫使大脑处理语法和逻辑,帮助你内化解决方案,而不是被动接受。
Benefits of reading documentation
- Better debugging: 理解源码可以让调试更容易。
- Edge cases: 文档会揭示关键的边缘情况或已废弃的特性,这些往往是 AI 漏掉的。
- Collaboration: 你可以与 AI 并肩解决问题,而不是完全依赖它。
Discomfort and Growth
Situations that cause discomfort
- 需求或范围不断变化。
- 被要求使用你从未使用过的工具、语言或平台进行开发。
- 与资深同事进行高风险的架构辩论。
Why discomfort is valuable
应对变化的范围是软件开发的核心,因为业务需求决定方向。不适感往往意味着在学习新东西。你越习惯这种不适,就越不犹豫去成长,最终提升绩效并加速职业发展。
Tips for Improvement
以下是一些帮助我提升为软件开发者的实践。希望你能在其中找到对自己有帮助的内容。