我职业生涯中得到的最重要的三条建议

2025-06-09

我职业生涯中得到的最重要的三条建议

每个人都想成为更优秀的工程师。尤其是在职业生涯刚刚起步的时候,你渴望学习。当你看到团队里有一位资深工程师时,你会想着如何才能成为像他一样的人。答案很简单:你需要多学习、多练习。然而,最有效的方法往往并不明确。你肯定不想把所有的业余时间都花在编程上。如果你想,那当然很好,但至少我不想。我刚开始工作的时候很挣扎,因为有很多东西我不知道,也不知道从哪里开始。在本文中,我将分享当时 CTO 给我的三条建议,这些建议帮助我找到了提升技能的方法。

读书

读书可以说是在职提升技能最有效的方法。你在工作中编写代码,所以你已经有足够的时间练习。你需要的是更多可以在编写代码时运用的知识。如果你不知道应该关注什么,那么仅仅通过编写代码很难提高技能。有趣的是,软件工程的基础在过去20年里并没有发生太大的变化。你仍然可以从一本很久以前写的书中学习到一些经久不衰的基础知识。由于已经有很多文章推荐书籍,我将只推荐三本涵盖软件工程不同主题的书籍。

设计数据密集型应用程序 - Martin Kleppmann

没有数据,现代软件就无从谈起。如果你想扩展应用程序,应用程序必须处理的数据量可能会成为应用程序性能的瓶颈。构建一个仅供数十人使用的 Amazon 或 Facebook 系统并不难,但将其扩展到数百万人则完全是另一回事。本书将概述构建数据密集型应用程序时需要考虑的各种技术以及注意事项。
替代文本

清洁代码 - Robert C. Martin

这是一本关于软件工程的经典著作。正如书名所示,它阐述了许多帮助你编写简洁代码的基本原则。这本书写于12年前,作者主要讲解了面向对象编程 (OOP)。如果你不写 Java,书中的一些内容可能并不适用,但我认为其中有很多基本原则可以应用到你的日常工作中。我强烈建议你在职业生涯中至少读一次这本书。
替代文本

DevOps 手册 - Gene Kim、Jez Humble、Patrick Debois、John Willis

你可能想知道为什么我推荐的最后一本书专门讲 DevOps。DevOps 关乎团队文化。它不仅适用于 DevOps 工程师,所有工程师都应该理解其背后的核心概念。如果你的团队缺乏良好的 DevOps 文化,即使目前一切顺利,你也终有一天会面临生产力问题。如果你未来想领导一个团队或创办一家公司,你需要了解如何构建良好的 DevOps 文化。尽管 DevOps 领域瞬息万变,但这本书出版时间尚短,涵盖了许多至今仍然适用的 DevOps 基本原则。
替代文本

学习具有不同范式的语言,例如函数式编程

我从前任 CTO 那里得到的第二条建议是学习一门函数式编程语言。起初,我非常怀疑,直到真正尝试之后才明白它的意义。我日常工作中使用 JS 和 Python,并没有机会在工作中使用函数式编程语言。对我来说,学习一门工作中不会用到的新语言似乎没什么帮助。我花了一段时间才理解它的好处,以下是我在这个过程中学到的东西。

它可以帮助您区分特定语言的最佳实践和通用的最佳实践。

当你只写一两种语言时,很难区分哪些是通用的软件最佳实践,哪些是特定语言的最佳实践。例如,如果你是一名 JS 开发者,人们经常会告诉你,一个文件中的代码行数越少越好。但这并非适用于所有语言。在 JS 中,通常更喜欢使用较少的代码行,因为这样可以减少意外修改对象的可能性。如果你使用函数式编程语言,那么在设计上不可能修改对象。如果你认为我错了,可以看看Elm 的发明者制作的这个视频。学习函数式编程语言拓宽了我对编程语言的视野,让我能够在遇到新的设计原则时进行批判性思考。

您可以选择更适合工作的语言。

许多现代系统正在从单体架构转向微服务架构。当然,采用微服务架构也存在一些缺点,公司不应该无缘无故地拆分单体架构。然而,如今,为应用程序的各个部分使用不同的语言是很常见的。学习不同的编程语言范式有助于你确定最适合特定任务的语言。

构建你自己的 X

这对很多人来说可能显而易见,但如果你想成为一名更优秀的工程师,构建一些东西是学习新事物的最佳途径。如果你对某样东西感兴趣,就应该去构建它。但是,如果你像我一样,很难想出自己想要构建什么,那么以下方法通常对我有帮助:尝试从头构建现有框架/应用程序的核心逻辑。例如,如果你是使用 React 的前端工程师,可以尝试构建自己的虚拟 DOM 程序。如果你对编译器优化感兴趣,可以尝试构建自己的解释器或编译器。理解应用程序的核心逻辑有助于你理解围绕该应用程序的高级主题。这里有一个很棒的列表,可以在你没有任何想法时帮助你入门。


这些是我在职业生涯初期帮助我成长为一名工程师的经验。每个人都有自己成为更优秀工程师的方法,而且我的经验也有限,所以对这些建议持保留态度。如果你正在从事业余项目,并且希望获得一些反馈,可以尝试Antcode来获取其他人对你工作的评价。

鏂囩珷鏉ユ簮锛�https://dev.to/mkinoshita12/the-3-most-important-pieces-of-advice-i-got-in-my-career-2i2a
PREV
给初级 JavaScript 开发者的 18 个技巧
NEXT
我使用 HTML、CSS、Bootstrap 和 JavaScript 创建了一个响应式作品集网站