Nine Things I Didn’t Use To Learn Ruby on Rails
A Bunch of Resources I Haven’t Learned to Become a Web Developer
Last year I famously claimed that I was going to “Learn to Code” and show the world how cool all my ideas were. From all I had heard about web development I thought it was as simple as adding a few <tags> and a .var Strings = “Here and there” and BAM you were basically on the fast track to being a Lead Dev at Google. I was so wrong.
I thought I started strong when I quit my job and moved to Austin of Texas, the tech capitol of the entire world (when South By is in full swing (suck it, The Valley)). I was super lucky and I landed an internship building a site for a company after I told them I knew HTML and CSS and SOME Javascript. I got to that level by pounding Treehouse courses into my head until I was red, white and blue in the face (this is Texas after all). After my internship, I landed another opportunity at the raddest fucking office ever and got SUPER busy with work and life stuff and I never TRULY learned how to code beyond HTML and CSS. I built the new Bro Journey WordPress theme in October / November and was struggling to make it to the finish line (big shout out to Joel for helping me out on this one).
So a whole year + 4 months has gone by and I haven’t actually built anything cool besides designing a few websites using the very easy to use and learn Hypertext Markup Language (HTML) and the corresponding Cascading Style Sheet (CSS). HTML and CSS are basically the paint to a programming languages hammer and nails. They are crucial to the function of a website but won’t allow your pages to remember users or display data acquired from users like pictures or 140 character microblogs or shitty pictures of your dinner with a filter over it.
When I set out last year I knew from Mattan Griffels “Teach Yourself to Code” I would be learning Ruby on Rails. How could I have NOT drank the Rails kool aid? It’s web development that doesn’t hurt! It’s practically all built for you and the community is AWESOME (the Rails community IS awesome I’m not being a dick). Austin is a hot bed for Rails startups and Rails shops so I knew once I got here that I would hit the Rails running (see what i did there) and I would be a hotshit developer in NO time. Wrong again.
It took me an entire year of plugging HTML and CSS into a text editor and refreshing Chrome that I’m now finally comfortable whipping something up on the fly. However, I’m not even CLOSE to learning Rails. I never really applied myself and immersed myself like I did with HTML and CSS.
Here’s the catch and the whole point behind this post…The “teach yourself to code” world has literally exploded and turned upside down on itself. And all this time, I’ve been slowly collecting them all in hopes that I’ll use them to finally build some cool stuff! Welp, a buddy of mine asked me for some resources on learning rails the other day and I’m finally going to come clean that I only have scratched the surface in learning TRUE programming, give you all everything that I know is available and let you go wild with all this awesome stuff that I have neglected.
So here it goes. Everything I’ve collected over the past year while I’ve claimed I was learning Rails and not doing any of the work. I’m embarassed and ashamed that I don’t have something cool to share with the world but I want to help push you out there to NOT be like me “rails s” it up and start building.
1.) Do the work. The abslute most pivotal thing I’ve picked up while learning front end development (HTML and stuff like that) is that you have to do the work. No copy and pasting and hoping it will work. I actually did the work with HTML and CSS and I’m proud of my progress. Rails, however, not so much.
Josh Kemp is the opposite of me. He is on a self taught journey to learn rails in 6 months and earn a position as a junior RoR dev. He updates multiple times a week and is sharing all the high’s and low’s of teaching yourself something as complex as web development. Follow along with Josh’s journey and watch him get a job. His updates aren’t too technical for you beginners and they are entertaining too. The best part about Josh is his dedication and drive. Follow his blog and tweets and hang on for the ride.
2.) Gamification stuff. I learned HTML and CSS through Treehouse because they are good at SEO and when I googled “Learn HTML” they popped up. Simple as that. However, there are TON more companies just like Treehouse that provide an extremely similar convention. If you aren’t into Treehouse there a few other gamification sites to get you started with more than just Rails…
CodeSchool: 25 bones (same as Treehouse) home to the ever popular Rails for Zombies.
Codecademy: Totally free and they have an intro to Ruby course. I did jQuery and the web refresher for HTML and CSS. It’s pretty slick and gets you thinking about development and exposes you to new principles all in a browser window. I like the streak function, it keeps my mind from atrophe and keeps me sharp. Not the best tool in the world though but a good supplement to everything else.
3.) Custom classes. There are some pretty sweet sources online that help you learn a ton w/o the hoopla and gamification. They are as follows…
Skillshare: They are hosting Mattan Griffel and he’s doing “One Month Rails.”
Udemy: I don’t really know anything about them but I searched Rails and came up with a handful of resources on not just Rails but Ruby the programming language in which rails was built on.
Local Courses: I took one from Cospace for a $100 and it was really awesome with a great instructor. But as you know, I didn’t put in the effort and didn’t receive the reward.
4.) Michael Hartl’s Rails Tutuorial: This is THE rails tutorial for n00b devs. It costs 100+ bones but you can learn a ton and you’ll be making a Twitter killer with his demos.
5.) Books are neat! Agile Web Development with Rails was written by DHH who started Rails. I have a copy of some other books but DHH and his peeps wrote this to teach Rails so I recommend this one first. This isn’t DHH’s best work in my opinion. Rework is a game changer. If you’re in the corporate world, don’t read this book. You’ll just get pissed that your boss doesn’t like it that you text at work and he can’t dock your pay every time he cruises around and sees you on twitter.
6.) Peeps in the community: I’m unbelievably lucky when it comes to this section. Austin on Rails is probably the best Rails meetup in the country and it was my job to hang out at their meetups and throw away pizza boxes when I worked at Capital Factory. Just joining a community group or a meetup group will change your whole game. In those groups, you’ll learn a ton from the talks but meet great people before and afterwards. Here’s a list of folks I know about in the Rails community who can maybe give a hand when in need if you aren’t physically in a community with a Rails group.
Schneems – UT on Rails. Mattan Griffel – One Month Rails. DHH – Raddest f’ing dude ever (created Rails). Search for “rails” on twitter. Lance Vaughn – CEO at Cabforward and Chair of Lonestar Ruby Conference. Damon – Nicest Human Being in the Entire World and Founder of Austin on Rails. Rails Hotline – Call 911 for your app. Meetup groups – Be nice. Introduce yourself. Geeks are nice everywhere, unless you aren’t then you probably aren’t in the right place. Continuous Web – If you’re in Cincinnati, go join this group. I went to a few meetups before I moved to Austin but theses guys are really great.
7.) Semester at Sea for Geeks: There’s a new wave of teaching programmers: 9-12 week immersive programs at dope locations around the country teaching web development from the ground up. Here are the ones I know of…
Flat Iron – New York
Dev Bootcamp – San Francisco
Starter League – Chicago
Maker’s Square – Austin. (These guys are great!)
8.) Osmosis: I’ve picked up a decent amount of stuff listening in to conversations. You can too, just turn on Michael Hartl’s Rails Tutorials or any podcast about web development and listen. It won’t make sense, but you’ll slowly start to learn the lingo. I’m fortunate as all hell because I live in Austin and hacked my way into the startup scene so I could eavesdrop on a ton of conversations and get a handle on things without actually doing any work, just listening. Do the same. Follow folks on Twitter and maybe ask a question and introduce yourself.
9.) Starting breaking things: That’s pretty much it. Start doing SOMETHING. Don’t just bookmark the link and claim that you’re learning, like me. Go break something and build it back up. Learning something strange and new is like an addiction. You have to get up everyday and force yourself to do that one thing every day. For alcoholics and drug addicts, it’s not drink. For you, it should be writing code or reading documentation or attending a meetup or breaking something and starting from scratch. You’re going to fall of the wagon and say “fuck this” and quit. But if you want to be good, you have to start one day at a time and just keep chipping away.