this is a roadmap i made for another post but ill post it here too. keep in mind this is oriented specifically towards binary fuzzing, reversing, and exploiting.
as a prerequisite you should be confident in assembly and reversing. heres a starting point and some official docs on intel x64 but you should really learn more on your own, especially stuff on how operating systems work. at first try to focus on either windows or linux and learn as much as you can about its memory layout, privilege levels, system calls, etc etc.
another great tool for purely learning is Cheat Engine. it allows you to get comfortable reversing and patching complex binaries and, because it deals with games, you have physical feedback on your actions.
get use to debugging and reversing crackme programs. if you're a student, rich, or a pirate then get a copy of IDA Pro and become best friends with it. if you're not then check out ghidra. if you don't already know one then id suggest learning a low level language like Rust. Its great for fuzzing for a wide range of reasons.
from there id suggest taking Sam Browne's SFCC CNIT 127: Exploit Development class. it goes over the basics of reversing, fuzzing, and exploiting binaries. he uploads the newest videos every year alongside the homework and tests.
from there id start looking at real world examples of buffer overflows/other exploits and see if you can recreate them yourself without looking at the exploits code.
from there id start checking out gamozolabs. hes a twitch streamer who works at Microsoft and has some seriously great fuzzing material. you wont find a more comprehensive source of modern advanced fuzzing techniques than there. If you're wondering if you should learn rust for fuzzing then id suggest listening to some of his thoughts on it. everything he codes in his streams is in rust and hes the reason why i learned it
If you want to get into some real low level stuff then watch some Christopher Domas talks. Every single talk hes done has been absolutely legendary.
and don't just skim this stuff or put it on in the background. if you don't have a several thousand lines of notes for each link i sent then consider yourself having failed that part of the "course".
everything i just said should take a few years. if you do it all properly then by the end you'll be alright at fuzzing. have fun!