Does Linux O & M personnel need to master a programming language?
Recently, some colleagues or Linux beginners often asked me: do O & M personnel need to learn a language? What language should they learn?
I have two answers to this question:
First of all, in today's rapid development of big data and cloud computing, if system O & M personnel do not understand a little development language, it will indeed be difficult, because in the O & M work, there are many business systems, when an online server is large, it can only be automated by writing scripts (automation is also a script). Otherwise, such repetitive and tedious work cannot be performed by human resources, therefore, it is important to learn a language that allows O & M tasks to be completed in batches.
What language should I learn?
For Linux O & M personnel, the answer is complicated because there are many choices. Shell, perl, python, ruby, etc.
I think every Linux O & M personnel should know the Linux Shell Program (sh or bash) and a language in Perl, Ruby, or Python. It doesn't matter which language you want to learn.
In my opinion, any language serves O & M. If you can complete O & M, which language do you like, there will be some different choices for beginners. If you are a beginner, we recommend that you use more popular languages or use more languages for your enterprise, which will be of great help to your future work, after all, no company is willing to accept a strange language.
So, is it too early for beginners to learn an O & M language at the very beginning, because any language, especially shell and python, is closely related to Linux, if you don't know anything about Linux, you just need to learn the language without knowing it. Therefore, I suggest that you study the system language after having the foundation of Linux. You will find that, language also becomes much easier.
As a general system language, shell must be understood and mastered by all O & M personnel. shell can help us solve a lot of repetitive and tedious work in daily work, however, the basis of shell is system commands. Therefore, shell can run only after mastering the principles and usage of system commands. I have seen many Linux users who have been in contact with O & M for many years, but for how to execute for loop, while loop, if with [[or [, $1, $2, $3... $ *, $ @, and case statements won't be used. Sooner or later, they will blame themselves for failing to learn bash as soon as possible.
So someone asked me, I am very familiar with shell, but I still cannot find a job. Many organizations require python, ruby, and other languages. Do I need to learn these languages?
This problem is divided into two aspects. First of all, from the perspective of employees, it is sufficient for an enterprise to recruit employees for its own services, it doesn't matter which language is used for implementation. Some enterprises may require that all work be done in one language for the purposes of habits or traditions. This is an enterprise environment problem. If every employee has this habit of relying entirely on the Enterprise, isn't it necessary to learn the language of the Club? Obviously, this is not the norm.
Many of my friends have read the recruitment information and are familiar with the language requirements such as shell, python, and perl. This shows that the language requirements for O & M work are relatively broad, I have worked for many large companies and have a professional task scheduling management platform for O & M work. On the scheduling management platform, I can support O & M scheduling tasks written in any language. Therefore, you don't have to worry about the language you want to learn.
Then, from the perspective of career management, I think that I am really good at one of the languages, and I am involved in other languages, which is the biggest competitiveness, even if this means reading only the first few chapters of the books that introduce these languages. The true expertise in one of these languages means that you have a deep understanding of how to use the language and how it is at the "bottom layer", so that when you design a larger program, to make more reasonable decisions. The reason why I raised this issue to the level of career management is that if you want to be employed by a company in a different language, "being an expert who is willing to learn different languages" is far more than "becoming a language that only wants to learn a language that has great potential" or "understanding this language or that language, but I have never been patient with the importance of a person with good linguistics.
I am a South African ant, a frontline O & M engineer who has been working for many years. If you are still confused about how to learn an O & M language, take a look!