<p>As a consultant I get to toy around with many different products and APIs as the customer demands we use X and Y. I think it is great fun and I learn a lot from it.</p>

<p>What will make a great developer over time is, in my opinion, the will to understand and learn new things. Therefore, I will always try to understand what happens "behind the scenes" when I am using 3rd party products.</p>

<p>I spend around 10-15% of my time in Reflector to learn what the heck I'm really doing when I call method X.</p>

<p>How much time do you spend on average? This may also apply to reading (open) source code, documentation etc.</p>

Since I develop for both .net and compact .net framework, I sometimes decompile the full .net assemblies to "copy" existing functionality to the compact framework.
Other than that I don't spend that much time decompiling libs. Mostly only when something doesn't works and the problem clearly points to an assebmly and I don't want to bug someone else before I'm really shure.
If you want me to stick an number to it, I would say 5% of my time.