实习生头几个月的教训:我希望知道什么

Image description

作为一名早期开发人员进入软件行业既令人兴奋又令人不知所措。你渴望学习新工具,深入研究最新技术,并为自己树立名声。但并非所有闪亮的新事物都是每个项目的最佳选择。根据我作为实习生和新开发人员的经验,我学到了一些重要的经验教训,我希望我早点知道。如果我有机会与外面的早期开发人员交谈,以下是我想分享的内容。

**第一课:关注基础知识,而不仅仅是流行语** 刚开始的时候,我对所有的技术术语都很着迷——微服务、GraphQL、gRPC 等等。这些都是强大的工具,但它们并不总是一开始就必要的。我了解到,人们很容易陷入使用尖端技术的兴奋之中,但现实情况是,它们并不总是适合每个项目,尤其是当你还在为成为一名开发人员做准备的时候。

例如,我曾经问过我的高级开发人员我们公司是否使用这些技术。他的回答令人大开眼界:“我们只在项目需要时才使用它们。”他解释说,我们的客户通常是小型企业,他们需要快速、可靠的解决方案,而不是完美优化的技术堆栈。这段经历告诉我,有时简单是关键。过度设计会减慢开发速度并延迟产品发布,从而导致错失机会。

**经验 2:适应性是你最好的朋友** 在我的职业生涯早期,我主要接受 Java 和 Spring Boot 的培训,这很棒。但当我决定探索其他技术时,我面临着陡峭的学习曲线。从 Java 这样的静态语言转向 JavaScript 和 Ruby 这样的动态语言最初很有挑战性。我必须调整我对代码工作方式的思维方式,并适应调试和优化应用程序的不同方式。

适应性对于任何开发人员来说都至关重要。这不仅仅意味着了解不同的语言或框架——尽管这是其中的一部分。它还意味着理解可以应用于不同技术的底层概念,例如数据结构、算法和系统设计。这种思维方式将使您成为更加多才多艺的开发人员,并为您应对更广泛的项目和问题做好准备。

**第 3 课:代码的可读性和可重用性**

我早期犯下的最大错误之一就是编写的代码过于复杂且难以维护。我并不总是优先考虑代码的可读性或可重用性,因为我专注于让事情正常运转,而没有考虑其他人(甚至是未来的我)可能需要如何修改或扩展代码。

现在,我明白了编写干净、可维护的代码至关重要。这不仅仅是遵循最佳实践;而是要确保你的代码可以被其他人理解并在不同情况下有效地重用。这种方法可以节省时间、减少错误并提高工作质量。

**经验 4:了解工作背景** 您所在的公司类型会对您使用的工具和技术产生重大影响。例如,在服务型公司,重点往往是提供快速、高质量的解决方案,同时尽量减少开销。相比之下,初创公司可能会尝试更多前沿技术以保持竞争力。另一方面,大型产品公司可能从一开始就有资源投资于复杂的技术堆栈和扩展解决方案。

了解工作背景至关重要。它可以帮助您做出明智的决定,确定使用哪些技术以及何时应用它们。不要假设每个项目都需要相同的方法或相同的技术堆栈。

**第 5 课:开始前明确你的任务**

当你被分配一项任务时,你很容易以为自己从一开始就了解了一切。但我很快发现,事情往往比表面上看到的要复杂得多。在深入开发之前,一定要向你的导师或团队提出问题并确认任何不确定的地方。这有助于避免可能导致过度设计或遗漏关键细节的误解。花时间澄清可以确保你的工作与真正需要的一致。

结论:作为一名早期开发人员,您处于以适合您的优势和兴趣的方式塑造职业生涯的最佳位置。我的建议是专注于理解基础知识,适应性强,而不是过度设计解决方案。从您的经验中学习,向更有经验的同事寻求反馈,不要害怕尝试。您的职业生涯是一段不断学习的旅程,每一步,即使是错误,都是宝贵的教训。

**

我也想听听你的看法!请在评论中分享你的想法和经历。每个实习生的旅程都是独一无二的,我也有兴趣从别人的经历中学习。

**