It wasn't until I went to college that I really learned to program. I know people like to say college isn't required to be a software engineer, but I learned a lot having to sit through all those lectures.
Of course it has been 30 years since that happened, but learning BASIC, then later Z80 machine code, definitely put me on the path towards an IT career.