Rails In Action & How To Build
       An Efficient Empire
          By: Will Bridges
Who Is Will Bridges?
          CEO / Cogwise Software
Open Source Web Developer & Entrepreneur For
               Over 10 ...
Why Rails?
•   Ruby has a very simple syntax - easy to read, learn
    and understand with very little knowledge of Ruby

...
I Love Ruby Because
some_integer = 50_000_000

       class Integer
         def to_half
           self / 2
         end
...
And More...
class Integer
  def method_missing(sym, *args, &block)
   puts "What kind of method name is #{sym}? Integer #{...
Who Is On Rails?
•   Basecamp - One of the oldest rails apps. Over 1
    million users.

•   YellowPages.com - Around 25 m...
Why Not Choose
          Rails?
•   Where are all the Ruby Programmers? It’s TIBOE
    Rating is 10

•   WTF is Ruby and w...
Why We Really Chose
      Rails
•   We prefer Mid-Large sized projects over smaller
    CMS-like sites.

•   We love to co...
Stop Being Afraid
•   Rails can scale and depends on who is doing the
    scaling and their level of expertise. There are
...
Choose a Framework
•   At least use some Framework for mid-large
    projects... it’s 2009.

•   Symfony, CakePHP, Django,...
Cogwise Method

•   Contractors Over Employees

•   The Feudal Structure

•   Quick, Agile & Flexible

•   Mix Of Outsourc...
Contractor Basics

•   80/20 structure with intention of no more than
    50/50 contractors over employees

•   Specialist...
Contractor Tips
•   Check references... yes, they will only give you the
    good ones. Make sure there are plenty recent ...
Where To Look?

•   oDesk

•   Job Boards - jobs.rubynow.com

•   User Groups & Meetup Groups

•   Google Search
Feudal System
•   Each project manager is technical in nature and
    understands the code exceptionally well

•   Each pr...
Keeping Consistency
•   You cannot build this type of organization without
    STANDARDS

•   Put those standards in a pla...
Company Owner

•   We are the product owners and partnered with
    the client to produce quality work

•   Our time is no...
Special Roles

•   Quality Assurance - Double check work with a
    non-programmer

•   Code Helper - All the kings men

•...
Quick, Agile & Flexible
•   Agile development is smart development

•   Value communication over planning

•   Leave thing...
Sourcing

• Outsource
• Local Source
• Near Source
Communication

• Weekly Client Meeting
• Daily Developer Status Update
• Visibility Into Project Management
• Early & Ofte...
Tools

• Redmine or equivalent
• Highrise or equivalent
• 14dayz or equivalent
• SCM
My Info

• Business: http://www.cogwisesoftware.com
• Personal: http://www.invisiwill.com
• Twitter: @cogwisewill
• Facebo...
Rails In Action & How To Build An Efficient Empire
Rails In Action & How To Build An Efficient Empire
Upcoming SlideShare
Loading in …5
×

Rails In Action & How To Build An Efficient Empire

435 views
375 views

Published on

