As a Netdevops pioneer and evangelist in Chinese-speaking region who has already published the book 《网络工程师的Python之路》and is working on another book 《网络工程师的Golang之路》, I would say that Python is arguably the best programming language for network engineers, but it’s also a great idea to add Go to your tool belt.

The main reason I would say is performance at scale. When dealing with very large networks and a lot of data, Go's performance would certainly outstrip Python's by a good margin. Go also has some nice advantages like being able to compile a binary and hand that off and not needing to worry about virtual environments etc.

Go is also more strict than Python, which I guess is good and bad. The good part is that Go kinda forces you to write a certain way which is good for collaboration, whereas Python you can solve problems in a myriad of bespoke ways.

Broadly speaking, at least in 2022, Python by far is the better choice for network automation in my view. Much more libraries designed to handle, for example, legacy devices. More community support, etc. But with tools like Scrapligo and Netrasp now built, I expect Go to gain more traction. Basically I think for the vast majority of use cases, Python will be your tool. For those working at hyperscale/cloud environments/etc , Go has some nice advantages. Ultimately I believe it's worth learning and adding to your tool belt.