Learning a new programming language is not easy, and learning a new framework on top of that is definitely not easy, unless you have the right resources and mentors.
Here at CustomInk they have provided me with an environment that facilitates learning and produces results. This has made my journey of learning ruby on rails substantially easier. On my first day it seemed that the team had planned out my journey very well. I began my introduction to both the ruby language and the rails framework through an online educational program provided by Envy Labs, called Code School.
Code School, continues to provide me with a high level knowledge of both ruby and rails. Envy labs accomplishes this through online courses that push you to apply your knowledge on exercises. These exercises allow you comprehend how such concepts are used in real world programming challenges.
Overall I am fairly happy with the experience that Envy Labs had provided. However, I personally felt that just using Code School would not be beneficial to my success. Therefore, I utilized other tools and resources to speed up my learning process. Below I will mention a couple of other resources that I have pushed onto the learning stack.
These additional resources have allowed me to fill in the gaps, and get a better depth level knowledge of both ruby and rails. It seemed that it would be quite easy to dive into rails without having a good grasp of the framework, since rails generates so much code for you. However, I really did not want to proceed this way. Instead, I wanted to obtain a depth level of knowledge, due to the complexity of CustomInk's applications.
Is my method of learning rails correct? No. People have different learning styles; therefore, no approach is perfect. You must tailor the learning process to meet your needs and ensure your success. In my case, using code school, extra resources, analyzing well written code, and building simple rails applications has allowed me to learn and apply my knowledge. In no form am I a solid Ruby on Rails developer. However, using these tools I can make great efforts to become better as I continue my journey.