The Agile Guide to Learning Rails

25 March 2016 on . 5 minutes to read

Be a Thinker by learning


This series of posts is, for now, entirely an exercise in putting down in writing the system I used to teach myself Rails and then market myself and land a job. This post will focus on learning, with both the how and the where as well as some resources I used along the way.

Learning (In general, not just for Ruby on Rails)

There’s the saying that ‘practice makes perfect’, and the altered version which states ‘practice makes permanent’. The latter is always true: the way you do things ingrains that system of doing that action into your very nervous system, up until the point that performing certain actions is as involuntary as breathing. The key to learning and applying this knowledge is to ensure that the actions you take are the correct ones, done in the way that is most efficient, and therefore beneficial, for you. Your goal is to practice perfection, because that perfection becomes permanent. Focus on efficiency and finding reliable resources that will reinforce your learning while also introducing new concepts.

Efficiency in Learning

I stated earlier that performing actions efficiently is the most beneficial path. Efficiency is what drives and kickstarted computing. The goal is to transfer menial tasks from humans onto automated systems. Until machines rise up and kill us, as many fearmongers are surely thinking after the recent Microsoft Twitter bot debut, creating applications focuses on moving the load from humans onto machines. Essentially, we as coders and consultants become energy multipliers, so the more efficiently you learn and apply what you learn to what you create, the more efficiently the rest of the world will operate. Insert generic tagline about how your idea or startup will save the world through making it a better place.

Connecting the dots.

Always keep in mind as you read up on subjects how you can apply that new pattern or functionality to any current or past problems you’ve faced. It’s a huge, internalized game of conenct the dots; it’s all a jumbled mess at first with no obvious organization, but given enough data points that are properly connected, you’ll start to notice patterns and begin to grow exponentially. The more you learn and mentally put these pieces together, the sooner the quick growth happens, which will energize you to learn even more. Accelerate forward and ever onward.

Permanence in Learning

Putting what you learn into practice will have it’s own post in the near future, but know that once your brain starts to put a structure to all the pieces of information, it quickyl falls into place. One thing that the human mind is fantastic at is noticing patterns. This is why my preffered method to learning is the shotgun approach of reading and watching vast swaths of material that are loosely related rather than diving deep down with a laser focus on just one subject at a time. As a side note, that’s a major reason why college courses were never my friend; I was never able to assemble a solid working understanding of most particulars of a matter until I had a rough understanding of all the interconnecting pieces. Plus one point for getting textbooks early and reading them all the way through before classes start.

This section was purposefully vague on specifics. It’s better for you, the reader, to take the ideas and generic framework that I lay forth and to apply it to your own life. Focus on your own strengths and identify where what I’ve written does not work for you. It’s esoteric, but figuring out what works best for you is ultimately the number one way to supercharge your learning, life, and career. Don’t waste time spinning your wheels. Time and energy are what make or break you. What I’ve described is what I know now works for me. If you’ve never tried learning this way and generally suck at learning by focussing on one thing at a time, then try this method. If not, then realize that stepping back and getting a medium level view, just high enough that you can see everything, but low enough that minor details are visible, can be a huge help sometimes. Granted, given a complex enough system that can literally make your head hurt if you try and visualize it all at once, but try it.

Actionable Advice

Departing from the above methods and reasons to identify the best ways for you to learn and up your game, check out these links for some great starters on things to read.

Online Resources

  • Rubyflow: An awesome Ruby/Rails feed aggregrator
  • Railscasts: This is where I started. It’s mostly outdated, but chock full of great learning opportunities.
  • Thoughtbot: The author of tons of useful gems and excellent rails advice
  • Relishapp: The authoritative location for rspec questions. A good understanding of this content will help bring you to the next level.

Physical Resources

It’s all about knowing and meeting the right people. Check the internet for local slack groups or meetups. Oftentimes you’ll see pair programming or code review meetups; these are invaluable. For example, Atlanta has Tech 404 to handle this.

If you enjoy having free time and the peace of mind that a professional is on your side, then you’d love to have me work on your project.

Contact or view a list of available services to see how I’ll make your life better, easier and bring satisfaction back into you running your business.