Friday, November 21, 2008

ØreDev 2008

I just got back from the ØreDev conference through the heavy snow this evening, and wanted to say it's been a great conference and I really enjoyed myself. Not only that, it was great meeting so many people so eager to share learning about the craftsmanship of software development, and I feel truly inspired now. In fact, it was ØreDev that made me start this blog. The speakers also seemed to really enjoy themselves - just ask Ayende Rahien or Glenn Block.

The overall theme of the conference was Sharing Knowledge and another recurring theme was that of the age we currently live in as a Renaissance of Computer Development. Although we are constantly improving as software developers, today we can claim with some credibility that we do have in our possession a set of methodologies that with a high certainty will help us deliver value on time. There is also a lot of creativity in the business right now and a lot of new interesting stuff is coming out all the time: new languages, new methodologies, new concepts etc.

An important theme at the panel debate which was the closing event of the day, was that of learning. As software developers the most important skill we have is that of learning, and therefore it makes sense for us to get better at it. You can never get too good at learning! It was suggested to introduce the notion of master/apprentice relationships into companies, to help new developers get started on their journey. I completely agree with these sentiments, and I am planning on writing more on this later.

Finally, I just want to congratulate the ØreDev people with a great conference. I will be attending next year for sure, and I am looking forward to seeing how they will try and top this year's conference.

Thursday, November 20, 2008

Grand Intro

WTF, you say, another .Net blog!?! The internet is already flooded with blogs about .Net, why the hell do we need yet another one of those? And obviously WE don't. But I do. You see, this blog is all about me learning stuff. I think an important part of learning is thinking about stuff (this may be obvious to some, but not all I tell you!) and a good way to do this is to formulate one's thoughts and write them down. By writing them down I also hope that others will be able to benefit from them and I also hope to create an environment for discussion - so that we all may learn from each other.

And I believe that learning is vital to my professional life, hell, I believe it is an important part of any kind of job people may have. As software developers we are not only having to cope with new technologies that gets spitten out every second day, we also have to keep up with new practices and sometimes completely new paradigms. And all the while, we have to keep our eye on the target: deliver value to the customer (by producing good software).

I've been following the so called Alt.Net movement for a while. I feel I agree with the main principles of the movement and I feel I've learnt a lot from it. Over the last couple of years I have learned about and started using stuff like Test Driven Development (TDD), Inversion of Control (IoC), Object Relational Mappers (ORM), Continous Integration (CI) etc. I have learned to focus more on methodology and less on technology. And I have learned that to keep up, I need to continously improve myself and to always question what I do.

Many people think of Alt.Net as something that is opposing Microsoft, but this is not the case. In fact, the ultimate goal for Alt.Net is to become Mainstream.Net, in other words, to make the practices promoted by the movement the standard way of doing things. And Microsoft is starting to react to this, you can see this in the MVC Framework which is basically Asp.Net made testable and other forthcoming technologies like the Entity Framework etc. So it seems that there is a chance for a better tomorrow.

But the fact remains that a lot of people are still content with doing things the MSDN way (which basically means only using the tools provided by MS), and I believe that this has to change for us to thrive as a community. I hope that this blog will become a good introduction to the non-MSDN way, and I hope that I will be able to learn a lot while passing some of that learning on. Because in the end, Alt.Net is all about teaching people to never stop learning, even though they may currently be stuck in Redmond quicksand.

So what is the Obvious you ask? Well, to me the only thing that is obvious, is that I will always have to learn. This is the one thing that I know is constant. In ten years I may have stopped using all the tools, methodologies and practices that I currently employ in favor of newer ones, but I will still have to learn and keep up. Nothing is obvious, and that is why we always have to learn.