alkampfer on May 9th, 2009

Some days ago I did a post that generates a lot of comments, it is called Java Versus .Net Programmers, and it made me think that there are a lot of ideas out of there on “what are the characteristics that makes a good programmer

Most of the time I hear people claiming that “this is better than that”, “programmers that does not knows concepts A B and C are not good ones”, etc. The problem is that the question remains not answered: “What are the characteristics that make a programmer a good one?”. I think we could eventually speak for decades to search the answer for this question, and maybe after a long time we’ll find that the answer is 42, but we completely forget the question.

This morning I started to think, “if I absolutely need to express one single reason that identify a good programmer, what can I say??”

My first answer was one of the most common “A good programmer is the one who constantly try to improve himself/herself always learning something new”, then I started thinking  to the real reason why people write software. Yes, I have fun writing software, but the ultimate goal is creating a program,not having fun during the creation. If you can have fun, still build a great software surely is better, but no one of the user of your software cares about DI, IOC, Pattern etc, the user cares about what program do, if you forget to remember that the user is the real reason for the program you should better read this book.

Surely using DI, IoC, patterns, and whichever superadvanced technique you have learned,  you can create flexible products, that are more maintainable, performs better, etc etc, but in the end is the user that really judge if the product is good for him.

So I changed my mind and now my single reason that identify good programmers is “A good programmer is the one that put code in production” it means that good programmers makes programs that works and works for long time. Surely I really think that with DI, IoC, AOP you can create better programs, but the fundamental stuff is to put code in production. Bad programmers do not put a lot of code in production, because if they produce crap software, they will begin to spent so many time in maintenance, that they will not be able to ship anything anymore. Good programmer at other side, makes programs that work, they put them in production and then just leave them away, to return only when the customer needs another release.

Alk.

Tags:

7 Responses to “Good programmers put code in production”

  1. Amen, brother!

    Tools like DI, IOC, etc… are only there to allow us, the developers, a better experience. It’s absolutely true that the user could care less about the inner details.

    Write your software and get it out!

  2. So, by your definition hackers are always bad programmers :)

  3. Yup. it doesn’t matter to the user how the software is built. But it really matters when it stopped working.

  4. I agree that good programmers often put code into production, but I think many bad programmers do this a lot as well. I’ve used too much buggy, badly-thought-out software to believe that any code I use is the product of good programmers.

    Granted, some of those problems may be the product of bad management rather than bad programmers, but I have a hard time believing that it’s all made by good programmers.

  5. @Jake. Yes, in my opinion a lot of problems are caused by bad management, but a good programmer quite often can make a not so bad program, even with hostile management.

    @Alex LOL, I do not think so, even hacker do write software, probably they have a different concept of “putting it in production”.

    Alk.

Trackbacks/Pingbacks

  1. Arjan`s World » LINKBLOG for May 10, 2009
  2. Going in production as often as you can

Leave a Reply