I'm working on some C# XSD-processing tools, and an ASP.NET site, backed by an MS SQL database. I haven't done much C# previously but it's a pretty decent environment (the lure of the dark side...), except sometimes I wish I could trace into the System libraries and I can't1 (although a 3rd-party tool called Reflector lets me at least see what's going on in there). The tools were written by a "technical PM" (program manager), so while it's great that he got them written at all, they're not terribly efficient (one tool that imports all the OOXML XSDs into our database used to take 10 minutes, now down to about 2 seconds, for example, although fixing bugs is the main task, not making it faster).* I recently found out about a possible way to trace into .NET's System libraries (thanks AT), but I haven't tried it yet.Part of the code is to find parent-child relationships; the old code went through each schema element and then walked the entire schema and checked if that element was a child; the new code just traverses the schema once, pushing parent items on a stack. Anyway, C# isn't bad, .NET isn't bad and is getting better (we're using 3.0, 3.5 has some nice things though and DML in 4.0 looks interesting). It may be useful to have C#/.NET/XSD stuff on my resume, too.