When I first started learning , the biggest hurdle I had to overcome was setting up my computer. A lot of online courses had ways to try out code in the browser but I had to learn how to create a similar set up on my own computer at some point. RailsInstaller was a good start for me. I had and still use a Windows laptop. On a recent Ruby Rogues episode, it’s creator Luis Lavena said that he wanted to help users that used Windows and I mention it because his project was a big help for me. Eventually though, I wanted to use the same tools as the tutorials I was following and include gems that weren’t available for Windows. The solution came with Vagrant. I found enough tutorials online and treehouse has a specific course for it that it was enough for me to give it a try.
There was a specific bug on VirtualBox version 4.2.12 that I encountered but that was the only big problem I had when installing it. I was also having difficulties using existing vagrant boxes that other people have pubished on github until Barry Clark sent me a link for a rails development box that finally worked.
Using vagrant forced me to become more familiar with the command line but it gave me access to tools like rvm which I appreciate now more than ever. I’ve read that a Gemfile is really all you need with a Ruby project but I kept on having so many issues with different gems that it was easier to isolate projects using gemsets instead. I think that when you’re starting to learn something, the best thing is to minimize the number of things you have to look into to isolate problems. I knew that it would have been amazing to understand what was happening between the gems, but it was better to prioritize learning ruby programming and rails configuration.
The last thing I needed to remember when I started was balancing when it was time to go deeper into the subject matter or opt for an easier solution. As a beginner, it was easy to feel like I wasn’t being productive and ultimitely feel overwhelmed by what I was getting myself in to. I needed to be my own coach as a consequence of that. I pushed myself when I was really getting behind and went easy when I knew that I was starting to become too discouraged. I think that this is something fundamental to anyone teaching themselves, they learn more about their own motivations and what can sustain them for the next sprint.