作为初级开发者我希望早知道的事
Source: Dev.to
当我写下第一行代码时,我以为成为一名优秀的开发者意味着要掌握更多的语言、更多的框架以及更多的捷径。我相信只要“学够了”,我就会感到自信。然而,这种自信并没有像我预期的那样出现。
回顾过去,有许多事情我希望早些有人告诉我——这些经验本可以为我节省时间、减轻压力,甚至消除自我怀疑。本文写给初级开发者(以及任何刚起步的人),帮助他们在感到不知所措、卡住或不确定自己是否做对了的时刻找到方向。
1. 感到迷茫是正常的(即使你表现不错)
作为一名初级开发者,我总是觉得自己落后。其他人似乎更聪明、更快、更自信。我以为只有我一个人在搜索基本错误或多次重读文档。
我不知道的是: 迷茫是工作的一部分。即使是资深开发者也会:
- 搜索语法
- 忘记之前使用过的东西
- 在新的代码库工作时感到不确定
困惑并不意味着你编码能力差——它意味着你在学习。
2. 基础比框架更重要
我花了很多时间追逐潮流:
- “我应该学习这个新框架吗?”
- “这门语言还重要吗?”
- “如果我在学习错误的技术栈怎么办?”
我希望早点知道的事: 框架会变,基础不会。扎实的基础包括:
- 编程基础
- 数据结构
- 问题解决
- Git
- Web 工作原理(HTTP、API、数据库)
……让学习任何新工具都容易得多。框架来来去去;对概念的理解会一直伴随你。
3. 你不需要懂得所有才能有用
早期,我认为自己必须了解:
- 完整的代码库
- 堆栈中的每个工具
- 每个最佳实践
这种压力让人筋疲力尽。
现实检查: 没有人期望初级工程师懂得一切。更重要的是:
- 提出好问题
- 在不理解时诚实
- 随着时间展示进步
- 愿意学习
团队更看重好奇心和可靠性,而不是“全知全能”。
4. 阅读代码和编写代码同等重要
我过去只专注于编写新代码。阅读已有代码感觉慢且令人沮丧。但大多数实际开发涉及:
- 理解遗留代码
- 调试不熟悉的逻辑
- 修改他人的工作
一旦我有意识地开始阅读代码——开源项目、团队成员的 pull request、代码库中较旧的部分——一切都有所改善:
- 我的代码变得更简洁
- 我自然地学会了模式
- 调试变得更容易
优秀的开发者都是优秀的代码阅读者。
5. 提问是一项技能(而非弱点)
我避免提问,因为不想显得无能。这只会让我进展更慢。
有效提问的方法:
- 说明你已经尝试了什么
- 分享错误或表现
- 明确说明你不理解的地方
大多数开发者都欣赏有深思熟虑的问题。沉默和猜测带来的问题远比好奇心多。
6. 你的第一段代码不会是最好的代码(这没关系)
我过去看到自己的旧项目时会感到尴尬。我看到混乱的逻辑、糟糕的命名以及值得怀疑的决定。现在我看到的是进步。如果你的旧代码让你感到不适,那是个好兆头——说明你已经成长。
在动手之前不要等到完美。先写出不好的代码,从中学习,之后再重构。进步永远胜过完美。
7. 调试是一项核心技能,而非事后考虑
起初,我以为调试是“以后会变得更好”的东西。其实不然。调试本身就是开发。学习:
- 仔细阅读错误信息
- 有效使用日志
- 一致地复现问题
- 将问题拆分成更小的部分
……会让你比单纯记忆语法更快、更有信心。
8. 软技能的重要性超出我的预期
我低估了:
- 沟通
- 倾听
- 撰写清晰的消息
- 给出和接受反馈
成为一名优秀的开发者不仅仅是写代码——更是与人合作。清晰的沟通可以:
- 防止 bug
- 节省大量返工时间
- 与团队成员建立信任
解释你的思路的能力与实现它的能力同样重要。
9. 学习永无止境(这并不是坏事)
我曾以为会有一个“学习结束”的时刻,届时我会感到自信。这个时刻永远不会到来。技术在不断演进——而你也在进步。
与其追求全知,不如目标是:
- 持续学习
- 构建真实项目
- 反思错误
- 每周都有一点提升
这种心态让旅程更可持续。
10. 你比想象中做得更好
如果你:
- 经常写代码
- 从错误中学习
- 感到受到挑战
你正走在正确的道路上——即使现在还没有这种感觉。信心来源于经验,而不是事先掌握所有知识。