Oreilly报告:2023年IT行业总结


要点:

  • 软件架构领域的内容使用量整体下降,但企业架构和事件驱动架构的使用量出现增长。
  • 微服务的使用量下降,反映出许多开发人员对微服务的失望,并主张回归单体应用。
  • 编程语言方面,Python和JavaScript的使用量持平或下降,而C++却出现了意外的增长。

软件开发
我们的数据显示:

  • 软件架构和设计方面的大多数主题都逐年下降。但也有例外。虽然软件架构下降了 3.9%(降幅相对较小),
  • 但企业架构却上涨了 8.9%。
  • 领域驱动设计对于理解复杂企业系统的行为特别有用;
  • 有关事件驱动架构的内容的使用相对较少,但增加了 40%。
  • 函数式编程被许多开发人员视为一种有助于解决分布式系统问题的设计范式,增长了 9.8%。
  • 微服务下降了 20%。今年许多开发人员对微服务表示失望,并主张回归单体应用。
  • 软件开发人员对设计模式的态度忽冷忽热,下降了 16%。当人工智能为你编写大量代码时,理解模式可能似乎不再那么重要。当代码已经大部分编写完毕时,设计模式也可能显得不太相关。

程序和编程语言

  • 我们跟踪的大多数编程语言的内容使用量都在下降。如果 92% 的程序员使用生成式 AI 来编写代码和回答问题,那么我们肯定会预期内容使用量会下降。
  • 多年来,Python 是我们平台上使用最广泛的编程语言。今年2023,我们没有看到增长;我们看到了非常小的下降(0.14%)。
  • 有关 Java 的内容的使用量下降了 14%,下降幅度很大,但与 GitHub 活动的下降幅度并无太大差异。
  • JavaScript 也下降了 3.9%。这是一个很小的下降,可能没有意义。TypeScript 是一种添加静态类型和类型注释的 JavaScript 版本,上涨了 5.6%。
  • 我们看到 C++ 的增长 (10%),这对于一种古老的、成熟的语言来说是令人惊讶的。虽然 C++ 长期以来一直是游戏开发的重要语言,但有迹象表明它正在扩展到其他领域。C++ 是嵌入式系统的理想语言
  • 从 2022 年到 2023 年,有关 Rust 的内容的使用量也有所增加 (7.8%)。Rust 是一种相对年轻的语言,强调内存安全和性能。
  • 我们还看到有关函数式编程的内容增长了 9.8%。不过,我们没有看到任何历史函数式编程语言(Haskell、Erlang、Lisp 和 Elixir)取得进展;大多数人都出现了急剧下降。在过去的十年中,大多数编程语言都添加了函数式特性。Rust 和 Go 等较新的语言从一开始就拥有它们。而Java也在一系列的更新中逐渐添加了闭包之类的功能。
  • Zig 是一种简单的命令式语言,与 Rust 一样,旨在保证内存安全,但相对容易学习。Mojo 是 Python 的超集,它是编译的,而不是解释的。它专为高性能而设计,尤其是数值运算。
  • 有了 Copilot 和其他工具来回答您的所有问题,您就不需要花费太多精力来学习新技术。

人工智能
在人工智能领域,只有一个故事,而且只有一个故事,那就是 GPT 系列模型。

  • 去年,这些模型上的内容使用量激增 3,600%
  • 人工智能并不完全由 OpenAI 的工作主导。Meta的LLaMA和Llama 2也引起了很多关注。

数据
每家公司都使用数据:用于规划、进行预测、分析业务及其所服务的市场中发生的情况。

  • 数据中第二大主题是 Microsoft Power BI,自 2022 年以来增长了 36%
  • SQL Server 也显示出 5.3% 的增长
  • 统计工具箱 R 增长了 4.8%。
  • 数据工程是迄今为止该类别中使用最频繁的主题;下降了 3.6%,在 2021 年至 2022 年大幅增长后趋于稳定。
  • 数据工程最重要的两个平台 Kafka 和 Spark 在 2023 年出现了显着下降(分别为 21% 和 20%)。Kafka 和 Spark 多年来一直是主力,但随着它们成为“遗留技术”,它们开始显示出自己的年龄。(Hadoop 会下降 26%,到 ​​2023 年显然会成为遗留软件。)
  • 从 2022 年到 2023 年,人们对数据仓库的兴趣下降了 18%。数据仓库也属于遗留技术。
  • 企业级存储的另外两种模式也显示出显着增长:数据湖内容的使用量增长了 37%,从绝对值来看,显着高于数据仓库。
  • 数据网格内容的使用量增长了 5.6%。
  • 有关R的内容的使用量增加了3.6%;
  •  Python 没有变化,pandas 增长了 1.4%。

