Back when I was 13, I started in the World Wide Web, I mean to be honest back when I was 12 the World Wide Web started... I was programming like a mad man, and very good at it, I had a lot of potential and if 9/11 hadn't happened, and I hadn't decided to go and fight, I would probably be in a job at somewhere like Google or Microsoft, or the owner of a company. But that didn't happen, I joined the military, and did programming (scripting) as a hobby. I avoided jobs that would cause me to sit on my rear and get fat. Even joining the military again (guess I don't learn). Finally, I got a job in Georgia in June 2011, as a Service Engineer (not the train driver, like an electrical mechanic, who works on Variable Frequency Drives). Well... the company I worked for used spreadsheets, on a shared network drive, which would occasionally go offline, or someone would walk away from their computer with the document open. So I thought, hmm I already work 80 hours a week, why not try and solve this issue. To wrap this beginning story up, I did, I learned how to develop QuickBase applications (easy from my scripting background). But then the IT Manager decided to move me up to IT to be the first programmer for the US Branch. This was daunting, there were projects that outside programming firms had worked on to try and get working for years. It was now my job to make it work. So after some time, I decided to go C# route (being a Microsoft service shop). My company brought in an expensive developmental house to help train and build the base of the application, and I would deal with the nuances. This worked for the most part, after about a month, the base application was done, and I had an ok understanding of C #, and began working on the API. This went well, I was able to find enough books to read and enough resources to follow on the google, I mean the internet. But, I had seen this programmer that came to help as the person I wanted to be, I asked him to design the application like he would and give me brief overviews. Because hey I want to be like this programmer, well junior programmer looking at a complex C# Library code, this was intimidating and has been. I have worked on it more and more, and gain further understanding. But I came to the realization, I am maintaining a code base that I did not make, nor do I fully understand, it became clear to me that I needed to give up on the dream of being this programmer, and instead, become my own great programmer. I am never satisfied by second best, I want to be on the level of this programmer, so it was time to swallow my pride and return back to the basic, I am rewriting the code base, and it won't be as highly optimized, in some ways, but higher optimized in others. The first step was to find a great teacher, to learn the basics of C# like Constructors and overloads, who knew! Oh wait, everyone did. Now I understand more than I have ever. I will continue to grow, I do not want to be a good programmer I want to be a great programmer, and I don't care if that is at google or apple or Microsoft. If that happens, cool, if not, whatever, if I can become better than I will have a job wherever that job maybe and I will have the confidence I should have started with. Better late than never, next stop, an application a month.
The courses I am taking are called programming with Mosh (http://programmingwithmosh.com/courses/) and I highly recommend them!