The word “roadmap” tends to make honest product managers quiver; it provokes a similar reaction from software development managers. Nonetheless, we’ve been working hard on our .NET learning roadmap at InnerWorkings.

I’ll be walking through the full roadmap in future posts, but let’s start at the start shall we?

Hot on the heels of our most popular New Features in C# 4.0 release last month, we’re turning our attention to another core area of .NET 4.0 for professional developers.

MVC LogoNow it’s time to tackle <insert drum roll> the wildly popular ASP.NET MVC 2!

We figure that if Scott Hanselman and Scott Guthrie have co-written a book about it, you just know it’s going to be a big deal.

So what aspects of ASP.NET MVC 2 have we decided to cover for the intrepid professional software developer with some room in their brains for new skills?

Here’s the shortlist of topics that made the cut into our MVC 2 training:

  • Introduction to MVC 2
  • Using Controllers, Actions, and Views
  • Templated Helpers
  • MVC 2 validation and DataAnnotation support
  • Using Filters in MVC 2
  • Using AJAX with MVC 2
  • Using Areas with MVC 2

I should point out that this outline is an update on our existing ASP.NET MVC Fundamentals training, so it’s well vetted content updated for the latest release of MVC.

Coming SoonLook out for an announcement on this blog once we release our MVC 2 training; it’s currently in development and will be coming soon.

I’ll be covering future InnerWorkings roadmap topics in my next post but here’s a hint — if you’re a Visual Basic developer, you won’t be disappointed with what comes after MVC 2.

Add this post to: del.icio.us:ASP.NET MVC 2 Training from InnerWorkings digg:ASP.NET MVC 2 Training from InnerWorkings spurl:ASP.NET MVC 2 Training from InnerWorkings simpy:ASP.NET MVC 2 Training from InnerWorkings newsvine:ASP.NET MVC 2 Training from InnerWorkings blinklist:ASP.NET MVC 2 Training from InnerWorkings furl:ASP.NET MVC 2 Training from InnerWorkings reddit:ASP.NET MVC 2 Training from InnerWorkings Y!:ASP.NET MVC 2 Training from InnerWorkings google:ASP.NET MVC 2 Training from InnerWorkings technorati:ASP.NET MVC 2 Training from InnerWorkings stumbleupon:ASP.NET MVC 2 Training from InnerWorkings windowslive:ASP.NET MVC 2 Training from InnerWorkings

 VS 2010The April release date for Visual Studio 2010 and the .NET Framework 4.0 was accompanied by the usual “hubbub” and evangelical zeal that we’ve come to expect from Microsoft.

It’s fair to say that initial feedback on the changes in the Visual Studio IDE and enhancements to the underlying .NET Framework were broadly positive.

However, it really takes a few months for adoption to ramp up and the real story to emerge from developers in the trenches, so to speak.

In today’s blog, I’m going to focus on our latest .NET training release titled New Features in C# 4.0. While InnerWorkings is a longtime Microsoft partner and we support adoption of the .NET Framework in many ways, we try to keep our heads about new releases.

Our community expects us to focus on the key features that professional developers need to master. So consider us “fair and balanced” but not in the Fox News kind of way…

So what’s important for developers in the latest release of C# and why should you care about it anyway? Let me list the core areas of C# 4.0 that we think developers should focus on:

  • using the dynamic keyword as a data type that supports runtime lookup
  • using optional parameters for constructors and methods
  • explicitly naming an argument being passing to a method
  • working with the enhanced COM Interop features in C# 4.0
  • dynamically importing COM APIs and deploying without Primary Interop Assemblies
  • skipping the passing of optional parameters when making calls to COM objects
  • omitting the ref keyword when calling a method on a COM object
  • using the built-in .NET interfaces that have been made variant in .NET 4.0
  • making generic interfaces and delegates covariant

And that’s really all there is! Our latest Drill on New Features in C# 4.0 is available to all InnerWorkings enterprise customers from today — contact us if you’d like to learn more about our subscription options for developers and software teams. We’ll be adding more .NET 4.0 training (think ASP.NET MVC 2) to the bundle before making it available from our web catalog, so watch this space.

In the meantime, you should check out this Channel 9 video titled Inside C# 4.0 for a behind-the-scenes look at how C# 4.0 evolved at Microsoft. Enjoy!

