BY MARKUS SPRUNCK
Twenty years ago - when I started with software development - the only way to learn software engineering was to buy & read books, take lectures at university and/or attend expensive commercial training. During the last 10 years this changed completely. Today almost everything can be found in the internet and this mainly for free. So, "Why should a software engineer still buy and read expensive books?"
Learning a new technology, library, programming language, tool and working with a new large code base is like beeing cast away somewhere in an unknown jungle.
In the first place, you see just land covered with dense vegetation. By the time you discover different sources for foot, small trails, clean water and shelter for the night. For sure there will be dangerous animals, pitfalls and toxic vegetation.
Anyway, it is very helpfull to have a good map of the jungle, a compass and a book about things-you-should-do-to-survive. This book may have the title 'The Wilderness Survival Guide'. For some basic skills like martial arts or a good level of fitness you may need years of practise.
Unfortunately, you may starve to death before you have had time to read this 'The Wilderness Survival Guide'. You need some skills before you realize it. When you face a poisonous spider you may not have time to google how to escape (even if you have a mobile and an internet connection - what is not very likely).
The same principles are true for your daily work as a software engineer. In a meeting with clients, your project team and/or some architects, it is usually not possible to say: "Excuse me for 15 minutes, I'd like to google some basics." This does not mean that you have to know everything, but you should have at least a wide knowledge about fundamental principles.
Reading a good software engineering book gives you a comprehensive overview about a complete topic and/or understanding of fundermantal concepts. The following Books are - according to my opinion - in the category good-software-engineering-book:
Good software engineering books are not cheap. The prise for all books mentioned above is $465.11, but you get 6932 pages of high quality knowlege. This makes about 6 Cent per page and for the same amout you would get just one or two days class room training.
Additionally you have to invest your personal time:
Not everything what you read will be interesting and/or helpfull for your current situation, but you will remember even years later what you read about and you will find it again. The most important aspect is that you get a broader overview (of the jungle).
You may say: "I can get all what I need in the internet." That is correct, you may find everything for free in free blogs, e-books or open lectures from top universites.
To find an optimal solution you should try to find a global optimum. Google will give in most cases a fast answer for a problem, but it is not sure that this will be the best possible one. The pure hill-climber-approach traps quite often in a local optimum. It is important to know more - sometimes a lot more - to find a global optimum.
Blogs have no lectors and/or peer reviewers. Everybody can write without any quality assurance. Even what you read in this article could be absolut nonsense (it's up to you to decide).