I had the opportunity early last week to attend the VSLive! New York .NET Developer conference from 9/8 thru 9/10 and I learned quite a bit from my attendance. For context, the following is the list of talks that I chose to attend…
Monday
- Best Practices in ASP.NET 2.0/3.5: defending yourself from worst practices by Richard Hale Shaw
- The ADO.NET Entity Framework and Entity Data Model by Jackie Goldstein
- Controlling AJAX when you’re out of Control by G. Andrew Duthie
- ASP.NET AJAX Application Design by Fritz Onion
- Building Effective Data-bound Applications with WPF and Silverlight by John Papa
Tuesday
- Silverlight 2 with Expression Studio: a developer’s point-of-view by David Isbitski
- Programming the ‘Beyond Relational’ features in SQL Server 2008 by Lenoard Lobel
- The Zen of ASP.NET and MVC by Javier Lozano
- Building Controls in Silverlight 2 by Fritz Onion
- Silverlight, SOA, and Objects by Rocky Lhotka
Wedensday
- Understanding the Framework Design Guidelines by Richard Hale Shaw
- Geocoding, RSS, and Mapping, Oh, my! by G. Andrew Duthie
- Leveraging Databinding Against Objects by Rocky Lhotka
- Fun with HTTP Handlers and Security by Miguel Castro
- Oracle for SQL Developers by Benjamin Day
Why my Choice of Talks?
The first thing you may notice is that my selection of talks to attend was pretty eclectic — some from the Silverlight/WPF camp, others from the ASP.NET track, and still others from the data/database track. This was intentional, of course. Since so much data about this stuff is already available on the Internet for anyone interested in spending time reading blogs, watching screencasts , or posting questions for forums my point in selecting these topics was largely to make use of my time there to focus in mostly on things that I just hadn’t yet had time to dig into in my off-hours.
For example, since my company focuses almost exclusively on software development consulting for larger enterprise organizations we have no immediate need for Silverlight in our repertoire but its something that I always wanted to at least begin to get my feet wet with just to ensure that I’m fully aware of the technology’s capabilities and limitations when looking at proposing solutions for our clients. Bottom line, BTW: Silverlight 2 still has little applicability to inside-the-firewall apps that will never be public-facing (IMHO) since its support for services, databinding, and other ‘baseline business expectations of client software’ is still way too raw compared to any of the other MS-sponsored alternatives (ASP.NET AJAX or Winforms). Unless your clients are more interested in spinning, morphing graphics for their internal apps than responsiveness and rich UI interactivity, don’t bother with Silverlight for the time-being for enterprise applications.
General Overview
Like most conferences of this genre, both the topics and the speakers varied wildly in terms of value for me. Some were rather introductory in their topics and their content while others I found to offer some quite useful value for my time. This is what you get when you offer a conference designed to (somehow) appeal to developers of wildly-varying skill-sets and background, I think. Some attendees will be bored to death and others will be completely lost in some topics. Overall, I consider the conference to have been a good use of my time, but in the future I personally would prefer a distinct more advanced track offered that would provide more challenging topics and deep-dive info for people like myself with a significant background in a lot of the technologies being discussed.
What I Learned at VSLive! New York
So what was the big take-away from my attendance at the conference? The single most important thing that I learned at VSLive! New York was how incredibly lucky I am to be working at a place like Microdesk. No, really. When the entire room full of conference attendees was asked "how many of you are still running VS 2005/.NET 2.0?" and over half the room of 200+ raised their hands, I was (personally) floored by this.
VS 2008 was released nearly a year ago, offers significant tooling improvements over VS 2005, and still allows devs to target the 2.0 framework from within the new IDE. Given all this, I was amazed how many people are still on the ‘legacy’ IDE due to ‘corporate policies’, lack of upgrade funds (I guess clearly not everyone doing ‘real’ production software engineering using MS technologies is on an MSDN Premium subscription), or other internal "its already good enough" inertia.
I also came away happy that as a software engineering consultant we are constantly switching projects from one client to the next and so this avoids our getting bogged down in multi-year projects that lock one into years-old technologies. Instead, we are (typically) afforded the flexibility of leveraging whatever technology makes the most sense to solve our client’s problems — in several of my discussions with other conference attendees, I was reminded again and again how truly uncommon such opportunities are in many software engineering efforts and it made me even more thankful for the environment within which I currently practice my chosen profession.
The ALT.NET Chasm?
The last thing I was reminded of at VSLive! New York was what its like to be surrounded by developers who (for better or for worse) have near-completely swallowed the Redmond-offered lines about how best to develop software. The sheer lack of anything more than cursory name-recognition among most attendees for many of the TLAs that I consider best-practices for software engineers like TDD, SoC, SRP, IoC, etc. was somewhat frightening to a confirmed ALT.NETter like myself and it reconfirms for me the size of the incredible chasm that exists between the ‘average’ .NET developer (whatever that means!) and the values proffered by the ALT.NET community.
Surrounded as I am at work with other software developers who tend to share my values and approaches to solving problems (not much of a surprise since I participate in our hiring process!), I had completely forgotten what its like out there in the majority of the rest of the .NET software development world.
While its not (to my knowledge) the mission of ALT.NET to make everyone else ALT.NET, my forced re-immersion into the ‘general’ .NET developer population certainly has reinforced to me in a rather stark way why Microsoft’s focus, tooling, and technologies have the focus that they do. Rather than seeing to my needs as an ALT.NET developer, Microsoft is focused strongly with their developer technology stack on making these other developers productive.
I’m not certain that this is a bad thing at all — by lowering the bar for being an effective .NET developer, Microsoft managed to swell the ranks of .NET developers to a size at least near that of the Java programmers in a (relatively) short period of time and from a business perspective, this has to be a good thing for them. Their own challenge now is to redefine what it really means to be a ‘productive’ .NET developer — it has to reach beyond ‘initial prototype via drag-and-drop demo-style apps’ to ‘building something that is flexible, adaptable, maintainable, and extensible that can serve the long-term needs of the software users’.
If Microsoft can successfully redefine what it means to be a .NET developer in these terms and provide tooling that reinforces these goals instead of the RAD demo goals, then the principles of ALT.NET will be reinforced by Microsoft tooling rather than an afterthought. Introducing a formal unit testing framework into VS 2008 Pro and above is just the first in what I hope will be a number of successive moves down this very path that (with some luck) will result in the dissolution of the ALT.NET movement since its very reason for being will cease to have validity.
So except of learning that there are a lot of people still using VS 2005 and how incredibly lucky you are for working at a place like Microdesk, did you learn anything.
Why didn’t they have an ALT.NET talk.
@Yitzchok:
Sure; I learned…
1) Silverlight 2 has a long way to go before its a viable replacement for ASP.NET Ajax on the client-side (decidedly NOT its mission, so not really a big deal there, though I strongly suspect that many a developer will try to stick the round peg that is Silverlight 2 into the square hole that is an inside-the-firewall corporate data-bound app)
2) Rocky’s talk on databinding to objects was pretty informative (not the basics, but some of the details re: work-arounds for little shortcomings of the .NET databinding infrastructure were very valuable as was his comparison of the binding API in ASP.NET, winforms, WPF, and WPF/e — oops, I mean Silverlight!)
3) The SQL Server 2008 beyond-relational talk was my first exposure to the FILESTREAM data type in SQL 2008 and seeing it exercised and understanding its nuances was very valuable to me (since we routinely fight the BLOB-in-the-database-vs-the-path-to-file-item-on-disk fight in a lot of our applications)
4) The talk of GeoRSS was very interesting — I hadn’t any awareness that it was even possible to geocode items in an RSS feed and since we do so much geospatial work, this is a tool that may be of use in my arsenal for the future
5) I learned that there are so many .NET developers with little or no understanding of the challenges, issues, etc. around ORM that the Entity Framework isn’t going to see widespread effective adoption for some time to come
Re: why there wasn’t an ALT.NET talk, I think its because I probably would have been having it with myself 🙂 since there didn’t seem to be anything approaching a critical mass of agile-leaning people at the conference. The ‘birds-of-a-feather’ lunch table marked “ASP.NET MVC” (by my judgement, the topic most likely to attract ALT.NETters) was occupied by people at least *interested* in ASP.NET MVC but largely without even having downloaded the preview bits yet, so discussion on such topics was necessarily limited to high-level concepts rather than lower-level details.
In short: this was a MS-focused conference on MS-centric development philosophies and practices where there likley would have been minimal traction for the ALT.NET principles. As such, it made for a good place to get technology-centric information and details, but a poor place for spirited discussion about HOW to leverage any of these technologies.
@Yitzchok:
Oh, and one more thing — I did get interviewed (twice, actually) by a reporter covering the conference from Redmond Developer News about my reaction to the OSLO initiative, the Vote-of-no-confidence on the Entity Framework, and the goals of ALT.NET in general in trying to influence the direction of MS DevDiv in a positive way.
I think I gave the poor guy quite an earful for about 20 minutes there 🙂
@Steve
That sounds a lot better 😉
Maybe next year there will be some ALT.NET stuff there:)
[…] What I learned at VSLive! New YorkGiven all this, I was amazed how many people are still on the ‘legacy’ IDE due to ‘corporate policies’, lack of upgrade funds (I guess clearly not everyone doing ‘real’ production software engineering using MS technologies is on an MSDN … […]
[…] a bit of a delay (VSLive, my wedding anniversary, helping to launch the first meeting of the NYC ALT.NET user group, and a […]