Not necessarily, if you're good at logical problem finding (or just plain lucky). I've done a
fair amount, granted not in the kernel, but definitely in complex tangled software that I've
previously looked into even less than kernel stuff. Being able to find ways of narrowing down
where the problem most likely lies is often a good enough start. Unplug all but most essential
hardware, compile out all but most essential features, does that fix? Add half back... you
don't need to understand how it could be in the half you're adding as opposed to the half
still out, but it narrows down where it's likely to be. Of course, and knowledge you have have
increases your chances of picking the right systems to remove/add first.
Of course this example wouldn't get you far on its own, and is highly dependent on the type of
problem, but as you start working your way in, learn little bits about where you're looking,
and find what you have to do to look closer. Even if once found, you don't have a clue how to
fix, being able to give this clear information to someone who /does/ understand it can often
yield a pretty quick "ah I know".
So yes I guess I think greater fundamental knowledge for newbs would be more productive than
great understanding of deep internals with less knowledge of how to find where you need to be