开源人才的发展潜力巨大,而且开源领域充满着能够让技术人才发挥的机会!如果你有兴趣在开源领域找到一份工作,本文将提供一些重要的开源学习课程以及认证考试。
新冠肺炎的全球流行增加了远程工作环境的需求,这也同时促进了开源软件的开发。因此,企业需要复杂的解决方案来克服远程工作造成的障碍。为了获得竞争优势并保持最佳状态,很多企业选择了开源技术。根据开源服务市场报告(文末附链接),全球开源服务市场规模预计在预测期内将以 18.2% 增长,将 在2026年达到 500 亿美元(2021 年为 217 亿美元)。
因此,越来越多的招聘人员都在寻找开源人才。根据Linux 基金会和 EdX的开源工作报告,92% 的招聘经理一直在努力寻找开源人才,97% 的招聘经理提到招聘开源人才是他们的首要任务。此外,开源开发人员的薪水十分可观!美国开源开发者的平均年薪为 123,411 美元。
想要获得或者证明自己有开源技术经验的最简单方法是为开源项目做出贡献。为开源做出贡献的方式有很多。例如,新人可以从提交bug报告、编写文档或提交补丁开始。但是,为了在开源领域建立稳固的职业生涯,则可能需要获得相应的开源技术证书才能做到这一点。
一个好的开始是拥有开源认证。事实上,72% 的招聘经理更有可能雇佣有证书的人。此外,在 2021 年,88% 的雇主优先雇用经过认证的专业人员,这个数据在 3 年内增加了 87%。
图 1:优先聘用经过认证的专业人员的雇主百分比,图片摘自开源工作报告
但是,随之而来的问题是:应该采用哪种技术进行认证?
2021 年对开源招聘经理最重要的技术
开源工作报告(文末附链接)在其历史上第一次发现云原生技术已经超越了 Linux。事实上,从 2019年到 2021年,对 Kubernetes认证的需求增加了 455%。图 2 显示了 2021年对开源招聘经理最重要的技术。正如图所示,最值得投入去学习并获取认证相关的技术包括云/容器技术、Linux 和网络技术。
图 2:2021 年对开源招聘经理最重要的技术,图片摘自开源工作报告。
既然我们知道市场上的需求是什么,并且招聘经理更有可能雇佣经过认证的专业人员,那么是时候看看一些针对 Linux 和云/容器技术初学者的开源认证了。通常在获得认证之前,大部分人需要完成一些相关的培训课程作为备考的手段。
Git
开源的基础是在分布式环境中工作,所以首先学习Git是非常重要的。Git for Distributed Software Development (LFD109x) 是一个非常好的入门介绍Git的课程(文末附链接)。
Linux
- Open Source Software Development: Linux for Developers (LFD107x):探讨开发开源软件的关键概念以及如何在 Linux 中工作。本课程是为开发人员设计的 Linux 简介,将解释如何安装 Linux 和程序、如何使用桌面环境、文本编辑器、重要的命令和实用程序、命令外壳和脚本、文件系统和编译器。
- Linux Tools for Software Development (LFD108x) 考核了在 Linux 开发环境及其他环境中进行日常工作所必需的工具。它专为具有在任何操作系统上工作经验并希望了解开源开发基础知识的开发人员而设计。完成该课程的人将熟悉基本的 shell 工具,从而能在 Linux 环境中舒适而高效地工作。
开源软件开发、Linux 和 Git 专业证书
完成以上三门线上培训课程将帮助参与者获得第一个开源认证
- https://www.edx.org/professional-certificate/linuxfoundationx-open-source-software-development-linux-and-git?utm_medium=partner-marketing&utm_source=press&utm_campaign=linuxfoundation&utm_content=pressrelease-osdevelopmentpc
完成这些初学者课程后,如果想继续学习 Linux 开发,请查看Linux 基础培训和认证网站的完整目录(文末附链接)。本文特别推荐Linux 内核调试和安全 (LFD440)课程,适合希望了解 Linux 内核方法和内部基础架构的有经验的开发人员。该课程包括动手练习和演示,并提供编写和调试 Linux 内核代码所需的工具。
云/容器技术
Kubernetes and Cloud Native Essentials (LFS250)是专为刚开始学习云原生技术和容器编排的开发人员、管理员、架构师和经理而设计。本课程将概述云原生技术,然后深入了解容器编排,同时将回顾 Kubernetes 的高级架构,了解容器编排的挑战,以及如何在分布式环境中交付和监控应用程序。
Kubernetes 和 Cloud Native Associate (KCNA)证书
如果想要使用云原生技术并获得 CNCF 证书,也可以了解:
- Certified Kubernetes Administrator (CKA)
- https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/
- Certified Kubernetes Application Developer (CKAD)
- https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/
- Certified Kubernetes Security Specialist (CKS)
- https://training.linuxfoundation.org/certification/certified-kubernetes-security-specialist/
要了解有关 Kubernetes 课程和认证的更多信息,请查看 https://kubernetes.io/training/。
微服务
微服务是创建云应用程序的一种方法[2]。通过运用微服务架构,每个应用程序都由多个服务构建而成,这些服务运行自己的进程并通过 API 进行通信。微服务使应用程序能够更快地开发,并且很容易对其进行更改 [1]。微服务的一个关键特性是它们非常小,这使得它们非常适合云容器化应用程序,这些应用程序也比传统的虚拟机更小、更轻。
如果想了解有关微服务的更多信息,可以了解以下课程:
Building Microservices Platforms with TARS (LFS153x) 将展示如何使用不同的编程语言高效开发微服务程序,并快速将相应的服务部署到应用程序中。该课程将帮助掌握微服务架构的强大技能,并让参与者拥有快速构建基于 TARS 的稳定可靠的应用程序的技能。
TARS应用开发人员认证
- https://training.linuxfoundation.org/certification/linux-foundation-certified-tars-application-developer/
参考文献
[1] https://www.ibm.com/cloud/learn/microservices
[2] https://www.netapp.com/knowledge-center/what-are-microservices/#:~:text=and container technologies.-,Benefits of using cloud microservices,between services with API communication.