ALT.NET

The Non-Typical .NET Job

I recently referred to an interesting .NET job as a 'non-typical .NET job'. I hadn't used that term yet up until that point, so I thought that was rather interesting. But what exactly do I mean with 'non-typical .NET job'? It's pretty simple really: a job where you're using .NET technology without blindly following the guidelines, recommendations and software from Microsoft on how to develop software on the .NET platform. It basically means that you'll use whatever you think is most appropriate for what you're trying to do.

The biggest problem in the .NET world is that most companies that do .NET development just stick to what Microsoft tells them to use and how to use it. Many .NET developers largely focus on that, because they know all too well that it increases their odds of getting hired. And let's face it: Microsoft has a solution for practically everything. The only problem is that those solutions are rarely the best in what they're trying to solve. But hey, no manager gets fired for going with Microsoft, right?

The result is that there are too many companies and too many developers that focus only on what Microsoft offers. But there's a lot more to software development than what Microsoft offers, or even knows about. There are countless examples of Microsoft being late to whatever technical party is interesting at the time. And when they show up, they certainly don't always make a good impression.

If you're the kind of developer that likes to learn from what other software development communities are doing, odds are high that you're screwed. There is an interesting OSS community within the .NET world, and they frequently produce great solutions, quite often based on succes stories coming from other development communities. The problem is not that .NET developers don't have great solutions available to them. The problem is that the majority of them simply don't know about them only because there hasn't been any Microsoft hype about it, or that the devs who do know about it aren't allowed to use it because their managers are sceptical about it, most likely also because there's no Microsoft backing for the technology or architectural style that is being proposed.

I'm not advocating the avoidance of Microsoft products or solutions. By all means, use Microsoft products if they are indeed the best solution to your problem. But do be aware of the things that are getting attention outside of the Microsoft sphere and use them when it makes more sense to use them. That's the essence of the 'non-typical .NET job' and that's exactly what makes it interesting: using the right tool for the right job.

As A Movement, ALT.NET Has Been Dead For A While

1 Comment »Written on January 24th, 2010 by
Categories: ALT.NET, Opinions

Quite a few posts have been written lately on the state of the ALT.NET community, or movement or whatever else you want to consider or call it.  I’ve always thought of ALT.NET in 3 ways.

  1. it is a mindset
  2. it is a community
  3. there is a movement

The ALT.NET mindset was originally described perfectly by Dave Laribee:

  1. You’re the type of developer who uses what works while keeping an eye out for a better way.
  2. You reach outside the mainstream to adopt the best of any community: Open Source, Agile, Java, Ruby, etc.
  3. You’re not content with the status quo. Things can always be better expressed, more elegant and simple, more mutable, higher quality, etc.
  4. You know tools are great, but they only take you so far. It’s the principles and knowledge that really matter. The best tools are those that embed the knowledge and encourage the principles (e.g. Resharper.)

This mindset still lives on, and will always stay alive. There will always be .NET developers that are continuously looking for better ways to create software.  We might not think there are enough of them, but they are still growing gradually.  Typical ALT.NET topics, practices and principles have become much more popular and more and more people are definitely still looking to learn about them.  I can’t think of a single reason why this would ever cease to happen.

As a community, ALT.NET hasn’t done a good job (IMO) of being accessible to new-comers.  I’ve complained about this in August 2008.  Nothing changed after that post, and nothing will change after this post either.  A lot of the people in the ALT.NET community are still too negative in expressing their views, or have even stopped trying altogether.  Some of them just attacked everyone who disagreed with them.  Things like that will obviously never, ever lead to adoption of your thoughts and ideas.  And after that, they’d complain that nobody was listening anyway and that they were tired of trying to discuss these things with people who didn’t believe in it yet. It also doesn’t help that quite a few people got involved purely for the sake of bettering themselves.  After all, the ALT.NET name was hot and being associated with it and getting involved with it was an easy way to improve your reputation, status and for some even their finances.

