We all collectively made developers better. Anyway, memory corruption is mostly stopped by the kernels and memory corruption mitigation strategies. Mostly implemented security focused devs and guided by information security research. It’s a yin and yang thing. We find stuff, the community and big organizations research and figure out nee mitigation strategies etc. It is an ecosystem with many loops that have security researchers and bug hunters almost everywhere.