What does it take to become a SharePoint developer? You should understand how SharePoint looks to a user, and the best way to learn that is by using it. You should know where to find the documentation for the object model and for CAML, and that means lots of Googling because it's not all in MSDN by any means. And then of course you need to be a developer. Mike Fitzmaurice makes it pretty clear that means an all-around good .NET developer. He's inspired by Gregory MacBeth's inaugural blog post that lists the steps to becoming a good SharePoint developer. Gregory sets the bar pretty high - step 0 is get your MCSD, and then the real learning can begin. My attention was caught by Mike's postscript that in addition to being an all-round .NET dev, in VB or C# as you prefer, and learning the SharePoint-specific material, you're also going to need C++:
Attention tool builders and other interested developers — in the next release, protocol handler development and IFilter development will still need to be in C++. Do not wait for the rules to change, because they won’t (at least not before “v4”). If you want to extend our search technology to new content sources and formats, you might as well get started now. Search gets a lot better in many ways, but the method for developing IFilters/protocol handlers isn’t one of them.
So, all round .NET dev, SharePoint object model, CAML etc, and while you're at it, C++. No wonder I'm finding good SharePoint devs rather hard to find!