I am new to sharepoint development but have about 10 years of expirence in C++, VB6 and C#. It is my experience that a great way to learn a new language or coding style is to spend some time "dissecting" one of the open source projects available at CodePlex or Google code. In order to avoid picking up some bad habits without knowing it, I would like to hear which projects you can recommend.
TIA
I would also recommend the CKS but I would also add that I have found that coding isn't the biggest issue when learning SharePoint but determining the best solution to acheive your goal. Should you use a workflow or an event handler? Should you use custom code or the BDC? Should you build a web part or a layout page? Should you use a list, a custom form or an InfoPath form?
So, in addition to learning coding practices you should spend a large amount of time finding approaches to solving problems. SharePoint offers a lot of benefits but unfortunately an easy learning curve is not one of them. I also have 10 years of development and it took me 6 months to start to fully comprehend best approaches on solving business requirements most effectively.
I recommend:
patterns & practices SharePoint Guidance
Best Practices Resource Center for SharePoint Server 2007
Microsoft Office SharePoint Server 2007 Best Practices (Paperback)