Thursday, November 1, 2007

Is the knowledge of software developers shallow?

In the earlier days, software was developed using only a single language, the language stayed stable for 4-5 years, generally used a procedural paradigm, the language did not have too many constructs, so it was possible to master the language in a reasonable time. Today with multi tier applications the number of languages is increasing, with new versions coming out in shorter time frames, a person probably has to know three to four languages to write an application. HTML, JavaScript, JSP, Java and SQL. Has the depth of software knowledge become deeper or shallower? Most people know the languages to a shallow level, their resumes contain 20 to 30 different languages tools platforms, in a period of a year or two, does it mean they have mastered them. I have yet to find doctors who are able to master a plethora of disciplines. I would shudder to go to a surgeon who is an eye surgeon + an ENT surgeon + a cardiac surgeon + neuro surgeon.
But we do not shudder to use software developed by a single person using multiple languages

4 comments:

Anuradha said...

The thing about software is that by the time you are ready to master it, it becomes obsolete. Therein surfaces the need for any sofware programmer to be able to pick up a technology and understand the nitty gritties in a fairly short period of time and bridge the gap between concept and implementation. A single person having good working knowledge of multiple tchnolgies demostrates a quick learning and adaptability virtue.It is this virtue that truly matters in an industry where change seems the norm of the day.

Raju Lalvani said...

Is that why a programmer moves from programming to management or to a functional domain?

Anuradha said...

I am not sure.But i do feel that programmers who have worked with multiple technolgies, learn to think beyond technology restrictions and come up with better solutions. Maybe this sense of maturity and being technolgy agnostic causes the move from programming to management/functional roles.

Joydeep De said...

Since we now have multi tier applications now there is no option but to have an overview of the various technologies used in those tiers.I agree with anuradha when she says that "A single person having good working knowledge of multiple tchnolgies demostrates a quick learning and adaptability virtue". Ultimately we need to accept and adapt to the fact that multiple technolgies are here to stay anf for a fact that once basics are clear/known in one technology it is just a matter of time to grasp other technolgies.