Only learn linux operation and maintenance, because the operating system is relatively stable (it takes a long time to update system functions, even if the most basic concept of the operating system is updated, it will never change), so there is no need to update the knowledge of linux operation and maintenance direction all the time. Generally speaking, the knowledge structure of linux operation and maintenance has reached its peak.
Learning programming is different. If the programming ability is improved to a certain level, it is definitely not just a programming language. Subsequent programming knowledge is also updated quickly. Knowledge needs to be updated frequently, and it is difficult to reach the top level of knowledge structure.
Salary, general engineer, java is generally higher than linux operation and maintenance salary. Linux advanced operation and maintenance salary is not lower than development. People who are proficient in any knowledge are actually talents, and their annual salary will definitely exceed 60W. It depends on what kind of company it is.
Example: According to normal understanding, dba doesn't need to know how to write programs, but Ali's dba can write and develop customized storage engines for mysql. Automated operation and maintenance requires some perl and python. This explanatory script can be written in C language. So knowledge has no boundaries at all. See what line you like.
It is not difficult for linux to be a senior operation and maintenance engineer. I am a program developer, and I don't know much about the advanced parts of linux, and I don't have much evaluation.