Add this post to: del.icio.us:New Features in C# 4.0 digg:New Features in C# 4.0 spurl:New Features in C# 4.0 simpy:New Features in C# 4.0 newsvine:New Features in C# 4.0 blinklist:New Features in C# 4.0 furl:New Features in C# 4.0 reddit:New Features in C# 4.0 Y!:New Features in C# 4.0 google:New Features in C# 4.0 technorati:New Features in C# 4.0 stumbleupon:New Features in C# 4.0 windowslive:New Features in C# 4.0

Blue ribbon certificateLet’s face it — we live in a world obsessed by certificates. All the important life stages — birth, graduation, marriage, home ownership, death — are all marked with solemn and official looking piece of paper.

The role of certificates is certainly prominent in our professional lives too. Apply for a software development position and your potential employer will usually ask for physical proof of your diploma, degree, or certification. In many instances, that official piece of paper or digital certificate really counts.

At InnerWorkings, we introduced our certificates of achievement for .NET developers about 2 years ago. I recall that we questioned the effect of certificates on our developer audience at the time.

InnerWorkings Certificate of Achievement

Would people appreciate the validation and visible recognition of a job well done, or would it simply be an annoyance without much objective value?

Thankfully, the response from our developer community to receiving our certificates of achievement has been overwhelmingly positive.

The premise behind our certificate model is simple — for every Drill (3 hours of .NET coding exercises) that you complete successfully, you receive a digital certificate from our learning platform.

Our certificate threshold is very high, I might add — you’re required to post a perfect 100% score in each coding task before the system will recognize your achievement. It’s not that we are biased towards perfectionists, I protest; we simply take the view that an application which is 97% secure isn’t going to cut it with your customers in the real world.

Since introducing the certificate system into our developer community, our platform has issued almost 20,000 unique certificates of achievement to individual developers. Think of all the rain forests we’ve saved by opting for digital certificates, eh?

Feedback on our certificate feature has been really positive too — it’s clear that developers in our learning environment are delighted to receive recognition of their hard work in getting to grips with new and often difficult .NET technologies.

Peer recognition is always a nice bonus, so many developers choose to share their hard earned certificates on social networks or add them to their resumes. Go on, we encourage you to brag a little!World Cup Trophy

In the end, I think it’s human nature to want a physical record of our achievements and recognition of our skills — imagine the Olympic Games without medal ceremonies, or the World Cup without that stunning gold trophy.

So if you’re in the business of building a community of practice where people contribute significant time and effort, I’d highly recommend that you consider a certificate system to reward your users. It’s likely to generate good feeling among your most dedicated followers and I promise it’s much less painful than a trip to the local government office to retrieve your birth certificate!

Add this post to: del.icio.us:Do certificates motivate developers? digg:Do certificates motivate developers? spurl:Do certificates motivate developers? simpy:Do certificates motivate developers? newsvine:Do certificates motivate developers? blinklist:Do certificates motivate developers? furl:Do certificates motivate developers? reddit:Do certificates motivate developers? Y!:Do certificates motivate developers? google:Do certificates motivate developers? technorati:Do certificates motivate developers? stumbleupon:Do certificates motivate developers? windowslive:Do certificates motivate developers?

TechEd 2010 Special OfferIf you’re at TechEd 2010 in New Orleans this week, I think you’ll be interested in the following announcement.

InnerWorkings has teamed up with our .NET training partner Pluralsight to offer developers access to a very powerful combined learning solution.

TechEd attendees will get the best of Pluralsight’s acclaimed on-demand training videos from industry experts alongside InnerWorkings’ award-winning learning tool embedded in Visual Studio.

Both our training solutions are available for the price of a single annual subscription — a great deal for folks at the show.

