One of my biggest problems with working in .NET (and especially back in my ASP and VB days), is that most .NET (or respective technology) developers don't approach n-tier development appropriately. The general ideas are sometimes followed, but even in those random cases, they are usually half-ass. Granted, this is just my experience, but I'd feel confident enough to say that this is the case in over 75% of the projects.
I was surprised and relieved to see an an article discussing the importance of breaking up the tiers. I know that there are a lot of good architects, designers, and developers out there, I just hope that I get a chance to work with a few in my career. There are several I've been lucky enough to talk to, but those are mostly focused on other technologies. I'd have to say that I've only worked with a handful of great .NET developers. The problem is that most of these guys haven't been exposed to large-scale development projects and/or quality software engineering theories in practice.
I hope that I find more of these types of developers. Even moreso, I'd like to meet and work with some architects and designers who have a good knowledge-base and wealth of experience in not only .NET, but other object-oriented and/or component-based platforms. As an architect, I get a lot out of working with good developers. It's too bad that they are so few and far between.