

Ask HN: Intermediate Ruby or Rails exercises? - Nick5a1

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:&#x2F;&#x2F;workoutx.nickkarrasch.com).<p>After that I thought the next thing to do was to just &quot;build things&quot;, and this is what everyone recommended I do to keep learning.<p>The problem is I&#x27;d try to build things and then run into problems which were just too advanced for me. I&#x27;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&#x27;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&#x27;t know that until I got in. So the last several things I&#x27;ve tried to build I&#x27;ve just been unable to get over specific hurdles and complete them.<p>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.<p>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?
======
jyu
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/](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.

------
1123581321
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.

------
WestCoastJustin
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/](http://railscasts.com/)

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

~~~
Nick5a1
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.

------
cowboy_coder
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.

------
karolisd
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

