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, boiled fish to all friends recommend these books, some senior old-timers to boiled fish recommendations, there are also IBM's internal training designated reference books, they are worthy of your friends 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 do not have to worry about Microsoft today out of a. NET, tomorrow another F #, so that their past study of the results of the wasted.
Last week, boiled fish in a chat with a Linux project manager, the Linux project manager told boiled fish that their project was highly profitable and needed programmers with a certain 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. ”
Boiled fish think, 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 UNIX Environment, recommendation index: ★★★★★
When to buy | In the purchase of excellence
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, forget to tell everyone, the last time CNN interviewed Google President Sarah Palin, boiled fish saw Palin's bookshelf on the English version of the book, it is really a global developer must have a book.
"In-depth understanding of the Linux kernel" (third edition), Beauvais
"In-depth understanding of the Linux kernel," Recommended index: ★★★★
When to buy | In the purchase of excellence
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 Linux kernel 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 Drivers", recommended index: ★ ¡ï
When to buy | In the purchase of excellence
program development, high salary in Linux, Linux programmers, high pay in the driver development. It can be said that the boiled fish have seen 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 in the past recommended to boiled fish, 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.
The complete handbook of embedded Linux application development, Vedon
"Embedded Linux Application Development Complete Handbook", recommended index: ★ ¡ï
When to buy | In the purchase of excellence
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. Boiled Fish and the book author Vedon teacher once had one side, when Mr. Wei is writing this 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.
"Human Moon Myth" (32 Anniversary Chinese edition), Brooks
"People's Month myth", recommended index: ★★★★★
When to buy | In the purchase of excellence
Boiled Fish recommended several classic Linux programming books, but to ask what the ultimate purpose of programming, it must be applied to the actual project. To do the project, it must be inseparable from the "People's Month myth" this book. Brooks, author of the Myth of Man and Month, is the Super Bull of the company where boiled fish is located 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. Boiled fish think, you young friends, eventually will have to control the project, and you temporarily re-study, rather than 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.
Summarize
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." Boiled fish think, 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.