I gave a talk at the Enterprise Lamp group on why our business chose Ruby on Rails and then what practices we used to build our business by 300% in less than a year and still growing. I plan on putting together a book on some of the methods we use to give a more detailed description but hopefully these slides help!

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
435
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Rails In Action & How To Build An Efficient Empire

  1. 1. Rails In Action & How To Build An Efficient Empire By: Will Bridges
  2. 2. Who Is Will Bridges? CEO / Cogwise Software Open Source Web Developer & Entrepreneur For Over 10 Years
  3. 3. Why Rails? • Ruby has a very simple syntax - easy to read, learn and understand with very little knowledge of Ruby • Fully object oriented • Dynamically typed • Encourages good programming practices like MVC and high test coverage • Convention over configuration • Good community support
  4. 4. I Love Ruby Because some_integer = 50_000_000 class Integer def to_half self / 2 end end some_integer.to_half 25000000 will be the result
  5. 5. And More... class Integer def method_missing(sym, *args, &block) puts "What kind of method name is #{sym}? Integer #{self} hasn’t heard of this." end end 50.ninja_hiku_kick The result of that last call will be: What kind of method name is ninja_hiku_kick? Integer 50 hasn’t heard of this.
  6. 6. Who Is On Rails? • Basecamp - One of the oldest rails apps. Over 1 million users. • YellowPages.com - Around 25 million views a month. • Hulu.com - 29 million views a month. • Twitter.com - 140 million views a month. • Bumpersticker - A Facebook App created by LinkedIn’s engineering team gets over 1 BILLION page views a month.
  7. 7. Why Not Choose Rails? • Where are all the Ruby Programmers? It’s TIBOE Rating is 10 • WTF is Ruby and why doesn’t my cousin know it? My cousin fixed my puter’ the other day. He’s so smart! • Slow? • Rails can’t scale! Look at Twitter!
  8. 8. Why We Really Chose Rails • We prefer Mid-Large sized projects over smaller CMS-like sites. • We love to code in Ruby and being a programmer I was able to really appreciate the simplicity of the language. Simplicity leads to cheaper maintenance. • The market was less saturated for people looking specifically for Rails Development, giving us a niche • We know lots of people that know Ruby on Rails
  9. 9. Stop Being Afraid • Rails can scale and depends on who is doing the scaling and their level of expertise. There are plenty of places to get the information on scaling. • There are plenty of Ruby on Rails contractors and potential employees out there that would love to be doing this full-time. Know where to look. • Ruby is not obscure. Ruby is very easy to learn and can be refreshing in it’s elegance and simplicity. • Many clients do not care about your language framework choice.
  10. 10. Choose a Framework • At least use some Framework for mid-large projects... it’s 2009. • Symfony, CakePHP, Django, Rails and Sinatra are all good and modern open source frameworks. • Ruby is very easy to learn and is well supported by a great community so don’t be afraid to explore. • If the only dynamic element on the page is the date then you don’t need a framework. • Stop flaming... a good programmer has many options and picks the best one for the project.
  11. 11. Cogwise Method • Contractors Over Employees • The Feudal Structure • Quick, Agile & Flexible • Mix Of Outsource, Local Source and Near Source • Communicate Early, Communicate Often • Tools That Empower Remote Development
  12. 12. Contractor Basics • 80/20 structure with intention of no more than 50/50 contractors over employees • Specialists are more expensive than your average employee but also very much more efficient in most cases • Employees can be much more wasteful as well and can have hidden costs when you factor in every resource it takes to have an employee
  13. 13. Contractor Tips • Check references... yes, they will only give you the good ones. Make sure there are plenty recent ones • If you aren’t a coder have someone you trust and know is competent interview them • Peer Review and oversight are good practices • Resourcefulness is more important than raw knowledge • Keep your contractors busy and you will enjoy a continued relationship with them • In the end trust your gut and be willing to fail...
  14. 14. Where To Look? • oDesk • Job Boards - jobs.rubynow.com • User Groups & Meetup Groups • Google Search
  15. 15. Feudal System • Each project manager is technical in nature and understands the code exceptionally well • Each project manager is responsible for their team’s productivity and client communication • A project manager may be responsible for more than one project • We pass our company standards down the line to the project managers and check in with clients to make sure they are being adhered to • We review the code randomly to make sure code standards are being adhered to
  16. 16. Keeping Consistency • You cannot build this type of organization without STANDARDS • Put those standards in a place where everyone can review them and keep tabs on if they are being adhered to • Your Project Managers should be a good gauge on how well standards are proliferated in your organization. Meet with them at least weekly • In place of a daily stand-up meeting you should have your remote devs send in a daily status report
  17. 17. Company Owner • We are the product owners and partnered with the client to produce quality work • Our time is not billable as we are the glue that keeps the organization together • We and the people we trust help to set standards... ie.. the Project Manager
  18. 18. Special Roles • Quality Assurance - Double check work with a non-programmer • Code Helper - All the kings men • Support Staff - Your time is valuable so don’t do stuff that isn’t valuable
  19. 19. Quick, Agile & Flexible • Agile development is smart development • Value communication over planning • Leave things pliable as much as you can but don’t hang yourself • Agree to only what you can do for your compensation • Treat your client’s sites like they are your own • Allow room for incremental adjustment • Mind your budget!
  20. 20. Sourcing • Outsource • Local Source • Near Source
  21. 21. Communication • Weekly Client Meeting • Daily Developer Status Update • Visibility Into Project Management • Early & Often But Not Burdensome
  22. 22. Tools • Redmine or equivalent • Highrise or equivalent • 14dayz or equivalent • SCM
  23. 23. My Info • Business: http://www.cogwisesoftware.com • Personal: http://www.invisiwill.com • Twitter: @cogwisewill • Facebook: http://www.facebook.com/ william.bridges

×