← Back to Upcase

Rails in the "Real World" - what good is it?


(Luke Mayhew) #1

Upcase is without a doubt one of the best resources I’ve found for learning how to write good Rails code (thanks Thoughtbot team!). However, no one’s really going to want to pay for code unless it actually does something useful in the real world (Imagine a BDD “Story”/“Feature” without the “In order to…” line). Clients are going to want results, rather than code quality. Finding ways to apply Rails code/skills to solve real world problems doesn’t appear to be something covered directly in Upcase, nor in any other resource I’ve been able to find online. I’m hoping to use my Rails skills to do freelancing/consulting, so what I’m starting to wonder is:

  1. As a Rails developer, what problems can I solve and for what customers?
  2. How does a solo developer make a living?

Obviously it’s possible to subcontract out various elements of the development process (design, server administration, etc.) if needed, so I’m assuming that I don’t need to worry about the fact that as a solo developer I don’t have those skills. I also know it’s possible to use Rails to build solutions that interface with existing products, such as Salesforce (Salesforce1 Platform/Heroku Connect), but I’m not sure how that compares to building pure-code solutions.


(Austin ) #2

Hey Luke,

Not sure what experience you have but i’m going to assume it is as a beginner and give advice towards that. The advice in Upcase (also other areas like CodeSchool, books, etc) really help me to deliver better products faster to clients. However, most of the things I learn have to be at the right time. For instance, the Sandi Metz book wouldn’t have helped me a year or two ago because I hadn’t reached a level where I understood the problems that the Metz principles address.

Rails is a platform to deliver HTTP. The ruby side is generally what solves a problem, be it business or consumer. So to find problems that need to be solved, you have to get in a mindset where you are looking for problems with the world. When you go somewhere or do something that is inefficient, think to yourself ‘is there a way that i could do this better with http AND would people pay for that’.

As a Rails developer, what problems can I solve and for what customers?

Rails is used to build interactive web applications.  So, any problem that communicates through http.  That can be through a web interface or a json API (or xml api).  Normally those interactions are persisted via some sort of database (mongo, postgres, mysql, oracle).  

For instance, build me an application that will allows active subscribers get a daily excel spreadsheet of all new businesses that have opened in an area.  They can login to the web interface to set their settings for business (size, employees, volume, location, etc).  You would have a web application server in this, a database to store the settings and a separate service to mine data off the internet and/or an API that accepts new homes. 

How does a solo developer make a living?

I do development through toptal and find clients through craigslist.  If you are a full stack programmer (meaning you can do everything or figure it out), you can partner with someone who has ideas, connections and a marketing plan and build a product you can make monthly revenue off of after it is built and has subscribers.  I did this and have a good amount of passive revenue coming in from it.  Once you know the business side of things, you can build out your own products, that takes an intense amount of work though.  

If you are just starting I would say just build something and push it up to Heroku so you can get an idea of your speed and the effort to push out a production app.