There are different strategies to learn something new. With a book, some people perform best with the step by step pattern going from chapter 1 to 12, others jump straight to the section they need, and some others ditch the book entirely and jump in to the problem only to find that they actually need a book or some way to acquire knowledge. I fit best in the third group. When it comes to learning I am always in a hurry. A few years ago when I was still in school, I was frustrated with the pace at which we were going in class. I did slow down eventually eventually but this had lead me to learn things in a very disorganized way.

By disorganized, I mean there isn't a consistent pattern I follow that can be repeated. Every time I am exposed to something new, I take a different approach to learn about it. Sometimes I end up giving up the subject all together, while other times i persist until something good comes out of it.

I have been exposed very briefly to server side programming in school, unfortunately my school is not the kind that breeds future web programmers. I thought it was a waste of time but I didn't drop the class. Instead, I went in the wilderness and tried to create websites on my own. I tried using tried using the book from the syllabus as a guide but It was very confusing and specially because I didn't understand the concept of server side programming at the time. I passed the class with an A since the most we were asked to do was to copy the code from the book into visual studio and I can say that I positively hated that class because despite all of it, It helped me realize that this type of learning wasn't for me.

Learning Programming

Php is a very easy language to learn, not always the right thing to say but the barrier of entry is very low. I read a lot about it and decided to take on the challenge. Unfortunately this is the book I bought I should have known since it was the similar to the book I had in school. Needless to say I didn't go very far with it. But I learned a lot of good concepts from it. I never completed the T-shirt Shop project from the book, but I learned the concept of reusing templates. In my HTML days for each page I create I would have to re-write headers and footers and making a single change would mean modifying all the files. So it may sound funny on how basic this is in any dynamic language but there was a time where I was a complete noob too, not that I am so much better today. I learned other stuff in php by trying to do it in Ruby on rails first then realizing I could do it better in php. This is how I learned php, through a series of unrelated events like this.

I started working in the technology industry as a front end developer and this is the book that started it all. In the php case books were used to learn few concepts here and there while with JavaScript I read the book cover to cover. I learned and used my skill right away by tutoring Javascript even before I completed the book. I learned Linux mostly by googling commands and errors. Now you may begin to get a hint of what I mean by disorganized learning. There is no formula, all I did was learn bits here and there like a puzzle and with time I was able to assemble all the pieces together that gave me a image of PHP, JavaScript, Linux, Photoshop, or Golang. All the pieces together constitute an abstract form of programming.

Disorganized learning

Now I can say I am proficient programmer, but It will be hard for me to guide someone else in the same steps. My methods will be like jumping head first in the deep part of the swimming pool and figure out how to swim before you drown as opposed to learning the theory of floating first. Maybe not to that extreme but to put it in simpler words: disorganized learning.