Thursday, July 23, 2009

Software Development Fundamentals at TechDays 2009

A conversation on the lack of fundamentals being covered at TechDays has been going on in the blog-o-sphere.  It started with Justice Gray expressing his concern, to which Joey Devilla replied, and then Peter Ritchie got in on the act too.

Fundamentals are sorely lacking in much of the Microsoft development community, and yes, it would be awesome if Microsoft embraced this and flooded TechDays with sessions about SOLID, TDD, design patterns and lots of other technology-agnostic goodness.  I totally agree with Peter that this would ultimately be good for Microsoft’s bottom-line, but I just don’t see this happening anytime soon.

We’ve all seen the Microsoft demo where the presenter opens up a designer, drags a few things around, presses F5 and then proudly proclaims that “I did it all without writing a single line of code!”  Come on people, we’re DEVELOPERS!  Writing code is what we do!  If it were really that easy then why did I bother going to university to get a Computer Science degree?  Why do I read books and blog to keep learning?  Why do I still think that development is really tough?

When we adhere to the fundamentals of software development we end up with higher quality code with a lower overall cost of ownership.  But here’s the catch, fundamentals are hard!  Microsoft is a platform/tools vendor and they have every right to market their products at events like TechDays, but none of those products will make me a better developer as much as a solid understanding of software development fundamentals will.  If Microsoft continues to market their products without a healthy dose of software development fundamentals, the community needs to pick up the slack.

Let’s keep calling out Microsoft when they focus too much on the tools.  Let’s keep writing blogs to promote what we believe is important.  And let’s reach out to those attending TechDays with our own message.  Will there be an opportunity for TechDays attendees in Vancouver to learn about SOLID and other fundamentals?

Dddddddddddddefinitely!!!

It just might not be during the hours of the TechDays event.  Stay tuned for more…

Monday, June 15, 2009

ALT.NET Canada 2009

Last weekend after DevTeach in Vancouver we had the ALT.NET Canada open spaces event.  It was a good idea to have it right after DevTeach because that meant several speakers stuck around for an extra two days of good conversation.

This was my second ALT.NET open spaces event and both have had a heavy dose of Domain-Driven Design sessions.  There was one very interesting session title “Non-Relational Databases” which was an awesome discussion about the practical uses of products like CouchDB, BigTable and db4o.

The last session of the event was convened by Greg Young in which he proposed making ALT.NET Canada into a formal entity with a mandate to promote ALT.NET principles and practices within the Canadian .NET development community.  A discussion also got going about starting up an ALT.NET user group in Vancouver.  More on those to come later.

It was an exhausting week with both DevTeach and ALT.NET Canada, but well worth the lack of sleep.  Can’t wait to do it again soon!

DevTeach Vancouver 2009

Last week I attended my second DevTeach and ALT.NET Canada conference and it got me fired up enough to finally start blogging.  I first set up my blog account over a year ago and wrote three posts that I never ended up publishing.  So now I am officially entering the blog-o-sphere and am excited to share my journey as a software developer.

DevTeach was awesome as usual, even though the economy took its toll and significantly reduced the number of attendees.  On the up side, I did find that the sessions I enjoy the most are often the ones with only a dozen people in the room and the session turns into a big discussion rather than just a speaker talking at the front.

Greg Young’s “Unleash Your Domain” was one of those sessions.  Even though it was the fourth time that I have seen this talk, I still enjoy the conversations that come up and hearing how Greg is fine tuning his technique.

Ayende’s “ORM += 2” session (basically advanced NHibernate) gave me tons of new ideas how I can get even more out of NHibernate.  I had rolled my own natural IDs which I can now throw away and I love the idea on future queries.  More on those features to come later.  I have been using NHibernate for nearly 3 years and am still amazed at the power I can get out of it.

David Laribee’s “Behavior-Driven Development Installed” session has me back trying BDD style tests.  I had previously abandoned them because they made the use of test doubles (mocks, stubs, etc) very cumbersome, but with the AAA syntax of RhinoMocks that problem has gone away.  Also more to come on this later.

The DevTeach sessions are awesome, but the truly best part is that the speakers don’t just hang out in the speakers lounge with each other.  I had several conversions about a whole range of topics over lunch, in the hall, or in the bar afterwards.  This kind of accessibility is what sets DevTeach apart from most larger conferences.  All in all it was a fantastic 3 days and I can’t wait until the next DevTeach.