As a movement, we’ve failed as well.  Essentially, the ALT.NET movement is about education.  Teaching people the things we believe in.  Showing them that there are better ways to develop software than that what is more accepted in the Microsoft world.  In the early stages of the movement, there was a tremendous amount of interesting blog posts being written with exactly that purpose in mind.  Teaching people.  Showing them the benefits.  Explaining things to them.   After a while though, some of those bloggers didn’t quite put the same effort into it anymore.  A lot of them resorted to one-liners about why approach A is better than approach B and they weren’t really taking the time anymore to try to educate people.  The rise of Twitter certainly didn’t help either since you simply can’t teach this stuff to people through 140-character tweets.  You can’t really show them the benefit of whatever it is that you think is a good thing to do.  And since a lot of those bloggers are spending more of their time on Twitter than on working on their blogs nowadays, a lot of valuable knowledge and experience isn’t being spread as much anymore as it used to.  Now obviously, we can’t tell people how to spend their time so if those people prefer to spend time on Twitter instead of writing good posts that could help more people, that is their personal choice and nobody can blame them for that.   At the same time, they can’t really complain about the current state of ALT.NET as a movement and a community either.

But hey, the mindset still lives and will continue on living.  The best thing you can do is to share your knowledge and experience with as many people that want to hear it.  And trust me, there are quite a few people who want to hear it. 

Introducing the Belgian ALT.NET site

1 Comment »Written on January 28th, 2009 by
Categories: ALT.NET

It took us a while but it's finally here: www.altdotnet.be

We started our local ALT.NET meetings in August, and have been doing them monthly ever since. We usually discuss a certain technical topic (or a few of them), although we sometimes have someone do a presentation as well. Either way, there's a lot of great stuff to learn from these meetings, so if you're a .NET developer who would like to keep improving your skills, be sure to sign up :)

Introducing TDD: How would you do it?

14 commentsWritten on August 26th, 2008 by
Categories: ALT.NET, testing

In about 2 weeks, our Belgian ALT.NET group will give a somewhat large presentation on what ALT.NET is and some of the important concepts and practices. As a part of that presentation, i'll give a 10 minute 'lightning-talk' about TDD. I've already got a bit of an idea as to what i'm going to say, but i figured i should ask my readers for some input.

So, if you had to give a short talk (remember, only 10 minutes) about TDD, targeted to an audience that has little to no experience with it, or may not even know anything about it, what are the things you'd really want to highlight? And what are the things that probably aren't worth mentioning for such a short talk?

Or for those of you who have little to no experience with, or knowledge about TDD, what are the things you'd like to hear if someone were to introduce the concept to you in about 10 minutes?

Why The ALT.NET Community Needs To Change Their Ways

13 commentsWritten on August 25th, 2008 by
Categories: ALT.NET

Since its inception, the ALT.NET community has grown a lot. A lot of people have joined the mailinglists and all over the world local ALT.NET communities have been created, with most likely a lot more on the way. That is definitely a good thing. At the same time though, the ALT.NET community has probably put off as many people (if not more) than it has attracted in the first place.

Now, just so everyone is clear on this: i consider myself a part of that community and i definitely want to see it become successful. But for that to happen, i think we need to make some changes. The biggest problem is that we are often perceived as being elitist, and according to some people closed-minded. And honestly, there's a lot of truth to that. Just read our mailinglists, our blog posts, our 'tweets' (i don't use twitter so i don't know if that's the correct way of referring to it but you know what i mean) and a lot of the material we put out there in general. Not everyone in this community is guilty of it, but a lot of us (myself included) are.

In general, we are extremely opinionated and we often state our opinions with a "our way or the highway" kind of mentality. We often outright dismiss approaches or solutions that do not follow our principles and values. And we usually do it in a manner which comes across in a very negative way. And it's really not hard to see why that puts a lot of people off. When someone simply tells me i need to do something in a certain way, my natural reflex is to question it. Why should i do it that way? If i don't get a sound response to that (and one-liners usually don't cut it), the person (or company or whatever) who made the claim immediately loses credibility in my book. I can definitely see how some people have felt that way after hearing/reading certain ALT.NET people making their claims without properly backing them up or simply brushing off any questioning of those claims.

There is absolutely nothing wrong with being opinionated and voicing those opinions. But we really should try to do so in a more positive manner. Simply stating that all developers should use certain practices or principles just doesn't work. We have to formulate our messages better and we probably need to provide more material that properly explains why practice X or principle Y or library Z allows us to achieve better results. And most importantly, we need to make sure we're able to discuss these things with anyone who's not yet 'into it' or even against it, without putting people off. If a lot of people think that we're elitist, closed-minded, frustrated, annoying, or whatever (and they do, just google it) then we are clearly not doing a good job. If we really want to spread these practices and principles that we value so much, we can't afford to rub so many people the wrong way.

As i mentioned in the beginning of my post, i've definitely made these mistakes on quite a few occasions. And i'm gonna try to change that from now on. So if you see me repeat those mistakes, please direct me to this post :)