My question is, "Is it necessary that one go to school to learn C?"

What are some, or if there is any, requirements to be an expert programmer? Is it just how much effort one put into it..?

I'm asking this because I havn't got any schooling on this matter and I'm now trying to study it on my days off from my work.

So I'd like to get a response from individuals of this site about how they got to this point. Perhaps, a brief history of yourself would be nice.