I want to be a GIS Developer. I know .net. Do I need to know COM also? Is COM outdated? Please tell me the way. Presently I am in Production.
i think u can use java .net and C++ for gis development.But the main idea is to create a specialized area for the gis.For example i am working for a municipality applications that are related with editing and other graphic stuff.But Unfortunately my advise is not gis.Cloud Computing is hte new idea and u can learn salesforce and force.com language apex which is really similar to java and .net.U can be a crm consultant and make money much more than gis...:D
Don't just stick to .NET as a lot of GIS programming seems to be done in Python, and it's a good pick for general purpose too. Learning a lot of tools is important, being a one tool programmer won't really help you learn much.
Also regarding COM the answer is, it depends, it depends on a lot of factors but in the end yes you should basic understanding of it IMO esp if you are working on Windows. A lot of APIs may use COM in the background but you don't always need to understand the details although it helps sometimes.
Read. Read. Read.
Get an understanding of basic cartographic principles and learn what a map is and what a map isn't - try How To Lie With Maps.
Read about basic GIS principles. The difference between polygons and multipolygons; spatial indexes; topology - try Mapping Hacks and Tools.
Choose an area of GIS development you are interested in. Web mapping; desktop GIS; sub-surface and prospection; 3D.
This list is by no means exhaustive, and I'm not saying any book is better than any other. Google is your friend - there are a million websites (including this one) and blogs detailing every aspect of GIS and cartography.
I would advise in future to perhaps do some basic research yourself before posting. Questions such as yours tend to receive less attention than more specific ones.