Tag Archives: Code School

Ruby Nuby Project

Rogues Ruby Nuby Project Video

The team at Ruby Rogues is putting together a show, Ruby Nuby Project, based on learning Ruby. They’ve requested Ruby noobs, like myself, to submit a video describing their experience. You can see my video and written response below. Here are the specifics of the request:

Have your Nuby record a 5 minute video talking about their experience learning Ruby. They should answer these questions:

  • Who are you?
  • What do you use Ruby for?
  • How have you gone about learning the language? What resources did you use? E.g. books, videos, blog posts, online courses, one-on-one tutoring, etc.
  • What has been the most difficult, surprising and/or delightful aspect of learning Ruby?
  • What do you appreciate most about the Ruby community?

Here is why I’m learning to program Ruby.

Who are you?

I’m an entrepreneur, digital marketer, and founder of the digital marketing agency Face The Buzz. I’m on a mission to learn to code. I’m dedicating myself full-time for 18 weeks to transform myself from a non-technical person into a beginning programmer. I’m 7 weeks into journey so far and having a blast.

What do you use Ruby for?

I don’t have an engineering or computer science background. I’m learning Ruby so I can use it to develop web apps. My background is in working with technology startups, but never as part of the technical team. My role has always been in marketing. I’ve been extremely fortunate to work with many great entrepreneurs. I want to be part of the early stage development and building of a product.

How have you gone about learning the language? What resources did you use? E.g. books, videos, blog posts, online courses, one-on-one tutoring, etc.

I learn by doing. Therefore, I’ve focused on online tutorials. I’ve used a few online courses, including Code School’s Rails for Zombies, Treehouse, Codecademy for HTML, CSS, and JavaScript. I’m also using a project based approach to learn to program and I’ve begun to work on a web app project of my own. This important step and I hope will help me transition between simple repetition into more critical thinking about programming.

What has been the most difficult, surprising and/or delightful aspect of learning Ruby?

Ruby and Rails have an amazing amount of functionality built into the language/framework. This feature is powerful, but can also be difficult and confusing for trying to understand exactly what’s going on inside an app.

What do you appreciate most about the Ruby community?

I appreciate how receptive and helpful the Ruby community is. Whether it’s sending out a tweet, using online communities, or a meetup, developers have been very friendly and happy to help – you just have to ask.

Sticky Notes Plan

3 Steps to Create The Ultimate Plan to Learn Code

There is an amazing wealth of information available to anyone wishing to learn code. This abundance of resources is both assuring and overwhelming. How do you sift through available resources and choose the course of learning best for you?

The nature of learning a new skill requires that you dive into foreign territory, which can be scary. But, it’s not uncharted territory; there are others who have been in your shoes before and succeeded.

For me, I visualize learning a skill as trying to cross from one side of a giant river to the other side. You’re currently on one side and you want to get to the other side. Standing, gazing across that great divide, you know there are lots of people who have tried to cross and have been unsuccessful. But, there also people who have crossed successfully, doing so using various methods available to you.

River Crossing

Photo courtesy of Chris Gladis

How do you, standing alone on the starting side, determine which path is right for you? Following these 3 steps will help.

#1 Evaluate All Options Against Your Resources

There are many options out there – too many to list. Quora is a great resource for any language you’re trying to learn. Here’s the Quora question and answer I used for as guide for Ruby. Because most resources will either be online or books available to order, create a bookmark folder for each language to save your list.

Also, your resources factor heavily into your decision as well. For me, spending years to get a CS degree, attending a developer bootcamp, or hiring a private tutor wasn’t an option because of time and cost reasons. Eliminate any options for which you don’t have the resources.

#2 Determine Your Learning Style and Match Resources

Once you’ve got a list of resources, it’s time to evaluate those options against your own learning style. Just because someone raved about a learning source doesn’t mean it’s right for you. Remember, there are many people who successfully crossed the river, but they didn’t all take the same journey. Find what works best for your brain.

#3 Don’t Be Afraid To Iterate

This last step is crucial, especially in learning web development. If you find a resource isn’t holding your attention or is incredibly too hard or too easy, don’t allocate your precious resources on it. Get rid of it and move on. This isn’t school, you’re not being graded on what you complete; instead, your accomplishment is all about what you learn.

One word of warning, don’t quit a resource because it’s challenging you; some of the best learning happens at this neural point.

My first week was scheduled to include Michael Hartl’s Ruby Tutorial. I even had a comment posted, which suggested this tutorial was a good place to start. However, I ultimately shifted course and focused my time on Rails for Zombies by Code School. I wanted to see the individual Rails pieces in action (MVC) before diving in heads first.

Learn Code Conclusion

Your time is the most precious resource you have when learning a new skill. Do what’s best for you and be able to adjust your plan as needed.

How do you create a plan for learning a new skill? Leave your thoughts and comments below.

 

Rails for Zombies Redux Code School

My Plan to Learn Code

We each have our own learning styles. Because I don’t have an engineering or computer science background, I’m hoping my that previous learning experiences will be applicable enough to this new undertaking to learn code.

Learning Styles

I learn by doing. I’ve previously tried to pick up programming books which were formatted like an academic textbook – an introductory chapter, followed by 10-15 chapters, each on a specific topic. I didn’t become engaged in the material.

With learning a foreign topic, I need to feel like I’m hitting the ground and running. Even if in reality I’m moving at a slow walk, I still need to feel the movement of progress underneath me.

Rails for Zombies Redux Code School

Therefore, tutorials and online lessons will be the bread and butter of my first three weeks. I especially enjoy interactive micro-lessons, where each step involves learning a new concept followed directly with user application. For Ruby, I’ll be using Code School (Rails for Zombies, Git Real). For HTML, CSS, JavaScrip, and jQuery, I really like Codecademy.

Project Based to Learn Code

I have 18 weeks and I know that I can’t simply spend the entire time following other’s tutorials or lessons. Starting with week 10, the halfway point in my process, I’ll start working on a web app project of my own. I imagine I would quickly become mentally fatigued without diving into a project of my own undertaking.

This important step, will serve as a transition between simple repetition and more critical thinking. Also, I’ve selected an app for which my interest will help to motivate and drive forward my learning. I’ll be writing more about the project (and looking for testers!) as the time approaches. The app functionality isn’t a secret, I just don’t want to get too far ahead of myself by discussing it at this point.

And don’t think that I have any irrational expectation that my first app will be a runaway success. My excitement is driven by the possibility of building something useful and interesting.

And if it happens to make a billion dollars, well, that’s just an added bonus. :)

Understanding personal learning style is a critical step in learning anything. Do you learn best by doing, listening, reading, or something else? How would you improve my plan? Leave your thoughts and comments below.