So if you’re at TechEd, please visit the InnerWorkings booth (#2632) or the Pluralsight booth (#2544) and we’ll provide more information about this amazing deal. Inquiries can also be sent to sales@innerworkings.com or pssales@pluralsight.com.

Laissez les bon temps rouler!

Add this post to: del.icio.us:.NET Training Special @ TechEd 2010 digg:.NET Training Special @ TechEd 2010 spurl:.NET Training Special @ TechEd 2010 simpy:.NET Training Special @ TechEd 2010 newsvine:.NET Training Special @ TechEd 2010 blinklist:.NET Training Special @ TechEd 2010 furl:.NET Training Special @ TechEd 2010 reddit:.NET Training Special @ TechEd 2010 Y!:.NET Training Special @ TechEd 2010 google:.NET Training Special @ TechEd 2010 technorati:.NET Training Special @ TechEd 2010 stumbleupon:.NET Training Special @ TechEd 2010 windowslive:.NET Training Special @ TechEd 2010

Swag BagsOver the years at InnerWorkings, we’ve teamed up with enough developer communities and local user groups to fill a small stadium. We’ve sponsored dozens of developer-centric events by offering free training, hosting contests, and giving away spot prizes.

Such user group activity is typically a positive experience with good intentions on both sides — organizers bring tangible value to the development community and vendors get meaningful product exposure to an influential group of developers and architects. Fair enough.

But these local efforts seem almost quaint in the shadow of some very large developer communities that boast incredible scale and reach. For me, it has been remarkable to watch the emergence of these massive, highly networked developer communities in the past few years.

Just for kicks, I’ve put together an informal list of these substantial developer communities — it’s admittedly a little .NET centric and apologies in advance for those I’ve omitted (but feel free to fill in the gaps in your comments):

Most of these communities have morphed from relatively humble beginnings into web powerhouses with millions of active contributors. StackOverflow is probably the most successful implementation of a beautifully simple community idea — creating a technology agnostic Q&A site for programmers that is collaborative and peer-reviewed. I think of it as Wikipedia for developers, and it’s great.

Another example of a developer community on steroids is The Code Project. It’s .NET centric but has racked up over 7 million members since inception, with tens of thousands of developers online at any given time. Everywhere you look, the scale of these successful communities is staggering.

So what is driving this rapid growth in online communities and programming forums? Certainly the increasing sophistication of community sites and the explosion of social networking behavior among users is a key factor.

School is inBut we also know that the demand for credible and useful technical information is almost insatiable among professional developers. In our experience at InnerWorkings, it’s clear that software development is one of the most knowledge intensive industries around today. Developers solve problems for a living and they believe in the power of community and collective knowledge to help them out when in a bind.

Whatever the driving factors, I wish all these mammoth communities the best of luck in serving their many millions of developers while crafting an unobtrusive advertising model to pay the bills. It’s a delicate balance for sure, but reaching competitive scale is a critical advantage when you’re building a community of any kind. For the architects of today’s software development communities, you have built it and they have come.

Add this post to: del.icio.us:10 developer communities on steroids digg:10 developer communities on steroids spurl:10 developer communities on steroids simpy:10 developer communities on steroids newsvine:10 developer communities on steroids blinklist:10 developer communities on steroids furl:10 developer communities on steroids reddit:10 developer communities on steroids Y!:10 developer communities on steroids google:10 developer communities on steroids technorati:10 developer communities on steroids stumbleupon:10 developer communities on steroids windowslive:10 developer communities on steroids

We’ve seen quite a metamorphosis in the world of software development over the past couple of years. It wasn’t all that long ago when developers were faced with a four basic career choices:

  • Work as a code scribe for a monolithic software empire — go big.
  • Create vertical solutions for an independent software vendor — go deep.
  • Build a stealth product for a dinky little startup — go small.
  • Run as an independent consultant — go alone.

Fred AstaireOK, so I might be a little reductive in my argument, but you get the point. As a professional developer, you could choose to be part of a team (small, medium, large) or you could fight for scarce contract work in the big, bad world as a consultant. Finding a market for your own solutions was a bit like finding the next Fred Astaire on America’s Got Talent — always possible, but not likely.

Everything changed with the advent of the application marketplace, however. A vast ecosystem of apps has grown up around the mobile devices that we cling to in almost every conceivable location and situation — once off limits restaurants, golf clubs, and even restrooms (sadly, yes) are filled with the pings of text messages and full scale phone conversations today.

But good things have come from this ubiquity of mobile devices too. Software companies and individual developers responded to our ‘always on’ web experience with an overwhelming torrent of both niche and general business applications, ranging from the ridiculous to the sublime.

Android FellaClearly Apple has been at the epicenter of this movement with 100,000+ applications released to the App Store (as of early 2010). Taking a conservative number, Google’s mobile platform accumulated 38,000+ Android apps in a much shorter space of time.

New devices only add fuel to this app inferno — I read today that Apple’s iPad has just sold over 1 million units, with 12 million apps downloaded, in less than a calendar month, opening up a whole new category of touch screen apps that didn’t exist 12 months ago.

The volume of new applications is not limited to consumer devices and trivial apps, mind you. Enterprise application marketplaces are also thriving — Salesforce.com leads the way with 890+ AppExchange apps and a huge combined user base.

I’ve written in the past about how we use VerticalResponse within the AppExchange suite to manage our email communications at InnerWorkings. The hosted app is so seamlessly integrated with Salesforce.com that we’ve barely glanced at their standalone product.

The list of application marketplaces continues to grow elsewhere too — with the likes of Google Apps and Zoho offering a virtual buffet of productivity and collaboration apps to a hungry world of business users.

Twitter and Facebook continue to offer a massive audience for all kinds of applications that play by the rules of their underlying platform and APIs. Some of these apps will break out of their niche status and become self-sustaining, profitable entities that will make their owners wealthy and their users very happy. Others will be cannibalized by the natural expansion of the underlying platform and disappear without a trace.

Brave New WorldIn any case, this is a brave new world for application developers. I think it’s still true to say that great ideas with careful execution are the best recipe for success, but the emergence of these massive application marketplaces puts the world at a developer’s feet. Go forth. Multiply. Be careful. And don’t use your phone in the restroom.

Add this post to: del.icio.us:Out of milk and sugar? There's an app for that. digg:Out of milk and sugar? There's an app for that. spurl:Out of milk and sugar? There's an app for that. simpy:Out of milk and sugar? There's an app for that. newsvine:Out of milk and sugar? There's an app for that. blinklist:Out of milk and sugar? There's an app for that. furl:Out of milk and sugar? There's an app for that. reddit:Out of milk and sugar? There's an app for that. Y!:Out of milk and sugar? There's an app for that. google:Out of milk and sugar? There's an app for that. technorati:Out of milk and sugar? There's an app for that. stumbleupon:Out of milk and sugar? There's an app for that. windowslive:Out of milk and sugar? There's an app for that.

Visual Studio 2010

Visual Studio 2010 will be released to market on April 12th, a big day for Microsoft’s Developer Tools Division. It also promises to be a big day for all developers and software teams building applications in the Visual Studio IDE.

Microsoft still favors the big splash approach to product launch, which I have expressed my misgivings about in the past. To be fair, although they persist with this most conventional launch program, plenty of community building and groundswell activities underpin each big hoopla event these days.

But the real meat of this story is not how Microsoft launches Visual Studio 2010 but rather what enhancements to expect in this RTM. So what is pegged for inclusion in this release of Visual Studio?

Michael Desmond has published an excellent article on The Making of Visual Studio 2010, which features comments from Dave Mendlen (Director of Developer Marketing at Microsoft), Rob Sanfilippo (Analyst at Directions on Microsoft) and Chris Dias (Microsoft Program Manager for VS 2010) among others.

Visual Studio was originally scheduled to RTM on March 22, 2010 – oops, yet another drawback of the big splash approach! A decision to push the launch date back to April was taken in response to horrible Beta 2 feedback on the IDE’s performance and stability following PDC in Los Angeles late last year.

No doubt some poor soul had to tiptoe into Steve Ballmer’s office with that heavy news. But Microsoft is nothing if not persistent, and moving the release date out appears to have given the product team some breathing room to recover lost ground and get the release back on track.

So what will we see for all those angst ridden days of slipping ship dates and general uncertainty? Clearly, the general consensus affirms that this release of Visual Studio 2010 is an ambitious one. 

The code base for Visual Studio 2008 had begun to resemble the proverbial big ball of mud, with over 10 years of legacy code and hundreds of different developer thumbprints all over it.Spaghetti Junction

According to Chris Dias, a decision was made to step back and focus on the Visual Studio platform for the “long-term health and well being” of the franchise.

But it’s no picnic to translate such lofty franchise affirming goals into a commercial product release. As you might expect, the Visual Studio team took a good look around to see what was happening inside all those outwardly drab buildings on the Redmond campus. As a result, Visual Studio 2010 draws heavily on the work of companion product groups at Microsoft, particularly those working on WPF 4, Microsoft Extensibility Framework (MEF), Silverlight 4, and SharePoint.

Michael Desmond’s article explains that the look and feel of Visual Studio’s UI will be largely driven by WPF 4, and it’s telling that Microsoft moved the WPF and Visual Studio teams into an adjacent space in Building 41 to collaborate.

Finding and interfacing with other software components and the ability to customize the Visual Studio IDE will fall to MEF, allowing developers to replace features or enhance the IDE to suit their needs.

Although Silverlight 4 has been baked into this release, we’re told that developers will have to wait until the summer perhaps before the new Silverlight 4 tooling and functionality is available within Visual Studio 2010

SharePoint integration posed a number of challenges, not least of which was the need to make a 32 bit Visual Studio environment work with SharePoint’s 64 bit platform. We are led to believe that the VS and SharePoint product teams managed to work out these differences.

So we are left with an RTM of Visual Studio that is both extensive in scope and ambitious in nature. Desmond’s article quotes Gartner’s application development analyst Mark Driver describing Visual Studio 2010 as “probably the biggest change since .NET first came out”.

Strong words indeed. I remember when the .NET framework was first announced at PDC in 2000, so it’s quite a leap to suggest that this version of Visual Studio will be as ground-breaking as that release. As a good friend of mine is very fond of saying, we’ll see…

Add this post to: del.icio.us:Visual Studio 2010: Ambitious Leap or Incremental Release? digg:Visual Studio 2010: Ambitious Leap or Incremental Release? spurl:Visual Studio 2010: Ambitious Leap or Incremental Release? simpy:Visual Studio 2010: Ambitious Leap or Incremental Release? newsvine:Visual Studio 2010: Ambitious Leap or Incremental Release? blinklist:Visual Studio 2010: Ambitious Leap or Incremental Release? furl:Visual Studio 2010: Ambitious Leap or Incremental Release? reddit:Visual Studio 2010: Ambitious Leap or Incremental Release? Y!:Visual Studio 2010: Ambitious Leap or Incremental Release? google:Visual Studio 2010: Ambitious Leap or Incremental Release? technorati:Visual Studio 2010: Ambitious Leap or Incremental Release? stumbleupon:Visual Studio 2010: Ambitious Leap or Incremental Release? windowslive:Visual Studio 2010: Ambitious Leap or Incremental Release?

It’s a tough world out there for .NET developers and software teams. Just when you think you’ve mastered the latest technique, technology, or framework — along comes something new to rattle your cage.

How many developers conquered the Entity Framework after a long struggle, only to turn the next corner and bump into LINQ? Perhaps you spent months learning WPF and Silverlight 3, just to discover that .NET 4.0 and Silverlight 4 will RTM very soon. It never ends. You just adapt to the shock of the new, learn the necessary skills to thrive, and move on.

So we hope that today’s news is a big win for .NET developers and teams everywhere. 

I’m delighted to announce that PluralsightInnerWorkings is adding Pluralsight to our list of trusted partners.

I’m sure many of you know Pluralsight well — we have always been most impressed by their combination of top tier instructors, premium video content, and active participation in the .NET community.

Empty announcements are just annoying, so I’ve got something else to add today….

I’m really pleased to announce that Pluralsight is kindly offering InnerWorkings users and affiliates 1 week of access to the Pluralsight On-Demand! .NET training library. And I should add that this exclusive offer is entirely free, gratis, libero, frei.

So don’t look a gift horse in the mouth — get on over to the InnerWorkings offer page on the Pluralsight website and sign up for your free .NET training today. Simply use the activation code 27-1-YHRA-KDST to unlock your access to the Pluralsight library and start learning new programming skills today. Enjoy!

Add this post to: del.icio.us:Welcome to our new partner, Pluralsight! digg:Welcome to our new partner, Pluralsight! spurl:Welcome to our new partner, Pluralsight! simpy:Welcome to our new partner, Pluralsight! newsvine:Welcome to our new partner, Pluralsight! blinklist:Welcome to our new partner, Pluralsight! furl:Welcome to our new partner, Pluralsight! reddit:Welcome to our new partner, Pluralsight! Y!:Welcome to our new partner, Pluralsight! google:Welcome to our new partner, Pluralsight! technorati:Welcome to our new partner, Pluralsight! stumbleupon:Welcome to our new partner, Pluralsight! windowslive:Welcome to our new partner, Pluralsight!

TeamworkYou hear plenty of talk about the importance of good team communication in many professions. From my writing background, I know that the relationship between writers and editors is extremely important (and complex in many ways).

When it works well, editors communicate their revisions and overall feedback to writers with clear and well considered arguments. Writers honor those edits in the spirit of their work, if not always to the letter, and discuss contentious issues directly with the editor.

At the end of the process, both sides should feel that value has been created, the piece is better than before, and the sum of writing and editing skills are reflected in a work of quality.

It’s really not all that different in the world of software development. In fact, software development is largely a team activity involving a complex chain of roles including business analysts, architects, developers, testers, team leads, and development managers.

Many people buy into the stereotype of the software developer as a loner, grinding out code in isolation, and rarely coming out into the light of day. While those developers exist (somewhere), most professional programmers today function in small to mid-sized teams, working on shared projects that require a high level of communication and peer review.

In this context, it’s easy to see how poor communication can wreck software projects, teams, and entire companies if allowed to take hold and fester. If this subject interests you, I encourage you to read Johanna Rothman’s short article titled When Teams Break Down, Business Loses.

She explains how competing teams within a data visualization company failed to agree on a uniform way of accessing the database. Roll on a few years and you’ve got a messy product with multiple library calls, unhappy customers who find the lack of standardization for data access unacceptable, and ultimately a failing company.

Johanna tells another war story about a large insurance company where different software teams simply could not agree on a standard iteration length for their agile process. A two month delay ensued from this basic failure to communicate with other teams and find a resolution, costing the company of over $2 million in revenue. Ouch!

So what am I trying to say here? With a rough economy, tight margins, and ever increasing competition in the world of software development — you overlook teamwork and communication across software teams at your own risk.

Add this post to: del.icio.us:Poor team communication = bad software digg:Poor team communication = bad software spurl:Poor team communication = bad software simpy:Poor team communication = bad software newsvine:Poor team communication = bad software blinklist:Poor team communication = bad software furl:Poor team communication = bad software reddit:Poor team communication = bad software Y!:Poor team communication = bad software google:Poor team communication = bad software technorati:Poor team communication = bad software stumbleupon:Poor team communication = bad software windowslive:Poor team communication = bad software

Cloud businessMost analysts covering the software space predict that 2010 will be the year of the cloud. There’s certainly no shortage of theories circulating about how quickly enterprise software organizations will adopt the cloud, and it’s notable that Salesforce.com passed a major milestone recently in hitting the $1 billion revenue mark.

Just a quick glance at the truly established cloud players like Amazon, Google and Salesforce.com — not to mention other cloud advocates like Microsoft, IBM, Sun, Rackspace, and VMWare — and you can see what direction the software industry is tilting. For those who are interested in digging deeper, Cloudtweaks.com presents a pretty comprehensive list of 85 Cloud Computing Vendor Players.

To get some perspective on the cloud today, I highly recommend this excellent article from M.R. Rangaswami titled 2010: The Year to Crystallize Cloud Strategy. It lays out a thoughtful and well reasoned perspective on the cloud today. I agree with all his main points that enterprises will adopt a hybrid approach to the cloud, using it as an extension to their existing datacenters, while SMBs will be much quicker to jump in with customer facing cloud offerings.

Rangaswami also predicts that open source software is well positioned to grow alongside the cloud, as the majority of current cloud offerings are already based on open source software stacks. Lastly, he points out that Cloud-Standards.org is building an impressive list of standards development to regulate cloud activities.

Notwithstanding the software industry’s tendency to see new trends around every corner, all the indicators I see point to a continued growth of cloud platforms and services in the coming year. To quote Steve Ballmer in a New York Times interview,  “Anything that has been a server needs to be a service.”

Add this post to: del.icio.us:2010: Year of the Cloud digg:2010: Year of the Cloud spurl:2010: Year of the Cloud simpy:2010: Year of the Cloud newsvine:2010: Year of the Cloud blinklist:2010: Year of the Cloud furl:2010: Year of the Cloud reddit:2010: Year of the Cloud Y!:2010: Year of the Cloud google:2010: Year of the Cloud technorati:2010: Year of the Cloud stumbleupon:2010: Year of the Cloud windowslive:2010: Year of the Cloud

Next Page »