ten years ago I would totally agree with what you said. Yet after experiencing some nontrivial kernel projects these years, and seeing how the projects carry on with lots of change of requirement and still stand well. I totally understand the real skills are hardly from one or two books. You have to join some team to experience it, then you can feel it. Then you are free of fear of change, free of overtime working, free of heck even debugging.