SlideShare a Scribd company logo
1 of 25
Download to read offline
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 Years
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
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
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.
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.
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!
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
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.
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.
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
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
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...
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 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
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
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
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
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!
Sourcing

• Outsource
• Local Source
• Near Source
Communication

• Weekly Client Meeting
• Daily Developer Status Update
• Visibility Into Project Management
• Early & Often But Not Burdensome
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
• Facebook: http://www.facebook.com/
  william.bridges

More Related Content

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Rails In Action & How To Build An Efficient Empire

  • 1. Rails In Action & How To Build An Efficient Empire By: Will Bridges
  • 2. Who Is Will Bridges? CEO / Cogwise Software Open Source Web Developer & Entrepreneur For Over 10 Years
  • 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. 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. 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.
  • 7. 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.
  • 8. 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!
  • 9. 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
  • 10. 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.
  • 11. 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.
  • 12. 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
  • 13. 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
  • 14. 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...
  • 15. Where To Look? • oDesk • Job Boards - jobs.rubynow.com • User Groups & Meetup Groups • Google Search
  • 16. 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
  • 17.
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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!
  • 22. Sourcing • Outsource • Local Source • Near Source
  • 23. Communication • Weekly Client Meeting • Daily Developer Status Update • Visibility Into Project Management • Early & Often But Not Burdensome
  • 24. Tools • Redmine or equivalent • Highrise or equivalent • 14dayz or equivalent • SCM
  • 25. My Info • Business: http://www.cogwisesoftware.com • Personal: http://www.invisiwill.com • Twitter: @cogwisewill • Facebook: http://www.facebook.com/ william.bridges