I get a lot of questions regarding what should one learn to progress in a career or start a career in this domain. In this article we will talk about what you should learn for a long-term perspective in this field.
Yes, this is very important and is still evolving. Keeping a good grip on this will help you to understand different tools better. There are many fields in Linux where the new development is happening like eBPF.
Networking is and should be the backbone of your learning. You are working in scenarios like a cloud where solving these issues are becoming more important day by day. As different clouds are abstracting this from users. This will create a shortage of people who understand networking in-depth and your end goal of this career should be to be able to design, build, and run these public clouds and more. So for that you should learn it in depth.
Yes programming, I have put a lot of focus on this before also. Programming enables you to implement your idea in a better way and the more you progress in your career you need to learn programming to develop tools that you can think of. This will give you an edge over others and that’s a promise. Any programming language is fine to start with. Python and Golang are widely used in this field.
As you progress in your career you need to work on projects which are bigger and should handle more scale. To be able to understand the basics and depth of that software, you must be very well aware of different design patterns and how you can design software from scratch. How to handle different problems and solving them in the best way possible will help you proceed more towards a better career.
This is an art that comes with more debugging you do. This is something that really increases with experience. What you can do at the present time is to know your tools. Keeping hold of good tools to debug different aspects of systems. This will help you to grasp this art faster.
Most of the things nowadays are running on one or the other public cloud. It is good to understand the basics of the cloud and how they work together. You will find the same components in different components with slight variations. So learning about one cloud will be good enough.
Where are the tools?
Well, this comes last in my opinion, and please note this in my opinion. Why? Simply because one can learn tools very easily in a few days or weeks while it can take years to understand Linux, networking, and system design in depth.
These are my personal view. Please share what you think one should learn in this field.
If you like the article please share and subscribe.