Why I switched back to Python
I spent a year learning Go, but I switched back to Python instead. Why? It increases my chances of landing a job. In my early years as a DevOps engineer, I used Python every day. Still, I felt a pull toward Go. The reason? I wanted to contribute to open source. I wanted to learn the main language developers use for cloud-native tools. As a Kubernetes engineer, it’s important to know the Kubernetes source code. Or so I thought. Most projects are now highly complex, making it hard to understand them completely. This is true if you’re not a full-time software engineer and focus on infrastructure, like me. When I need to check something in the source code, I can use an LLM to help me. This option didn’t exist when I began my DevOps journey. Learning Go has been a great experience. It feels like "real programming" because of its strict typing and ability to work with memory. Go uses automatic garbage collection for memory management. Still, features like pointers and control over allocation help you understand and influence how you use memory. And the fact that you can compile it to a single binary is a huge advantage. However, I switched back to Python for the following reasons: 1. In the Netherlands, there are substantially more jobs available that require Python. Some places use Go, but Python is more prevalent. 2. Python is easier to learn than Go. You can become productive in a very short time, but there is plenty of depth to explore as well. 3. Python boasts a rich library ecosystem and a vast community. Hackers and tinkerers use Python for nearly everything. 4. The AI and ML world mainly uses Python. Libraries for heavy workloads, like ML, include PyTorch and NumPy. These libraries are written in C, C++, or CUDA but offer Python APIs. Python is basically a wrapper around C. But instead of learning C, Python is much easier to learn for academics, scientists, and other folks who write code but who aren't necessarily building software. In my daily work as a DevOps Engineer, I often write a simple API or a CLI tool. Sometimes I need to stitch a few API's together. Python handles all of these use cases perfectly.