Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial
End Elv
1,890 PointsHow long to Ruby proficiency? (given a CS background)
I am trying to learn the skills needed to contribute to a large open source charity website written in Ruby. As a second year CS student I know how to code object oriented(Java/Python), manage databases(mySQL) and general system development. I do not however have any experience with Ruby or HTML/CSS ( or web development in general).
I just started out with the "Learn Ruby on Rails" adventure and a quick calculation showed it would take about 104h to finish. I would like to start working on the charity site as soon as possible, and wounder if tanking all these modules are really necessary given my background? If not, who do i skip?
I would like to eventually become a SAAS guy and be able to develop sites like Digg, Twitter, github and the like.
4 Answers
James Barnett
39,199 PointsTL;DR - I've heard it said it takes about 500 hours, to make it out of the beginner stage, so if you put in 20 hours/week solely dedicated to becoming a Web developer, that's about 6 months.
Over on the New Method blog, there's a great post on When can I call myself a Web Developer
A web developer should be able to:
- wireframe/layout a website or web application
- HTML and CSS from scratch
- take a PSD and turn it into a working website
- add interactivity to a website with JavaScript (or jQuery)
- write a basic application in an object-oriented programming language like Ruby or Python or PHP
- work comfortably with a version control system like Git
- manage a domain’s DNS settings
- deploy a website to a website host
For someone with your background I'd recommend the following course sequence:
- Build a Basic Website
- Start here, because it's the foundation for the next to project-based courses. Also it teaches you the basics of semantic HTML. With your CS background you probably then skip the HTML Foundations course.
- CSS Foundations 2nd Edition
- This one starts out a little more advanced than the current CSS foundations and it goes into a lot more modern (e.g. CSS3) techniques
- Build a Responsive Website
- Important for making your site mobile-ready, pretty much required
- JavaScript Foundations
- JavaScript is a horse of a different color, best to start at the beginning to understand it's quirks
- Build an Interactive Website
- Learn about the basics of JQuery
- Build a Simple Ruby on Rails Application
- Ruby Foundations
- Building Social Features in Ruby on Rails
Finally there's version control:
- Try Git
- Git Real
Those last 2 courses are over on Code School, they should help you round out your skill set.
Once you get done with those courses, work your way through the Ruby path on Code School, it has courses on intermediate Ruby, Rails best practices and testing with Rails.
Jake Craige
4,913 PointsYou mentioned you don't know any web development type stuff. It depends on what exactly you need to do with this site. The fact that you have no experience makes it a different question then how well till you are skilled in Ruby. The question should be how long until I'm good at web development then?
In general you are going to have to know html and css to start with because that's what every site uses, no matter which language you use on the backend, it's going to output html to the browser. After you learn those you can get into the development side more and start working with languages like php and ruby. You don't have to be a css god or anything, but understanding the basics will help.
Also, are you familiar with the MVC model? As that is what rails uses and that in itself an take a bit of time to understand and get used to.
If it's minor changes to functionality to the site, you probably could learn that much pretty quick as languages are pretty much all structured the same, ruby just has a bit of a weird syntax compared to the others. But if you are needing to add new features and change lots of parts I think it would take a decent about of time to get to that level where you can comfortably do that and work on a larger project. (that's assuming this site is a decent sized project)
End Elv
1,890 PointsThanks, for all your great input. Much appreciated!
:)
Jack Carr
7,329 Points500 hours sounds like a good goal to aim for, especially for myself.
Thanks for that post James!