运营

  • 有关 Linux 的内容的使用量下降了 6.9%:
  • DevOps (9.0%) 和 SRE (13%) 也有所下降,尽管我们认为这并不重要。
  • 供应链管理增长了 5.9%。这并不是一个巨大的增长,但在过去的几年里,我们被迫思考如何管理软件供应链。
  • MLOps(部署和管理机器学习和人工智能模型的学科)增长了 14%。机器学习和人工智能代表了一种不遵循传统规则的新型软件,因此传统的运维方法不起作用。

安全

  • 网络安全,即阻止入侵者进入您的网络,是使用最广泛的主题,增长了 5%。
  • 作为网络安全重要组成部分的防火墙增长了16%。
  • 强化是一个较小的主题,旨在解决系统不易受到攻击的问题,增长了 110%。
  • 渗透测试仍然是最广泛使用的主题之一。尽管 Kali Linux(渗透测试人员的重要工具)的使用量增长了 10%,很大程度上抵消了这一下降,但使用量下降了 5%。
  • 安全治理增长 22% 是态度转变的另一个指标:安全不再是等待事情发生然后救火的临时行动。安全性需要规划、培训、测试和审核,以确保策略有效。
  • 去年,有关身份和访问管理 (IAM) 的内容的使用量增长了 8.0%。这个收益比我们希望看到的要小,但也并非微不足道。随着系统变得越来越复杂,并且随着我们的“身份”概念从个人演变为分配给软件服务的角色,IAM 变得不仅仅是用户名和密码。它需要彻底了解系统上的参与者以及他们被允许执行的操作。这扩展了“最小特权”的旧观念:每个参与者都需要有能力准确地完成他们需要的事情,不多也不少。
  • 应用程序安全性增长了 42%
  • DevSecOps“左移”运动专注于开发过程早期的软件安全,似乎正在获胜;有关 DevSecOps 的内容的使用量增加了 30%。
  • 高级持续威胁 (APT) 使用率下降 35% 
  • 有关零信任的内容的使用量下降了 20%。这种下降被 IAM 的增长所抵消,而 IAM 是实现零信任的重要工具。但不要忘记 IAM 只是一个工具,目标是构建不依赖信任的系统,始终验证每个参与者都得到适当的识别和授权。如果您假设攻击者已经拥有访问权限,您如何保护您的 IT 基础设施?这就是零信任所回答的问题。什么都不相信;验证一切。
  • 合规性下降了 27%。这被人们对治理的兴趣大幅增加所抵消。合规性审计当然是治理的一部分。只关注合规本身而不考虑大局,是一个问题而不是解决方案。

云计算

  • 云原生不仅是 2023 年使用最广泛的主题,而且从 2022 年到 2023 年增长了 175%。
  • 云部署下降了 27%。如果公司正在针对云进行开发,那么这些应用程序是如何部署的?这是一个公平的问题。
  • 有关云安全的内容的使用量增长了 25%,身份和访问管理 (IAM) 的内容使用量增长了 8%。
  • 混合云是一个较小的主题领域,但在过去一年中增长显着 (145%)。这种增长在一定程度上表明云正在成为企业应用程序事实上的部署平台。

