Good programmers put code in production

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: Programming