Ramon PorterLearn Rails with Help
Ruby on Rails > Ramon Porter
My name is Ramon Porter. I’m changing careers and reinventing myself as a software engineer. My first two weeks of Ruby on Rails training with AirPair and learning via remote pair programming have been nothing short of remarkable! The first, and probably most clear benefit, is that I have access to such a high level of talented rails code mentors willing to pause their busy and already productive lives to lend understanding and instruction to a person such as myself. Someone without a CS background, and painfully new to programming. My hat is respectfully tipped for each of the gentlemen that I’ve had the privilege of sharing a code mentor session with.
If you’ve never tried an AirPair before or remote pair programming as a means of learning, you owe yourself at least one session to check it out.
Ruby on Rails Training Week 1: Git + Rails Refactoring
One of the first things I received instruction with my Ruby on Rails training was using git in the terminal. It sounds funny saying this now, only two weeks later, but I was so confused by the process of staging and committing that it seemed the more git stories I read about the process of pushing a commit, the more confused I got. It took a thoroughly pleasant session from Edward Anderson and suddenly… And I do mean pretty suddenly, after practicing the flow over the course of a day or so, things started to make perfect sense in the workflow context mentioned above. It was like Edward cured this huge stuttering problem I had! Needless to say, my github push patterns have undoubtedly been happening more consistent and frequently than ever. A huge personal step for me!
I then had a session with Adam Cuppy where he taught me about data-modeling, and increasing an application’s performance through indexing, among a host of other ruby on rails training things. Adam’s humor catches me off guard a lot, and our sessions are a lot of fun even though I’m being mentally stretched to understand new concepts. A person couldn’t ask for more! I really appreciate learning through online code mentoring.
Adam also helped guide me into my first rails controller refactor, take a peak:
The private methods were added to replace the redundant
@venue.events.find(:event_id) placed in several methods in the above events_controller.rb file. He also taught me how to check for an instance of the parent model Venue and how to break the functionality into small but useful methods, which prevented my application from throwing an error that I couldn’t isolate, before he pointed it out to me.
Ruby on Rails Training Week 2: More Rails Refactoring + TDD intro
My second week started off without a hitch. Well… I had issues with my application, but I also had experts like John Davison and Mark Simoneau, on call to assist, keep me unstuck and guide me towards completion of my first project.
Mark worked with me on helping me separate future and past events from a list of total events. Here’s a gist and peak at how that turned out.
Yeah… Lol, I was trying to take the first two records out of a list full of events, and then with each of the two
.takes(2), return only the events that had a date greater than the current date. It took me a while to even grasp what I had done, but when finished, I was introduced to scopes for the first time, and added the following two scopes to my Event.rb file.So I added lines 8 and 9, and removed my horrid attempt using the
.take(2) method in my controller.
I finished the week off with an introduction into TDD. Just about all of my mentors shared benefit after benefit of BDD/TDD. Everything from being able to know whats going wrong in my code without a browser, really understanding what my code is doing, to problem isolation. Needless to say, I’m itching to get into TDD/BDD this coming week, I have the Cucumber book on deck (although I have yet to open it), and a 2nd edition of Rspec on the way.
I’m a better learner in general, a better or at least happier developer, and I have AirPair and their clearly expert-level mentors to thank for that.
If you’re interested in hearing more about my 10-week ruby on rails training journey, check out my blog.