Currently for fun but I'm thinking of seriously learning reverse engineering to get to a level where I would be happy to call myself a "reverse-engineer" and maybe apply for a job - It's just that currently I wouldn't even be happy to call myself anything like that - I "develop" a CFW-package and manage to fail every major update xD There is not a lot of knowledge involved in the stuff I'm doing.
Reverse Engineering / CFW:
I'm currently reading this huge book and can say that it's pretty great when you truly want to start from 0:
https://github.com/DennisYurichev/RE-for-beginners
There are some other resources that could help you with the Switch specifically but reading that would probably supply you with enough reading supplies for a long time
Homebrew:
Start learning C or C++ if you want to start developing native homebrew and look at other homebrew repos if you need some help, the libnx documentation may or may not help you too
You could also just use a "wrapper" for languages such as brew.js or pynx, those are much easier to get started with (but y'know, they don't run natively and need those wrapper homebrews)