Nobody hired me because my code was good. They hired me because I could talk about it to ordinary mortals and help them see the potential. And, self support (ok, ask a lot of annoying questions of more capable people sitting around me)
I do suggest you acquire some niche skill. Become an expert at writing tiny parsers for DSL. Learn to use an FP language. Then, apply it as a generalist.
Stats and maths are domain specific knowledge generally applied. Have some domain of knowledge (mine is networking) so learn how to tune postgres. Or zfs. Or run a bgp router. Or apply linear algebra to real world decision making. Be good at something useful, besides programming. Then. Apply programming to a problem in that space!