Just to give the quick TLDR response to this, I would highly recommend looking into universities with high game development rankings. Check their media school ranking if you want to do game design or check their computer science school ranking if you want to do software development. I did a lot of research for schools and how they rank for software development and game programming. My search showed that USC has the best program. I am currently attending school at USC and I have to say it is very rigorous, but it will open you to so many different aspects of software development. They teach concepts on very detailed levels which will be extremely beneficial to your future in or out of the game industry. Take a look around and see what is out there. Personally I would recommend staying away from tech schools and look at universities instead. That's just my opinion though.
it should be very easy to put some 2d effects together. if you use opengl or dx, then you really dont need to consider the 3rd axis. therefore you can still use shaders, shadows, reflections, etc. just think in 2d rather than 3d. to answer your question, any 3d effect can be applied in 2d.