In my opinion, well....
A book might teach a lot of stuff but...
It might also teach how to cover a load of concepts, but the essential for me is, not even if a developer has much knowledge, to be thistthy for knowledge, to be curious, to have logical thinking, to be smart enough to see a problem for various points of view
A developer in my opinion must be able to do that in a natural way
I work on a daily basis with dozens of developers and it is desolating to see people that make basis mistakes just because they don't stop for 2 seconds and think!
A developer, more than "shith" code must be able to think, and then put into code
When a developer does code without thinking, shit happens, and I see that too many times!
A developer will not do it the correct way at the first time. It will learn with mistakes,and comparing results. For that he must be able to think!
I'm a developer for 15 years plus, and I manage a couple teams at the moment.
I did not learn from a book or school! My studies area is electronics, which I think it is really a good entrance point to development because of of the necessity of logic thinking and understanding.
I had fresh computer science engineers working for me that could not even understand how a print or echo works... Hence they are ingineers . Yes!
Learn, test, give yourself to the "cause", make mistakes. Can you understand your mistakes? No? Try again then!
But this is only my opinion and experience.
Have a good one. And put your best into it.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.