Jack.Of.All.Loops

"I want to learn as many programming languages as possible".

Now, thats the common response I get from young graduates nowadays when I asked them what they want to do in the industry. To most of them, mastering many programming languages is a symbol of success in being a developer. The truth is, knowing a programming language rarely means anything.

To be successful in the industry, one has to grow beyond just a 'programmer'. I always encouraged my juniors to be developers and not programmers. There are many people who can write programs but not many can develop something useful to the business on their own.

Programming languages are just one of the tools to get things done. You only need to master one (primary) or two (secondary) of them. You can pick up new languages as you work as well but that should not be the priority. There are other areas in software development that are equally important.

Once you know your language well, move on to areas such as database design, system analysis, software quality assurance and even project management. You can also apply your language skills in developing libraries and frameworks.

I have seen many programmers who absolutely fail in producing a good database design. All they cared was how cool their web-pages were. Whether you can code in ASP or JSP doesn't really make you a good developer.

Knowing many languages (or platform) will only make you a mediocre. You know a bit of everything but mastered in nothing. Certainly, you can't impress people with a resume that says 2 yrs ASP, 2 yrs JSP and 2 yrs PHP even though you have worked for 6 years. Your strength comes when you specialize - for example: 6 yrs C# or 6 yrs Java.

Also, move into Software Architecting for the platform of your choice. This area is the least emphasized area for most people and they end up producing poor software. Once you are accustomed to your platform, develop your niche on it and excel from there.

No comments:

Post a Comment

Popular Post