This is one of the stories which every one knows. Once a couple of blind men, in-order to understand an Elephant, went to a zoo. Each went and touched the Elephant and got a feel of it. They went back home and started to write about Elephant in their own experience. The blind man who touched the body of the elephant concluded that elephants are like huge walls. The blind man who touched the Elephants tail concluded that elephants resemble ropes. The blind man who touched Elephants leg concluded that Elephants are like trees. According to each of them, they are right. But the truth is – "Elephant is all of them". Only if a blind man touches all of these, can understand an elephant. Otherwise, they will only make assumptions and conclusions.
We programmers are no different than blind men. We learn one aspect of the technology ( even if you know how to write a "Hello World" program, you call yourself a techologist in that area) and think that we are professionals without understanding the important aspect of the technology (or software development for that matter) . I am now trying to get a feel of complete software development. I know its really a tough job. But, I have taken a step and am confident that I will be a better developer than I am now in sometime . I am working on it and if you read my blog, you will notice that I am doing something to understand the technology rather software development starting ground up.