fallenrogue.com

Community.

Community is difficult to build. Community is even more difficult to dictate and mandate. Communities, for lack of a better cliche, come together. People who have a common goal, living space, working space, whatever it may be, are lost in the wilderness, confused about their surrounding and the direction in which they are heading. So, rather than panic we look to our left and look to our right and find people who can objectively define their panic in a way that parallels our own.

Tonight, I listened to David Laribee talk with Scott Hanselman about alt.net. Now, the interview was fantastic. 2 guys, talking shop and enjoying one another’s company. The rest of the article talks about the concepts that alt.net seems to bring to my mind and not what they were chatting about specifically. In the .net community, we seem to know how to name drop, TLA drop and pattern drop with the rest of the “cool” communities out there. We believe that using OpenID to be a revolution, we believe DI is a revolution. The only problem is that it’s not. It’s only revolutionary to us. It’s interesting when looking at it through the homogenized rose colored glass of .net. But other platforms and languages have been implementing these techniques in advance of us, consistently for years. I’m hard pressed to think of a single contribution to the development lexicon that was established from the .net world (not the windows world, the .net world.). We seem to be chasing the dragon but not taming it. I’m desperate for someone to come up with something that doesn’t have an N in front of an existing JAVA library. We’re getting great at grokking, aping and playing in the sandbox but innovating? Well, I think we’ve got a long way to go, baby.

I don’t want to talk nothing but shit. alt.net’s heart is in the right place. We, as .net developers (and I am one of them), want to make our lives easier but letting someone else (Microsoft) steer the ship has made it significantly more difficult to fight political battles in the enterprise and bring the vary concepts that Laribee is touting into the community (and subsequently, enterprise) awareness.

When is the .net development community going to stop being a “what can you do for me?” community and truly become a “what can I do for you?” community? When are the biggest critics going to turn exclusive events into general events that disseminate information to the very community it’s trying to foster? If they’re going to target MS events, doesn’t it have to look beyond piggy-backing off of the MS marketing and get to Dev Evangelists themselves and remind their audiences that even the greenest developer needs to learn to develop and not drag and drop their way to code nirvana? We have to tell the SharePoint team and the ASP.NET team (who already seem to know, regardless of the fact that the abstract HttpContext is not going to be retrofit into the framework.) that TESTING is important and not a complete waste of time or else we’ll NEVER be able to innovate. We’ll only be able to hack and “play” at the concepts that are being established by the OSS community. David and Scott’s talk (and the larger goals of alt.net) scratches the surface but the larger question of bridging the gap between the mid/seniors to the alphas needs to start taking shape or else I’m convinced that alt.net will become a way for .net alpha geeks to legitimize themselves at the next “cool kids” conference instead of saying that they are .net developers but wished they were making money on Ruby they can instead say “no, I’m cool. I’m alt.net.” Which, as Scott says, sounds more like “alternative to MS” rather than “alternative to the current convention”.

So, what about me? Well, I’ve been playing in both fields for years now and I’ve tried to live the live (walk the walk?) and realize that sometimes an exercise in .net is a lesson in futility and that sometimes a pattern was developed to solve someone else’s problem that you didn’t have in the first place. Sometimes, unit testing in .net is better served as integration testing. Sometimes, we can’t do what Ruby can do, so we walk 20 miles to progress 2 feet. I believe some call it cutting your nose to spite your face. Subversion versus VSS is one thing but if you can’t tell me why then you’re just trying to keep up with another community. Rails is Rails because it’s being used and not because it’s built in a petri dish for public consumption/fame and fortune. If I were to tell you back in 2002 that Ruby would be one of the fasted growing, widely used, innovative languages in 2008 you’d have said I was crazy (or “wtf is Ruby?). If I was to tell you that MVP was going to lose favor to MVC you’d have said “what’s MVC?” Ruby, friends, is popular because a community formed around great ideas and began to flesh them out and make them great not because they were forced into public focus. .net has the brains, the passion and the skill to do it… but just can’t seem to lead by example.

I want to contribute, I want to help, but at times, feel crippled by the .net framework to bring what I’ve learned in Ruby to C#. (I’ve yet to have a desire to go the other way….) I know we keep talking about options and choices but until we come up with something fun, easy, innovative and alternative to the mainstream it will continue to feel like bubble-gum on a crack in the Hoover dam.

