I remember being asked during my first week at Clio if I had any experience with Ruby. As a front-end developer, most of my time is spent in Photoshop or in a text editor, working with HTML & CSS. But Ruby? No, not familiar with Ruby at all. The reason I was asked was because Clio implemented a Ruby generator to structure templates on the marketing site; familiarity with the language would be extremely useful. It wasn’t that I didn’t want to learn Ruby but where would I start? Truth be told, I have had several unsuccessful attempts at befriending a programming language. Each attempt ended in disarray as I tried to rush the learning process and eventually got frustrated and stopped.
Then one day I came across an article by Peter Norvig entitled “Teach Yourself Programming in Ten Years” and it completely changed my perspective. Reading these books and practice modules wasn’t going to magically transform me into a Python/PHP/Ruby/Java wizard after x number of days. Instead, learning how to program effectively was going to take dedication, practice and pace.
The primary reason I chose to learn Ruby was because of the rapid progression of web development and specifically web applications. Tools are constantly evolving, people are connecting over a broad range of devices and the technical complexities are growing exponentially. I felt it necessary to not only have a better grasp on the front end environment but also familiarity with the logic of the back end.
Where I started
Fortunately, Clio has an excellent resource library for all things Ruby. I had heard several reviews raving about Chris Pine’s book, “Learn to Program” so that was where I began. With no set timetable, I began to tackle each chapter until I was comfortable with the concepts and could successfully complete the programming challenges. If I got stuck, I’d take a break. When I felt comfortable with my solution to a programming challenge, I’d search the web to see how other readers tackled the exact same problem. I was constantly amazed at the approach others would take and it ended up being a great opportunity to get an introduction to new methods and concepts.
After reading Chris Pine’s book, I went to Ruby Monk and went through several lessons. The site helps build confidence with the Ruby syntax and challenges readers with questions and exercises. I often found myself browsing through the official Ruby documentation in search of answers to their section questions.
At this point, I felt ready to get my feet wet with the Rails framework. I was steered towards Michael Hartl’s “Learn Web Development with Rails” tutorial and went through the first couple chapters. After the second lesson, the tutorial has walked you through setting up a project in Github and successfully launching the web application on Heroku.
I’ve registered for CS169.1x Software as a Service, an online course provided by UC Berkeley and available via edX. The course will walk students through developing and deploying a basic web app with Ruby on Rails via Amazon web services. The course deliverables will certainly test my limited Ruby knowledge but I look forward to challenge. I’ll write back once the course has completed later this summer. For those interested in pursuing a programming language, now is a great time to take the leap (it’s not that high, I promise).
– Brian DeVries (Twitter: @briandevries_)