More flame wars on the way
Today is ranting day again. So let's get started, ok?
A couple of weeks ago I had an interesting discussion on Fredrik's Who's to blame, Microsoft and/or .Net Community post comment section. If you've read the comments, you already know that I'm a firm believer in self education and that you (the developer) are always the main responsible for your ignorance (especially in these days, where there's so many quality info spread around the net - ok, you must learn to look for it, but nevertheless, it's there!).
Today there was also an interesting thread at the ALT.NET list regarding a similar topic. I won't spoil your read here, so go on and read the entire thread. The most interesting thing that resulted form this discussion was Ayende's post Cuddling is considered harmful. Now, I couldn't have said it better:
Development requires a lot of skill, it requires quite a lot of knowledge and at least some measure of affinity. It takes time and effort to be a good developer. You won't be a good developer if you seek the "X in 24 Hours" or "Y in 21 days". Those things only barely scratch the surface, and that is not going to help at all for real problems.
And yes, a lot of the people who call themselves developers should put down their keyboards and go home.
I don't think that we need to apologize if we are working at a high level that makes it hard to beginners. Coming back to the idea that this is not something that you can just pick up.
Ok, lets make things clear. I'm not on the same league as Ayende...He's much smarter than me and that's good because he's a really prolific writer and that means that I have the chance of learning from his thoughts (which, by the way, are still free. So, if you're not a subscriber, do yourself a favor and add it to your feeds list). So, as you can see, my point is not to say that I'm really smart (that would be a tremendous lie), but to make you all see that you must really learn by yourself. That's all there is to it! No whining! Just suck it up like a great developer I know you are!
I'm not sure about you, but most people I know think that programming is easy...The problem is that it's not. You want the truth: it's bloody hard! So, if you want to get good at it, you need to put in some effort, ok?
Some years ago, in a different life, I was a teacher and most of my students went into programming because they thought programming was all about...playing games! Ok, after leaving that life, I got into real programming and I still see the same thing all over the place: most guys will do the same thing all over again, without ever trying to learn new ways of improving their work. They simply cannot pick up a book or search info on some subject on the Internet in order to improve their skills. They simply stop...If you ask them why haven't they done something, they'll end up saying something like: "oh, I would love to do that, but I need training!". Oh, and then they'll keep looking at you waiting for some thoughts on how to solve their problem. This is the part where I really need to make a coffee break before I loose my temper...
And that's why we have so many bad developers around. Most seem to think that programming is easy or that it doesn't require any (mental) effort. No, I don't expect you to know everything...What I do expect is that you're able to solve problems by yourself and improve your skills along the years (yeah, notice that I said years, not hours, days or months!). Please stop blaming the others for your lack of knowledge. Guess what: overall, MS does some kick ass tools and platforms (I'm not paid by them and this is my opinion). Ok, they've also introduced DataSets, but you owe it to yourself to take the time and see if you should really use them (yes, there are valid scenarios for them; they just aren't adequate for all the things you do). Please don't tell me that MS keeps pushing drag-n-drop demos and that's why you won't improve your skills. Are you trying to convince me that if you're staying on a cliff and MS says "jump" you go ahead and do it?
Please do not ask for training before trying to learn for yourself! After all, what would happen if you needed training for all the things you need to do during your life and didn't learn on school? See where I'm getting?