I got the Job. My first project was to build a text messaging application that talks to Wolfram Alpha using the Twilio Api.
…Ooo snap. I’m in deep shit now!. He’s going to fire me, I don’t know how to build that! Why did I even apply? *screams* HELP!
We had a Skype conversation and he introduced me to the team… and the tech stack I’ll be working with. Python, Django and I’ll also do a bit of jquery for the mobile app.
…Did you even read my Resume? I know Ruby on Rails (a little) and I can do HTML and CSS
“HAHA!” he laughed. “Not a problem, you can pick that up in about two weeks. I’ll email some learning resources to you…”
…Kill me now.
Learning to code was extremely difficult at the beginning. I read “Getting Real” by 37 signals and I was inspired to start a tech company. But how would I actually build the damn software?
The natural next step was code academy.
And yes. Code Academy is great and all, but after doing all those web tutorials, I still didn’t know how to build anything.
…UGH. I just want to build an app that I can freaking sell.
At this point. I gave up and tried looking for a “technical co-founder” and…. Well lets just say that was a bad idea.
I learnt the hard way. No tricks no gimmicks, just hard freaking work. I’ll read a book and get absolutely nothing from it. Give up. and start again hoping this time would be better.
I gave up many times.
I had a friend that did the“rails tutorial” 10 times in two weeks. His app kept crashing, his tests failing. He gave up. Then he started again.
Stack Overflow is your friend…
Rails can be very beautiful. When it works you just want to have babies with it… But then it can also cause you a lot of pain.
Rails versions will cause you pain. You know Rails 3 now rails 4 is out… and you didn’t get the memo. You run “bundle update” and accidentally update to rails 4. Now nothing works and you don’t know why. You start to cry. You bloody Rookie. Always read the Release Notes: Ruby on Rails 4.0 Release Notes
Stack Overflow will cause you pain. Use it anyway. You’ll ask a question and they’ll make fun of you. Then they’ll down-vote your question and block your account. Unblock it and ask another. Read their guidelines. Ask better questions. Never ask “how do I do this”. Instead, ask “I tried this and this is what happened” Help!… You’ll learn.
Rails Gems will cause you pain. Dependency issues. You need x gem to use y gem. y gem needs z gem but gem z has not been updated for rails 4. Nothing works.
Lesson learnt. Avoid all gems that haven’t been updated in like 6 months (this is not a rule). Also, stay away from gems with bad documentation. Gems are suppose to make your life easier but if the docs don’t explain how to implement the gem into your app, it will cause you pain. Stay away.
Its ruby before rails. Don’t let anyone tell you different. If you learn rails before ruby, you will cry. Don’t say I didn’t warn you.
You don’t need a lot of ruby, but you need a good understanding before you start rails.
Code Academy (Ruby): this is a great tutorial, but its time consuming and I never got to the end. If you have the patience though, its worth it.
Chris Pine, Learn to program: This is the best programming book I’ve ever read. It will teach you the ruby programming language, but more importantly it will help you develop a “programming mindset”. This book is a MUST READ. You can read the free version online, but I highly recommend buying and downloading the newer expanded edition.
Learning Ruby the Hard Way — Chris pine’s book is really all you need by the way of ruby knowledge to be comfortable with rails. But you can also go through the challenges in this book if you want more practice.
Why’s Poignant Guide to Ruby — this book can be hard to follow sometimes because its full of cat stories (Yes you heard that right… cat stories). Its an interesting read though and is worth looking through when you have time.
What? You don’t know HTML and CSS? (Laughs! hard).
Okay that’s not much of a problem, you’ll just need to understand the basics for now, nothing fancy.
CodeAcademy (Web Fundamentals): Code academy is a bit long-winded and it will take you up to 2 weeks to finish this. Still, its the best free HTML and CSS tutorial online so you might as well just do it.
You can also try:
Ruby on Rails…
Why we’re here.
Start with The Getting Started Guide by Rails
Rails Tutorial: the holy grail. This is the tutorial that almost killed my friend. Thread with caution. If you can finish it though, you’ll get a solid foundation in rails. Its currently the best free rails resource online (not for long 😉
Rails for Zombies : When you finish the Rails Tutorial (I doubt you will) then you might be able to understand Rails for Zombies by code school
Build a Blog: this is a very good one, especially as a reference because they explain everything.
Rails was a jerk to me. It caused me a lot of pain. She’s like that girl that’s bad for you that you still want to be with anyway.
See how many hoops I had to jump through to finally get to a place where I could build web applications. It doesn’t have to be this way.
I read and read and read but I didn’t really LEARN until I started building things.
Originally appeared on medium: Want to learn Ruby on Rails? Start Here…