One of the constructs I miss from academia is a curriculum for what must be covered in order to get a degree in computer science. I started with a .NET shop almost three years ago without having any .NET training. Given my experience with the field and trying to stay up on things via conferences, blogs, podcasts, etc., I feel I'm drowning in a sea of infinite depth.
Having some structure works really well for me, so I thought the closest thing would be certification. It appears the Microsoft Certified Professional Developer (MCPD) would be the closest fit; however, others have said the Microsoft certs aren't really geared for the "get a book, study, pass the test" model -- you need to have actual experience. What if my experience is flawed or doesn't exercise techniques that others consider important? The other attractive part of certification is that it is standardized, meaning that both myself and employers know that I have demonstrated knowledge over certain topics.
I do C#/WPF development for my job and would love to get my hands on a list of things every .NET/C#/WPF developer should know. Yeah, I get the most common stuff like object-oriented design, events, syntax, etc. But the language (and the framework) has many subtleties -- extension methods, lambda expressions, delegates/events, data binding, threading, operator overloading, weak vs. strong events. Microsoft doesn't seem to offer a language-specific or framework-specific exam, so I'm left to books/blogs/wikis to fill in the gaps.
I'm committed to improving my craft through learning and experience. How do you as developers handle this situation? Thanks in advance!