saravana wrote:I too don't think degree matters that much.
But programming is not just about algorithms and logic. You would need to know underlying architecture, including kernel. It would be easier if one comes through the CS degree but can always picked up outside the academics.
Its all about abstraction. Once you sufficiently abstract something, the goal is that you should not need to know anything about the underlying architecture or design (at least in theory). If one were to disagree with this, the argument could be extended to the fact that a computer science engineer needs to know processor architecture and design - all the buses and logic gates and cpu registers etc. Or perhaps even the fundas of voltage and internal PC electronics.
I myself am a Computer Science Engineer, but I haven't encountered the need to apply most of my theoretical knowledge. Around 2% of what I studied in college has helped me in my career.