views:

123

answers:

3

I consider myself a very enthusiastic amateur, no longer a beginner but unable to write code that goes beyond the simple examples found in most books. As often recommended, I've chosen a small project I'm passionate about and started hacking away on it, knowing that many concepts are still over my head. Given my past history, I'm concerned that I'll end up with only a superficial understanding of the tools and language I'm using for my project. (specifically RoR, but I've also played with Python, Obj-C, Cocoa)

At this stage, would you recommend that I keep hacking away on my personal project, and trust in the learning process as I go? Instead, should I start browsing GitHub for open source rails projects to gain some experience reading other developers code? Or is it better to search for a mentor to help guide me through this awesome yet frustrating world of software development?

+2  A: 

A mentor would be awesome, if you're lucky enough to find someone who is patient and willing to help you.

I would keep working on your own project that you are passionate about, but in parallel to that, you have to keep learning new stuff and keep expanding your knowledge of software design.

I think exposure to bigger projects, that you may find on GetHub as you mentioned, would round out what you learn on your own. Even if you don't contribute much/anything for awhile, I think reading code for those projects would expose you to more advanced techniques more quickly than if you were totally on you own.

JohnB
That's the real challenge I guess. I enjoy the self-teaching process, but I wonder if it becomes a burden at this stage. Having someone to suggest next steps, improvements, new projects, and point out mistakes would be great
jktress
It would be great. It's like a guitar teacher: not absolutely necessary for everyone, but adds immense value, and many people would never become as good if they didn't have one. They set you down the most efficient path, break you of bad habits early, teach you good habits, etc.
JohnB
+1  A: 

I suggest you have a look at this question I asked a few days ago. The replies were invaluable:

http://stackoverflow.com/questions/3257749/ok-so-im-not-a-beginner-anymore-what-comes-next

Event though I had C++ in mind when I asked the question, the replies were basically language-agnostic.

Kristian D'Amato
+3  A: 

In Rails' case, we have some awesome resources for people like you.

Railsbridge was set up precisely to be a help for anyone that needed it.

It has a mentor scheme, with 500 students and 70 mentors, all of this can be done online. They'll help you with anything you want (within reason). For more details, head on to the RailsMentors site

And good luck!

Lenary