FOR THE LOVE OF GOD please discuss. Tell me I’m wrong, tell me why and let’s get me on the good ship lollypop. I hate to post these kind of posts. Mainly because I had being concrete on topics that are generally gray, I mean, there are good things happening… of course. It’s just easier to talk about the bad. This is not flame-bait but a call to action. What’s next and how can I help?

articleStats

Here are some silly little facts about this Community....

It was written by Leon 4 months ago.
It has 6780 letters in it.
It has 1070 words in it.
It has a total of 11 comments in all.
So far Jason Alexander has the last word!

article Links

These are the links that appear in this article. They probably don't make sense out of context... but just in case. :)

David Laribee
Scott Hanselman
Rails
Rails
 

The other stuff...

What the kids are saying...

4 months ago Scott Hanselman said...

Why?

4 months ago Leon said...

I'm already regretting this post.

4 months ago Leon said...

@Scott: why regret? Because I don't want to be divisive. I like that folks are bringing issues like this to the table. I'm just not certain that its been anymore than noise. If my comments become fodder for yet another pithy flame war then I will regret saying anything at all. I don't regret my opinion but rather my ability to be sure than the post would not be mistaken as a sardonic compliant instead of the continuation of the conversation that I intend it to be. (from my iPhone. Sorry if its choppy)

4 months ago Leon said...

