If you can get any experience working on OSS at all, especially on a reasonably well known project (not all of these are hugely technical, so you don't necessarily have to be some ninja guru). This will already put you ahead of the pack,many programmers use OSS but few actually contribute. You will also have the advantage that you will be able to work on real code and possibly get some mentoring which will help build your confidence.
Also bear in mind that as a former Marine you will have experience in areas that the overwhelming majority of programmers do not. Even if these do not seem directly relevant it can sometimes be surprising where you may be able to find a niche.
For example you might want to also consider looking into the IT/Operations side of computing (running datacenters etc), I would imagine that a military level of organizational skills as well as being able to deal with pressure would be very useful there.
I know plenty of competent programmers who did not start when they were 12.