i started when i was like 12, but of course there it wasnt so serious just playing around

then over the years got into more languages. i always liked to be able to build stuff myself and understand how things work.
i would suggest you first learn one language well enough (to master a language it takes many years) and once you understand all the concepts, its also easier to learn new languages.
some have very similar syntax, so it wont take you long to adapt then.
the best thing to learn is "trial and error" as once you fix a problem, you remember it better as compared to when someone just hands you the solution.
so that and just learning by doing is the best. also try to understand the OS you are working with (how it handles processes, the filesystem, memory allocation etc) as that also helps you a lot.
do that all before you get married as you have more time lol now i don't have so much time anymore, but still need to find time to learn new concepts as technology evolves.
as a programmer you never stop to learn. some technology you use for years becomes outdated, new technology arrives, so its an endless cycle.