Being a senior programmer proficient in Linux programming has always been a goal pursued by many friends.
According to Chinahr statistics, the average monthly salary for Linux programmers in Beijing is 1.8 times times that of Windows programmers and 2.6 times times for Java programmers, and Linux programmers are averaging 2.9 times times the year-end bonuses for Windows programmers. At the same time, the data show that with the increase of working experience, the income gap between Linux programmers and Windows programmers is increasing.
Denis that to learn the programming of the Linux environment, the key is to see right, choose right, learn the right books.
It can be said that if you choose the classic Linux programming books, with your work in the design of the painstaking study, become a proficient in the Linux programming of senior programmers is not a thing to be expected. But if your programmers ' friends don't pick the right books, your career path may be bumpy.
Today, Tongo to all the friends recommended these books, some senior old-timers to Tang's recommendation, there are IBM's internal training designated reference books, they are worthy of your friends to take time to read carefully.
Why learn to program in a Linux environment
Linux is an open, flexible, cross-platform operating system, up to the vast data center, down to the palm of the embedded device, there is no Linux figure. More importantly, Linux is a system that is both same strain and evolving with Unix. It can be said that the knowledge and skills of Unix learned in the 70 's are still very useful today, and this is in stark contrast to the development of the Windows platform. Programmers don't have to worry about a Microsoft today. Net,che days Out of an F #, so that their past study of the results of the wasted
Last week, during a chat with a Linux project manager, Tongo, the Linux project manager, told Tongo that their projects were very lucrative and needed programmers with some knowledge of Linux programming. He said: "In fact, our programmer's programming skills are not very high, this can be trained and improved at work, the key is that many programmers even basic Linux programming ideas do not understand, how can I hire them?" When we go to college recruitment, give undergraduate students a monthly salary of 8000 yuan, but it is difficult to recruit people. I take some classic examples of classic books to test them, they are basically ask Sanbuzhi. In fact, if they can answer the last half of the question, I would still be willing to consider whether to hire them. And for the relevant parts of the project expertise, we have a professional internal training, do not worry about this issue, the key is to see whether candidates have the basic idea of Linux programming. Tongo that the project manager friend mentioned the problem is still very representative. In fact, many programmers friends, as long as they can master the basic knowledge of these books, it is easy to stand out. In fact, the project managers are very busy, and do not have time to design difficult interview topics, but direct use of classic books in classic examples.
Advanced Programming for the UNIX Environment (2nd edition), Stevens, advanced programming for the Environment of UNIX, recommended index: ★★★★★
Advanced programming for the UNIX environment is a book that Unix/linux programmers must have on their desk. It can be said that if the Linux programmer has not read the book, it is as if the Christian did not read the Bible, it is very difficult to understand. This book outlines all the theoretical frameworks, major system functions, multi-process programming, and even Linux network communication required for Linux programming. For beginners, if you can use the "operating system" this course combined with this book to learn, try to use the Linux program to practice the "operating system" in the book of inter-process communication, process scheduling, process synchronization and other content, I believe this will be a double benefit thing. Oh, I forgot to tell you that the last time CNN interviewed Google President Sarah Palin, Tongo saw that the English version of the book was on Palin's bookshelf and that it was really a must-have book for a global developer.
"In-depth understanding of the Linux kernel" (third edition), Beauvais, etc. "in-depth understanding of the Linux kernel," Recommended index: ★★★★
Learning Linux, you need to learn the essence of Linux. And the essence of Linux is the kernel of Linux. Deep understanding of the Linux kernel is a classic book that assists in learning the Linux kernel. Some beginners, in the absence of guidance of the case, drilling into the Linuxkernel code of the Sea hard study, the results of a half-day study is still confused. Of course, learning under the guidance of a master is not the same. Based on the latest Linux version 2.6 architecture, this book introduces the architecture, programming ideas, and functional modules of the Linux kernel to beginners. I believe you learn under the guidance of this book, for you to read the essence of the Linux operating system, you will achieve a multiplier effect. In fact, many well-known companies to recruit the topic, a lot of it from this book, it can be seen that it is really a description of the Linux kernel classic books.
"Linux device Driver", Corbett "Linux device Driver", recommended index: ★ ¡ï
program development, high salary in Linux, Linux programmers, high pay in the driver development. It can be said that Tongo saw the Linux driver programmer, the salary is under million yuan, none. The prevailing view is that Linux-driven development is hard to learn, which is not true. Beginners think that Linux drive development is difficult to learn, the key is that it does not choose the right entry books. "Linux device Driver" This book, there have been a number of Linux project managers have recommended to Tang, you want to learn mod programming, want to challenge the high-paying position, this book is necessary to read. Of course, this book is not a book for beginners, beginners should first learn the aforementioned "UNIX Environment Advanced Programming" and then read this book, you can really learn to learn Linux drive development.
"Embedded Linux Application Development Complete Handbook", Vedon "embedded Linux Application Development Complete Handbook", recommended index: ★ ¡ï
To say that Linux is the most widely used place, it must be ubiquitous embedded devices, "Embedded Linux Application Development Complete Handbook" is a teach you how to develop Linux embedded system software a good book. Tongo and Vedon, the author of this book, had one side, and Mr. Wei was writing the book. This book combines common embedded development experience techniques, as well as common embedded system applications, System porting, debugging and exception handling, and is very rich in content, which is a rare book in the field of Chinese Linux. A wide range of embedded processors, Mr. Wei focused on the current domestic most commonly used arm systems, the practicality is very strong, is the domestic embedded programmer must not miss a reference book.
"People's Month myth" (32 Anniversary Chinese edition), Brooks "People's Month myth", recommended index: ★★★★★
Tom has recommended a few classic books on Linux programming, but to ask what the ultimate goal of programming is, it must still be applied to the actual project. To do the project, it must be inseparable from the "People's Month myth" this book. Brooks, the author of the Myth of the Human Moon, is the super Daniel of Tongo's company and the winner of the Turing Award. Last year, when he visited China, he said that the book "People's Month myth" condensed the positive and negative experiences in project practice and was a must-read book for project managers and system analysts. Tongo that, the young friends, eventually will have to control the project, and you temporarily re-study, as well as early contact with this knowledge is better. It can be said that the Linux project, the requirements of developers are very high, do not go to the Windows programmer to learn some bad habits, especially project implementation of some bad habits, but should deeply understand the master's books. At present, the 32 anniversary edition of the Myth of People's month has been listed, and people aspiring to become project managers and product managers should not miss the Bible on this project. Summing up the Ancients cloud: "The mindset, on the other, learn and know, The Times also, sleepy and learn, and second also, sleepy but not learn, the people of the next." ”
Tongo that, as the ancients said, for successful Linux programmers, the results of hard work will add to your Linux learning path. For investors who have not yet started, it is important to familiarize yourself with the one or two beginner Linux books as soon as possible. For programmers who have already entered the project but are not yet proficient in Linux development, the sooner you learn what you lack, the sooner you will benefit. For the weak foundation, but also refuses to learn the programmer, perhaps "the next" will be your dismal ending.
Linux Learning (ii)--Tongo's recommended books