Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been programming almost exclusively in C/C++ for the almost 3 years now (not including college) and feel stagnated (not to mention working on proprietary code for the most part). So I decided to change my career path and jump into web devlopment by learning Rails.

The problem is not the learning but getting a Rails/web dev job. Since I don't have any real work experience in RoR, the one way to get noticed is through side projects.

There's a lot of basic advice about building up a resumé in a new technology: creating a project on GitHub, for example.

But being new to the whole web development world I don't know what constitutes as a good project that shows that I am good programmer and not just an eager enthusiast: things like my testing methodology, coding standards, design patterns, programming practices, and so on.

How do I come up with a project that'll demonstrate these things?

share|improve this question

closed as off-topic by Ampt, MichaelT, GlenH7, Bart van Ingen Schenau, Dan Pichelman Oct 15 at 15:31

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – Ampt, MichaelT, GlenH7, Bart van Ingen Schenau, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

    
I'd think carefully about why you're making the change. I'd imagine you'd need a good pay cut go to Rails. You might want to do smaller projects with smaller teams but long term I think C++/Java route will povide a better paid and more secure career. –  Richard Aug 16 '11 at 23:51
    
@Richard You are right. Here's my reasoning. I am not content with the work I am doing. Often it's fixing bugs or "enhancing" some system related issue which has little effect on product. Yes, the C++/Java jobs are better paid but I want to work in a smaller and livelier work place(startups ?) which a C++ job rarely brings. If it matters I am more interested in server side devlopment than front end. –  Nick Aug 17 '11 at 0:12

3 Answers 3

I applied for a RoR software developer once and had no professional experience. They didn't even bother to email me back, so after a week, I wrote a custom web app, emailed them the source, told them it took me "X" amount of hours and that I'd be more than happy to do a walk-through of the code with them to prove that I wrote it. Got an email back the next day for an interview. Oddly enough, I had already gotten another job, so I never got to work there, but I know exactly how I'll be applying to jobs in the future.

One of the key things was that I knew they were a small web development firm, so I knew they were developing a CMS system that probably was just using basic web functionality.

I demonstrated the following knowledge in my app:

  • Sqlite Database functionality
  • Add/Edit/Remove Database items
  • Sessions
  • Dynamic Lists
  • Form validation
  • jQuery/CSS integration with RoR
  • Helper methods and how they work
  • Routing
  • User login system with password encryption

If you have any problems with learning this stuff, here's the best tutorial online. Wish I had known about it before writing all that code.

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

share|improve this answer
    
Wow ! That was a very innvoative approach to applying for a job. And thanks for the link to the Rails book. I too have heard a lot about it and thinking of picking it up. –  Nick Aug 16 '11 at 21:39

I suggest that you start by building bad web applications. After several of those, you could try to make some mediocre ones.

Get the standard Ruby/Rails reference materials, and build something that works. And then try to make the ugly parts better. As for what the projects should be, that should be determined by your interests.

You would do well to attend the local Ruby user group if there is one, see if you can find some enthusiasts that would be willing to code with you one night a week. And find real code to read. Look at some projects on github and see what looks good to you.

It would certainly help if you can find a web programming job, even if it is not Ruby, as much of the experience in the web programming paradigm will translate well.

The skills you will need:

  1. Ruby/Rails
  2. HTML/CSS
  3. JavaScript/jQuery
  4. TDD - testing is essential with dynamically typed languages
  5. MySQL / PostgreSQL / SQLite
  6. Deployment

The main thing is that you keep making progress. You can't learn much in a week, but you can learn a lot in a year, so keep at it.

share|improve this answer
    
Thanks for the reply Eric. Can you point me to some good projects on github ? –  Nick Aug 16 '11 at 20:56
    
I'm not really a Ruby guy, so no, I can't. I would just poke around for something that looks reasonably mature, but small enough that you have a chance at getting your head around it. (I wouldn't start with Rails, for example.) This is where your local Ruby group is essential. –  Eric Wilson Aug 16 '11 at 21:00
    
@Nick I heard rails is a pretty good project ;) So is Sinatra. There not websites though. –  Raynos Aug 17 '11 at 9:13

You're at a great point in your career to make the switch Nick. I'm a recruiter for financial services technology in New York and have had experience helping people make these kind of transfers. Have you thought about using your C++ skills to leverage getting into a company where they are also working with Ruby on Rails in a different group? This way, you can get into a new company, increase your salary and make an internal move to the Ruby on Rails team. If you make the switch to Ruby right away, your compensation will most likely stay the same if not take a slight hit. You'll also be interviewing against other developers who are working day in day out on Ruby.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.