We do have a few threads on the matter.
https://gbatemp.net/threads/some-hacking-concepts-and-links.287721/
https://gbatemp.net/threads/how-does-one-start-with-console-hacking.464057/
https://gbatemp.net/threads/what-wo...m-to-start-hacking-consoles-handhelds.330808/
https://gbatemp.net/threads/what-do...be-able-to-hack-or-understand-hacking.501840/
https://gbatemp.net/threads/what-do-i-need-to-start-helping-the-scene.479123/
If you are purely interested in making homebrew code then that is fairly conventional programming (
https://gbatemp.net/threads/so-you-want-to-learn-to-program.371255/ ), maybe a bit rougher around the edges and some of the libraries are not quite the same but by and large it would be standard programming. Custom firmware (CFW) is a different matter.
Reverse engineering runs everything from the lowest levels of hardware to the firmwares they run to the services said firmwares support, to the games they run (
https://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-new-2016-edition-out.73394/ ), all being somewhat different in their approaches.
Self learning is popular, mainly as it is not really taught in schools; schools traditionally teach you either how to program or how to administer computers, both incredibly useful skills to have but any hacking skills* you gain, especially those terribly useful to consoles/embedded devices, are almost incidental to those. If you are going to learn it from a school then it will tend to come from the really hardcore areas of computer science and electrical engineering, the latter of which you will need to bias towards it as it won't necessarily happen by default but with the slightest push it will. Maths and physics have provided a few as well over the years, mainly as before computers became their own thing they were the main users of them, but you will have to really push for it in those cases. With that said other than having to learn how to think like a hacker (not necessarily a trivial feat if you spent that long in academia, my favourite example coming from
Lessons of the Kobayashi Maru) you will probably come out of such a thing fairly primed for it.
For myself then while I can't and wouldn't discount what I learned in school (granted I am more traditional engineering with a heavy electronics bias) if it was left as just what I needed to pass exams then not so much from school.
*it has been said that most of hacking is computer administration, a favourite example being a client a while ago got their wordpress install twisted away from them by a marketing consultant's web dev that wanted to handle everything. Did I comb through the code looking for a password handling error? Nope, not a fucking chance. I went on the server's database admin and did something like
http://wpcrux.com/blog/change-wordpress-password-phpmyadmin/ . Such things are rather less prevalent/available on embedded devices though.
I have always pulled things apart, computers and electronics are cheaper and easier than the big boy industrial toys I would be doing in an ideal world. Once you understand enough of how things, or the thing in front of you, works then you start seeing how to make it better or doing things you want it to do.
It is a skill set I offer my clients I guess, though more as a thing I can do than an out and out service.
Hopefully you get something from the links above, failing that find yourself some nice channels covering hacker conferences and the sorts of devices/programs/concepts you care to look at (while I don't necessarily expect that you will know what JTAG is and why it might be useful to you then if you see it mentioned in a talk, say on 360 hacking then you might push deeper into such things. You will then probably find out there is more like i2c, spi and all the rest of the things you might find on something like
http://dangerousprototypes.com/docs/Bus_Pirate ).