运维学python还是go,python和go哪个好找工作
1.开源社区的驱动
几年前Python是如何崛起并取代运维工程师常用的Shell和Perl的?
主要受DevOps文化驱动,运维工程师不愿意写一些简单的脚本化函数。
Python可以编写更多面向项目的项目,保持项目的扩展性、封装性和复用性,还有各种便捷的Web框架可以快速搭建所需的运维自动化平台。
但近年来很多新兴的与运维相关的开源项目都是用Go语言实现的,比如Docker、Kubernetes、OpenFalcon、Prometheus等。
熟悉Go语言的运维工程师可以对相关开源项目有更深入的了解,熟悉其架构实现。
我们甚至可以基于它进行简单的二次开发,实现我们需要的功能。
而且Go和Python编程语言在语法上各有特色,都是易学易用的。学了两种语言,多点技能也不是负担。
它们之间没有替代关系,只是在各自的领域发挥各自的作用。Python的语法简单直观,Go的语法简单,运行高效。在多线程方面非常优秀,非常适合掌握了一定编程基础和主流语言的同学学习。
题目中提到的放弃Python有点激进,因为过去留下的很多项目和脚本都是用Python实现的,所以不可能放弃。最多是用Go来开发后续的新项目。我们的运维团队还是以Python为主,Go用于一些比较新的项目的二次开发。
2.差异化竞争
在运维工程师这个行业,因为进入门槛比较低,中高端的运维工程师喜欢通过一些比较新的技术或者技能来武装或者标榜自己。
如Python VS Shell,DevOps VS脚本运维,容器化VS虚拟机等。几年前。
都是通过引入相对新的技术来完善自己的技术体系和运维团队技术栈。
想象两个能力和工作经验相似的运维工程师:
一个Shell,Python,Nginx等。那是只熟悉旧的;
一个是还熟悉新兴的Go,Docker,Kubernetes等。
哪个在就业市场上更有竞争力?
对于运维工程师能力体系的差异化竞争,有技能、有上升追求的运维工程师会不断学习新技能。
Go语言是最近最好的载体。通过学习这种语言,可以深入到相关的主流新兴项目(Docker、Kubernetes、OpenFalcon)中,达到差异化竞争的目的。
至于其他的安装、配置、编译、并发编程等。都是次要的。
不仅仅是运维,很多开发和测试都把Go作为备份工具。还是那句话,技能再多也不够!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。