...it's certainly a huge field out there, ranging from mobile devices, all the way through to corporate mainframes. You've seen the millions of applications developed for mobile phones and tablets and at the other end of the scale, mainframes software developers are in great demand, for the so called legacy (aka business critical) systems and new developments, particularly in Linux. IBM just announced LinuxOne, a range of dedicated Linux only mainframes - clearly they see a need.
The actual mechanism of software development is somewhat mundane and meticulous; what makes the folk you see as "insanely intelligent software developers" different is that they were able to spot a NEED in the marketplace and set about addressing it. I assume you have some experience of writing programs on some platform or another, so the question you should perhaps try to answer is "Do you have or can you develop the ability so see an unfilled opportunity for which you can design a solution?". It might be a killer phone app, some robotic application, or some new approach to business analytics. Only you can answer that.
I've spent my whole career in IT and enjoyed every minute of it, from mainframes to PCs. If it gives you any encouragement, when I started as a trainee application programmer, the only computer I had ever seen was a KDF9 at my university and all I could remember about it was that it could play the National Anthem on its tape unit vacuum columns! I'm guessing you are already further along the road than that!
If you are cut out for IT, you won't regret it but I would say that perhaps not specializing too early might be a good approach, if you are enthused by science, try to keep that in the mix of what you decide to study at college and good luck, whatever you decide.