An often forgotten field that's adjacent to programming but much easier to get into is network engineering. If you're smart enough to program then you're smart enough to to architect and configure a network. Salaries are comparable to programming jobs, and college degrees generally don't matter much.