LA.NET [EN]

Sep 23

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?

1 comment so far

  1. Giovanni Bassi
    1:59 pm - 9-28-2008

    Olá Luis,
    You are absolutely correct. Ayende is right in his opinions as well.
    I don”t know how the market is in Portugal, but I can tell you you one thing about Brazil: it is becoming more and more amateur. We are short on developers, and even shorter on good developers.
    I think that the heated market has made people kind of lazy: they are gonna get well paid anyway, so why bother?
    But this is just one reason. I believe that the other reason is the “drag and drop” demos and ways that Microsoft markets so much. As you stated I also believe that there is room for datasets and drag and drop, but people come out of these events believing that THAT is software development. And that is a pretty narrow view of the whole thing.
    Is Microsoft to blame? A little bit. But they have been changing, and are doing things way better now. The focus on delivering best practices to the developers has increased a lot, as well as the transparency, in the latest years. And this is good.
    Is the market to blame, then? No, I don”t think so.
    As you, I believe people that don”t study are to blame. But they don”t seem to care much, so we are left with a very intense and careful hiring process :)
    I try to focus on the best patterns on my blog, on the events that I speak, and most other interactions. But that”s just me, a lot of people still focus on drag and drop demos, because we have to have room for the beginners, and… it sells, right? Besides, having one of the largest developer count is always good too, and this helps.
    Anyway, that”s a long discussion. I was already planning on writing a post about something related, your post has helped.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>