Friday, November 13, 2009

Can programming skills be taught to just about anybody?

"Can programming skills be taught to just about anybody?" or "Can anyone become a good programmer?" Ravi - Thanks for this interesting question.

I am going to share my view on this - and Raja will follow up with a post reflecting his view:)

Answer: No, I don't think anyone can become a good programmer. Just like every branch of science or technology, programming requires a very keen mind with an above average IQ. One also needs to have a fairly good grasp of "logic" in order to become a good programmer.

Question: Can everyone with an above average IQ be taught programming? After all, above average will still cover half the world population:) 
Answer: Yes, I think that every person with a reasonable IQ and a good grasp of knowledge can be taught programming.

Question: Will every person who is taught programming become a good programmer?
Answer: No. What differentiates good programmers from the not-so-good ones is practice. This is not very tough to understand - every one of us plays cricket, but we don't all become good cricketers! It takes a lot of dedication and practice to become good.

Question: Is every good programmer a good software developer?
Answer: Oh, absolutely not. Being good/great at coding does not make you a good software developer.
Beyond coding, software development involves a number of other important steps including understanding and capturing requirements, translating these requirements into features/functionality, applying relevant technologies that best address the situation, performing design and analysis, laying out a development plan, developing test plans, documenting everything well, managing releases, etc.
So, if you are looking to be a good software developer, my advice to you is: please look beyond C, C++ and Java and start looking at all aspects of software development.

1 comment:

  1. While I agree to a large extent, I do differ on one count. For some reason there is too much emphasis given to "logical thinking" (left brain) than "creative thinking" (right brain). Some of the best programs (MS Excel, Apple Mac OS, Adobe Illustrator) are created not always by those very good in "logical thinking" but those well versed in "beauty" (interface, interaction, aesthetics). So my conclusion ANY PERSON CAN MASTER PROGRAMMING if (s)he want to master it!

    ReplyDelete