Web开发
React 和 Angular 继续主导 Web 开发。JavaScript 仍然是 Web 开发的通用语言,而且这种情况不太可能很快改变。

  • React 内容的使用情况没有发生重大变化(下降了 0.33%)。Angular 下降了 12%
  • Vue 并不是整体的重要组成部分,而且它也不新鲜——它自 2014 年以来就已存在——但如果其 28% 的年增长率持续下去,它将很快成为一个占主导地位的框架。
  • Django 更老(创建于 2005 年),但它仍然被广泛使用——今年增长了 8%,它不会消失。FastAPI 是该组中最新的一个(2018 年)。尽管它只占平台使用量的很小一部分,但使用量的微小变化很容易产生很大的影响。80% 的增幅不容忽视。Django 和 FastAPI 都是基于 Python 的,FastAPI 充分利用了 Python 的类型提示功能。
  • 另一个 Python 框架 Flask 出现了 12% 的下降。
  • 超过 80% 的网络都是基于 PHP 构建的。WordPress(下降 4.8%)是一个用于数百万网站的内容管理系统,基于 PHP。
  • WebAssembly 2023 年下降了 41%。Blazor(一种为 Wasm 生成代码的 C# Web 框架)下降了 11%。这是否意味着 Wasm 快要死了?Wasm 内容的使用可能会逐渐下降……直到有人用它创建杀手级应用程序。

认证
根据我们平台上内容的使用情况(包括模拟测试),最受欢迎的认证是安全认证:

  • CISSP(下降 4.8%)和 CompTIA Security+(增长 6.0%)。
  • ISACA 的认证信息安全经理 (CISM) 考试侧重于风险评估、治理和事件响应,虽然不那么受欢迎,但增长了 54%。
  • CompTIA 的认证高级安全从业者 (CASP+) 增长了 10%,增幅虽然不大,但属于同一趋势。
  • 认证道德黑客 (CEH) 考试重点关注对渗透测试或红队有用的技术,继去年下降后,今年的考试上升了 4.1%。
  • CompTIA A+ 内容的使用量增加,增加了 58%。A+ 不是安全考试;而是安全考试。它被宣传为 IT 支持的入门级考试,强调操作系统、远程工作管理 SaaS、软件、硬件和网络问题故障排除等主题。这是众多想要进入 IT 行业的人的见证。
  • CompTIA Linux+ 考试内容的使用率要低得多,但也急剧增长 (23%),而且正如我们过去所说,Linux 是几乎所有计算工作的“赌注”。
  • Kubernetes 管理员认证 (CKAD) 考试也显示出显着增长 (32%)。
  • AWS 云从业者增加了 35%,其次是 AWS 解决方案架构师(助理),增加了 15%。
  • Microsoft Azure 认证内容紧随其后,尽管两项最重要的考试出现了下降:Azure 基础考试 (AZ-900) 下降了 37%,Azure 管理考试 (AZ-104) 下降了 28%。谷歌云认证落后于其他认证:谷歌的云工程师显示出稳健的增长(14%),而其数据工程师的认证则显着下降(40%)。
  • Microsoft AI-900 考试(Azure AI 基础知识)从 2022 年到 2023 年,它增长了 121%,增长了一倍多。

设计
设计中最重要的故事是关于工具的。

  • 用户体验和网页设计等主题保持稳定或略有下降(分别下降 0.62% 和 3.5%)。
  • 但设计工具的使用率增长了105%,风投独角兽Figma增长了145%。
  • 有关 AR 和 VR 的内容的使用量下降了 25%
  • 有关信息架构的内容的使用量增长了 16%,从 2021 年至 2022 年的下降中恢复过来。

职业发展
O'Reilly 是最后一家相信软件开发人员都是长着颈胡子的极客的公司,他们只想住在山洞里,在终端上打字。我们历史上的大部分时间都在与这种刻板印象作斗争。然而,超越软件开发的范围常常是焦虑的根源。

毫无疑问,对于任何在任何领域走出舒适区的人来说都是如此,无论是会计、法律、医学还是其他领域。但在你职业生涯的某个阶段,你必须做一些你不准备做的事情。而且,老实说,最好的领导者通常是那些有一些焦虑的人,而不是那些反应是“我生来就是领导者”的人。

在过去的几年里,我们的观众对职业发展感兴趣,而不仅仅是为人工智能和机器学习编写软件或构建模型。

  • 项目管理提升 13%;
  • 任何寻求升职或新工作(甚至只是巩固现有工作)的人都可以通过提高沟通技巧得到很好的帮助(提高 23%)。
  • 职业发展(增长 22%)是一个包罗万象的话题。是什么推动了这一点?2023年以大量裁员消息开始和结束。然而,尽管大流行期间过度招聘的大公司进行了裁员,但几乎没有证据表明整个行业受到了影响。被解雇的人似乎很快就会被新雇主抢走。
  • 产品管理是管理产品生命周期(从最初的想法到开发再到发布到市场)的学科,也是一项理想的技能。那么为什么它只增长了2.8%,而不是像项目管理那样增长20%呢?在大多数公司中,产品管理是一个较新的职位;它与营销和销售有着密切的联系,就对裁员的担忧而言(无论是真实的还是媒体驱动的),产品管理职位可能被认为更容易受到影响。
  • 批判性思维教学内容的使用量增长了 39%。这在一定程度上可能是 ChatGPT 和人工智能爆炸式增长的结果。每个人都知道人工智能系统会犯错误,几乎每一篇讨论这些错误的文章都谈到需要批判性思维来分析人工智能的输出并发现错误。