Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Intermediate Ruby or Rails exercises?
4 points by Nick5a1 on July 20, 2013 | hide | past | favorite | 6 comments
Hi everyone. I taught myself ruby and rails using some of the online resources about a year ago. I built a basic rails app that provides you with a workout based on the equipment and time you have (http://workoutx.nickkarrasch.com).

After that I thought the next thing to do was to just "build things", and this is what everyone recommended I do to keep learning.

The problem is I'd try to build things and then run into problems which were just too advanced for me. I'd try to utilize resources like stack overflow but I would always pick a project that had an element that was too complex for me. Don't get me wrong, I would do lots of research and spend hours trying to solve the problem, but the problem would just be too complex for my skill level. The most annoying part is I wouldn't know that until I got in. So the last several things I've tried to build I've just been unable to get over specific hurdles and complete them.

I feel like I need some kind of intermediate level ruby exercises, or alternatively need some guidance on what I should try and build. I want to try and build something that is a challenge but is possible at my skill level, and not take on something that has an element which is far too complex for me to complete.

Does anyone have any suggestions on how to keep moving forward? How can I take on projects or challenges but know they are not going to be way too complex?




It sounds like you need a programming mentor or peers. Someone that can help you think through the hard parts, and possibly lend some of their experience. If possible, go to programming meetups where you do not just meet other programmers, but also code together. In lieu of peers and mentors, you could also pay someone to do a code review.

Alternatively, if you feel you are stuck, you might be using a suboptimal approach to solving these problems. Usually any complicated program can be broken down into approachable and smaller chunks. You could also write a really crappy, but working version and use http://codereview.stackexchange.com/ to get your code in better shape.

"Intermediate exercises" by themselves probably will not help you as much as other activities. You've already stated that you continuously run into these walls. It might be good to do some analysis on why, and talk with others on what makes these problems so challenging. Working through these challenging parts can be ridiculously insightful and fruitful in clarifying your understanding of something, or fixing bugs in your mental models.

A couple other related thoughts: You could use your side project as a playground to practice new concepts as you learn them. Also you could get a willing and experienced mentor.


I think your best bet is to keep pursuing the "building things" strategy, but when you get stuck on something, look for exercises or deep reading in that particular area. For example, awhile ago I got stuck on geocoding and geosearch and so went in search of tutorials and resources about that particular thing. I then took that information and went back to building my app.

I think it's a much better use of your time than doing general intermediate exercises without specifying a particular area in which to learn. At the intermediate level, your options expand so much that no procedural resource can both cover what troubles you specifically and also challenge you consistently.


The problem is that we have to many beginner resources and not enough intermediate. Stop creating beginner level books we have enough already. Everyone says oh just go code. So we go to github and pull down some code and try to build something. What happens now is that we just used someones crappy code to show us how to code. Now we are a shitty programmer because of it. Stop creating beginner books and start creating a flood of intermediate books and resources. I'm so fucking tired of reading a beginner books over and over, because I fell flat trying to move from beginner to intermediate programmer.


Check out RailsCasts [1] by Ryan Bates. I learned RoR through the Ruby on Rails Tutorial [2] by Michael Hartl (highly recommend it). I then used RailsCasts to teach me specific things about practically everything. There are over 400 screencasts so that should keep you busy for a while. My general workflow would be to plan the feature out, watch the RailsCasts episode, and then implement the feature.

Hope this helps.

[1] http://railscasts.com/

[2] http://ruby.railstutorial.org/


RailsCasts is great for individual features, but I guess I'm looking for direction on whole projects I could do that were at a good intermediate but not advanced level.


Now try to implement some features to make it more user friendly:

- AJAX login form

- Workout Categories

- Search functionality

- Use the YouTube API to show some example videos of the workouts

- Sort equipment alphabetically or by category

- Paginate workouts




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: