image.png

我收到了一位资深工程师的提问。他从事开发人员工作多年。对这个领域并不陌生。

我想成为一名优秀的首席工程师,不仅是为了我自己,也是为了我的团队和公司。然而,我错过了一些大局,并且对我的基本面没有信心。

我认为我在算法和模式等某些领域很鸡肋,但不确定那是否是我应该关注的地方。我迷路。

在今天的快帖中,我想分享我给他的资源。

我学习基础知识的最佳资源

  • 如果您正在寻找有关计算机和互联网工作原理的高级概述,哈佛大学的 CS50是我所知道的最好的介绍。它专为对计算机科学一无所知的人而设计,但经验丰富的开发人员可以从讲座中获得很多价值,并且您可以在主题之间跳来跳去。
  • 由 Tim Roughgarden 教授的斯坦福算法课程在 YouTube 上很不错。它可能很密集,但只要跟随讲座,就会教给你大量关于算法以及如何思考复杂性的知识。
  • 《设计数据密集型应用程序》一书深入探讨了构建大规模密集型应用程序所需的条件。它深入探讨了围绕数据的所有流行语背后的实际工程。
  • Martin Fowler 的《重构》是理解、维护和更新现有代码的实用指南。这是高级工程师的大部分工作。

常用术语和模式

您会一次又一次地听到一些经典术语。值得了解和理解其中的每一个。您会惊讶于它们派上用场的频率。

筑牢基地

作为高级开发人员工作的一个重要部分是学习像其他高级开发人员一样思考和说话。

有一种用于解决问题的语言和框架在开发人员中很常见。学习这些基础知识是成为软件领域伟大思想家和领导者的重要一步。

每日清单

我每天早上都会为软件开发人员写一些新东西。

如果你喜欢我的文章,点赞,关注,转发!