So Many Resources...
I’m starting to feel both excited and overwhelmed by how many resources there are for Ruby and Rails online, especially now that I’m at a point where I have built up a base so that I can really start to take advantage of them.
Types of resources:
Blog Posts There are a lot of blog posts out there that a beginner can take advantage of. For me, though I’ve been on and off blogging for basically my entire sentient life, it’s new and different to read technical blogs. I find them useful both for trying to solve my problems, and for trying to become a better code communicator and storyteller. On Tuesday, Peter Cooper from Ruby Weekly spoke to our Flatiron School class via Skype. I really enjoyed hearing about his background, his approach, and how his role in the community has evolved. It made me feel inspired to try my own hand at email newsletters – never thought I’d say that!
One of the things that stuck with me from Peter’s presentation was what he said about how to tell a good story or teach someone about code. He said that he has an ability to always remember what it was like to be a beginner, and leverages that mindset in order to most effectively teach people about code. Between that comment, and reading the thought-provoking blog posts of my peers at Flatiron and of the Ruby community in general, I am trying to become more comfortable with blogging about code as a beginner. Sometimes I think that perhaps my realizations are so minute that they might be irrelevant to others – “oh, I need to bundle update” or “I just needed to drop the database” or “so THAT’S how application.yml works.” At the same time, I know that whenever I find posts or discussions that help me quickly resolve a problem that was leading me down an unnecessary rabbit hole, I feel so thankful.
I don’t often go on Hacker News, but when I do I usually find some really cool stuff, so maybe I should start going on more… Yesterday I found this blog which really inspired me: http://blog.jenniferdewalt.com/post/56319597560/im-learning-to-code-by-building-180-websites-in-180 Jennifer DeWalt is teaching herself to code to building 180 websites in 180 days, starting from a place of no experience. I so admire both the learning approach, what she’s actually been able to make, and her openness to exposing her learning in this way. If you go back to her first posts (http://blog.jenniferdewalt.com/page/15), she is able to write about her learning as a beginner in a concise, technical, and elegant way. Goals!
So there are a lot of blog posts out there to read, to find when I search for answers to my questions, and to try to emulate as I become a better communicator of my code ‘journey’.
Railscasts Omg Railscasts. I’m pretty sure this was the reaction of me and all my classmates when we first started listening to them. Sometimes when you’re starting out, you’re not quite sure how to begin your learning and identifying topics to investigate. Ryan Bates knows. And he explains them so well. At first I was listening to them while working out (the app is awesome, thank you to whoever made it!) or on the go, but I’ve more recently started to code along with them. Each approach provides different benefits. It’s intellectually fascinating to better understand rails initialization. However, when learning about dynamic forms or omniauth, it might be better to code along. Anyways, Railscasts is an addictively useful and interesting resource – and this is coming from someone who is really averse to online videos, especially ones on the longer side.
Curated Resources (e.g. Ruby Weekly) I just signed up for Ruby Weekly (and a bunch of other stuff too) after Peter Cooper spoke to our class, but I’m excited to get my first batch of newsletters! Again, I expect these to provide more blogs and online resources to help me overcome specific challenges in my programs.
Speakerdecks I’ve written about these in an earlier blog post, but I LOVE speakerdecks. I could watch Zach Holman teach me about Github all day. I find the speakerdeck content as a whole really engaging and high quality. It’s another resource you could spend a long time exploring. Additionally, it’s another expression of how people think about presenting and teaching others about the programs and apps they are building or what they are learning as a result.
Books There are so many books. I’ve started an ebook folder in my Dropbox which is already burgeoning. I could write a whole post about deciding which book to read, where to start, how to read it, etc. I could code along with a book, and might learn more, but I would read it much slower. I could go for breadth, and try to get the ‘sound’ of the approach of the author in my head. You just have to start somewhere, but in this field it feels like there is always so much more to learn that figuring out the most efficent use of your time is challenging.
And there’s more… For me, the wealth of resources about Ruby and Rails is both incredibly exciting and a bit of a challenge. I love to understand how things work and how different parts of a system operate in tandem, so I definitely can fall into reading, watching, and learning from these resources in the few hours I have between the end of Flatiron on one day and the start of school on the next. At the same time, I’ve seen my understanding solidify markedly over the last week and a half, as we’ve moved at Flatiron from lecture/lab mode to the application-building phase. I know that the more code I write, the better I will be. At the same time, reading Practical Object Oriented Design in Ruby or watching Railscasts feels like a master class in understanding how to code better and helps close some of the gaps in my understanding. I feel thankful that I’ve discovered a field where there is so much to learn all the time. The question now is how best to do that…
In some way, learning to program reminds me of when the iPhone first came out. My father was the first one in our family with one. At first, it was this surprising new thing, where each time we had a debate or an unanswered question, he would just default to looking up the answer on his iPhone. This is kind of obvious behavior by now, but it was a totally different approach than remembering to look it up when you get home or whatever. In some way, I think these resources present an opportunity to do just that. As I try to build apps and programs, there are answers to my questions and new paths they can lead me down in terms of learning, as long as I figure out how and when to ask.