My latest contract project successfully concluded a couple of weeks ago, and I've been pounding the job sites looking for new work. It's been six or seven years since I last really looked at these sites, so maybe the phrase, ".NET Programmer," or variants, has come to mean something. But, danged if I know what!
My primary language is C#. When developing web functionality, I use that along with ASP.NET, JavaScript, HTML, and CSS. So, from my perspective, I have over six years of experience as a ".NET Programmer." Employers, or at least their HR departments, however, don't see it that way.
During initial phone calls, in response to how much .NET experience I have, I'll say six years of C# and ASP.NET. In the majority of cases, the interviewer responds with, "Yeah, but how much direct .NET programming?" At that point, I know I'm not going to get a substantive interview, because the screener and I aren't speaking the same language.
To me, .NET comprises the Framework and the Common Language Runtime. I am doing .NET programming when I use some language, in my case C#, to make use of the Framework to create an application, utility, or some web-functionality. And, the code I write runs in the CLR. If ".NET programming" means something beyond that, then I think of developing/updating the Framework classes and the CLR. So far as I know, however, that work is MS's exclusive domain. (Not speaking, of course, of inheritance, extension, overriding, etc.)
So, if not C# (or VB, J#, etc.) and ASP.NET, what does ".NET Programming" mean?
Any thoughts greatly appreciated.