(I've really got to fix that comment order bug one of these years...)

4 months ago Dave Laribee said...

Well said. This is _constructive_ criticism and you end with the desire to help. You're not simply stirring up the pot and watching geeky fireworks fly, so no regrets!

One thing I'll say is that Scott H. and I probably could have talked for a few hours. His podcast needs to fit in :30 minutes and, I think, he did a pretty masterful job in dividing it in half: half community/definitional and half "what's it look like in practice, gimme an example." I just answered his questions to the best of my ability and from where I stand (opinion).

I felt one of the hardest questions was about reach (how do you reach noobs and the Nebraska Forestry Department's Chief Architect). We can keep making better and better tools, keep sharpening the saw, keep innovating, but -- as you point out -- it doesn't much matter if we enter gigs where we can't use those tools or if no one has heard of them. It's the whole "if a bear shits in the woods..." problem.

I have a better idea how to crystallize alpha geeks than organize a learning campaign. I'd love to do the latter, but it's going to take a village. Beyond that, it's going to take attempts that *might* fail, to get out there and make this happen.

I'll contact you on the back channel with my mobile number. Maybe we can brainstorm sometime?

4 months ago Leon said...

@Dave: sounds like a plan, thanks for taking the post in the spirit in which it was intended. Looking forward to chatting!

4 months ago Rich said...

I think that we need to recognize that we're in a time of transition when it comes to being a Microsoft developer. A lot of new technologies and ideas around the .NET framework have been coming out and I think that everyone's still sorting out how to best implement things. A lot of new ideas (TDD, Agile) have been coming to the forefront of discussions about development, and these aren't things that seem to have necessarily been considered - built in from the ground up - in a lot of areas in the framework. Because of that, fitting them isn't easy and often requires a lot of work to implement.

Unfortunately, a lot of the ideas just don't translate quite as smoothly. We've been talking a lot about mocking lately. RhinoMocks, NMock and others are good frameworks, but you just don't have the sort of syntactic sugar that you have in other languages (notably Ruby) to make things as nice and as clean as they could be.

C# simply isn't as dynamic as other languages, but that doesn't mean that people can't people can't take ideas from those areas and try to move forward with them. It's just going to take some time to get to best practices that are generally agreed upon. That's something that's tough with Microsoft development because you have a lot of different ideas from a number of developers and vendors as to what's the best thing going. And then if Microsoft comes out with something (like their MVC implementation), there's pressure to jump to that because it's coming from the source.

Ultimately, I think we simply have to be patient and continue to have these sort of discussions so that Microsoft and their development community can continue to work together to try to develop better practices and tools. It's clear from how accessible that people like Hanselman and Guthrie are, that Microsoft is listening. And it's clear from the amount of buzz that the alt.net movement is gathering, there is a desire from .NET developers to embrace some newer ideas.

And that's why you shouldn't regret this post. You've got the ear of a prominent figure in the Microsoft world and and the ear of a prominent figure in the alt.net movement. You've chucked in your 2 cents and I know you won't hesitate to add more :)

4 months ago James Avery said...

Here is another question. Why? Why should you spend your time trying to bring this to .NET? Why not just use Ruby? I have been trying to use Ruby more and more instead of .NET because I enjoy it more. I still use .NET because I have things I don't want to re-write or because the client wants .NET... but I fully expect in a couple of years to be more and more Ruby focused.

What makes you want to try and bring Ruby to .NET when Ruby is so good at being Ruby?

4 months ago Leon said...

@James I assume you mean this question rhetorically, yes? As if to say: "Why on Earth would someone waste their time building rspec for .net? when C# and VB clearly don't have the capabilities to port rspec's design aesthetic as well as it's functional purpose?"

To that, I couldn't agree more. I personally expect many paradigms to shift in the community when the DLR is hosted in Visual Studio and it doesn't matter that my test cases are written in Ruby or C#. That will make my life fantastic.

The reason folks want/need to bring Ruby to .net is because, and this is my opinion, that .net is all brains and no beauty. Many new languages seek to bring elegance to .net and Ruby is chief among them. Make no mistake, when Ruby comes to .net in the form of IronRuby, I want it to be Ruby. Not Ruby# or VisualRuby or any other MS interpretation of Ruby. I want it to be Matz's Ruby at the latest version ASAP otherwise it's sound and fury.

When I was consulting, many of the programs that I wrote were Ruby to support the .net assemblies I was delivering. The shop was .net and they wanted .net but that didn't mean that if Ruby was a better fit they didn't get it. My current focus is somewhat different than it was when I was consulting and therefore makes me want Ruby to come to .net more than I've ever wanted it before.

4 months ago Andy Erickson said...

This comment is more philosophical than perhaps tactical, and probably does nothing to add value to the conversation unless someone is looking for a root cause. So you can stop reading this if you want to. I don't intend to NOT add value, but I think that might be the result of my comment.

I think some of this traces directly back to higher education. My view of college is to prepare a person to get a good job working for somebody else. When you work for someone else you do what they say to do. So the output of a software development higher-ed curriculum is to churn out cookie cutter developers, not developers that think for themselves (or marketers, or financial analysts, or whatever). Not too many creative thinkers here. Think 1000 folks in the new Tata development center in Milford, OH. How many *really* creative innovators will they hire? Especially if they are working with the local universities and their computer science and information systems programs.

Microsoft is the easiest platform on which to create these cookie cutter developers that do what they are told. Java's probably next. You won't find it in PHP, Ruby, Erlang (what?!), etc., as these folks gravitate towards those platforms because they are innovators. To me it's no surprise there is no strong innovation in the MS world. And that, from my perspective, defines the innovative extent of most run-of-the-mill Microsoft corporate developers. Hey, it sells licenses, and the "what can you do for me" attitude keeps people hooked in waiting mode rather than innovation mode.

It takes an interesting perspective, an innovative thinker, an entrepreneurial spirit to break out of the cookie cutter mold and define community rather than stepping in and blending into an existing community, and only a few ever do, or see the value, in thinking out of the box.

3 months ago Jason Alexander said...

Great post.

This is exactly why I had such a difficult time with the alt.net movement. It seemed so cliche when I came from the Java world and we had been doing all of this years ago. It felt awkward to me for us, as "alt.neters" to be waving a flag that had already been flown.

In the end, I warmed up to the alt.net guys because, at the end of the day, their intentions were sincere and they are all super sharp, super nice guys. Every world needs a group to push for what is right.

Regardless, I think you're right - there's a fundamental different in the Microsoft development world compared to others. It's more commercialized and capitalistic. Many Microsoft developers I've seen typically don't have that underlying driving force to innovate, be first, take down the big guy, do something better than an existing application, etc... there's an underlying spark that comes from most non-Microsoft worlds that seems to cause those folks to continually push the boundaries (often labeled "zealotry", but I disagree).

Now, that's not to say we don't have our share of smart thinkers in the .NET world. I'd be daft to even suggest it. But, those smart thinkers take that same drive and determination and rather then innovating, they capitalize on it by starting businesses, evolve their careers, and so forth.

We have a few that push those boundaries, the Hanselmans, the Don Boxes, the John Lams... but they are certainly few and far between in our realms.

And, don't get me wrong, there's nothing wrong with any of this, at all. You see where I am. :)

And, of course, I'm but only one opinion.

Leave a comment
*name:
*email: (never sold or published.)
url :

©2000-2008 fallenrogue.com | Some Rights reserved.