SlideShare une entreprise Scribd logo
1  sur  126
Télécharger pour lire hors ligne
India::Ruby
Monday 15 November 2010
Good morning everyone and thank you for being here.
sidu ponnappa
Monday 15 November 2010
Let us take a minute to introduce ourselves - I am Sidu Ponnappa
kaiwren
Monday 15 November 2010
I do my open source here
@ponnappa
Monday 15 November 2010
social network here
niranjan paranjape
Monday 15 November 2010
I am Niranjan
achamian
Monday 15 November 2010
I do my open source here
@niranjan_p
Monday 15 November 2010
social network here
Engineering
http://github.com/c42
Monday 15 November 2010
work here, a boutique Ruby consulting firm based out of Bangalore, founded by us ten
months ago
<context>
Monday 15 November 2010
Before we move ahead, I’d like to set some up some context.
how things work
Monday 15 November 2010
This talk is mostly about how things work in India when it comes to the software services
industry, especially in the context of Ruby.
how things work
now/future
Monday 15 November 2010
We will also talk about how we expect the future to shape up.
subjective
Monday 15 November 2010
Keep in mind that what we’re talking about is very subjective, and that opinions *will* differ
relevant?
Monday 15 November 2010
And how is this relevant to you, our audience?
assumptions
Monday 15 November 2010
We’re making a couple of assumption about y’all
sell/buy
Monday 15 November 2010
We’re assuming that all of you in some way either sell, or buy Ruby. Ruby services, ruby
products - it doesn’t matter. But you produce and consume Ruby.
sell/buy
Monday 15 November 2010
If you’re buying Ruby services, it’s important to understand both the advantages and
limitations of distributed development. If you’re selling Ruby work, understanding how Ruby
businesses work in India can provide important context.
sharing
understanding
Monday 15 November 2010
We have spent nearly six years doing offshore software development in companies as diverse
as Infosys, ThoughtWorks and now C42 Engineering and we understand
distributed
development
Monday 15 November 2010
distributed development fairly well. We’re also going to spend some time talking about our
experiences in this area and how to make it work while remaining agile, especially in the
context of Ruby.
ground realities
Monday 15 November 2010
We will talk about the ground realities of the market so that, as a buyer you can make
informed decisions. We will also talk about what it’s like to be a seller in the same market,
both as an employee, as an independent consultant and as the promoter of a firm.
but
Monday 15 November 2010
but all of this is about what works today. In five years, we expect the situation to have
changed dramatically.
things change
Monday 15 November 2010
We will talk about why we believe the real opportunity for Rubyists in India lies elsewhere. We
see enormous opportunity in the local market. India is the world’s largest democracy, with an
english speaking middle class that is a 100 million strong today and growing steadily. There
is a non-english speaking rural audience that is 700 million strong. This market is completely
untapped. And Ruby and it’s ecosystem is perfectly placed to build software for this
audience.
everybody needs
software
Monday 15 November 2010
There is a steady growth in the number of businesses small and large that cater to this
audience and are starting to understand why stable, maintainable software that does what
they need is important. This, we suspect is going to change how local work happens in India.
</context>
Monday 15 November 2010
So that’s it for the context setting bit. We’ve talked about who we are, and what scene has
been thus far. Let’s move on to talk about
<history>
Monday 15 November 2010
Now, to begin with, a, little bit of history. We’ve been watching Ruby in India since...
2005
Monday 15 November 2010
... 2005 We got involved as individuals with Ruby superficially in 2005. This was around the
time Rails 0.9 was out and Lighttpd+FCGI was the daring new Ruby deployment environment.
Most of what we did at this point was hello world programs.
first startup in ’06
Monday 15 November 2010
My first serious ruby app was the core of my first startup, inactiv.com which used Rails
first startup in ’06
http://inactiv.com
Monday 15 November 2010
My first serious ruby app was the core of my first startup, inactiv.com which used Rails
first startup in ’06
http://inactiv.com
used rails
Monday 15 November 2010
My first serious ruby app was the core of my first startup, inactiv.com which used Rails. It...
first startup in ’06
http://inactiv.com
used rails
Monday 15 November 2010
...failed, and just so we’re clear, this startup didn’t fail because
© @noticiasda
Monday 15 November 2010
...Rails doesn’t scale. It failed because...
hard to raise money
Monday 15 November 2010
...it was very hard to raise money in India. It’s better now, but still an order of magnitude
harder than in the US.
Monday 15 November 2010
but I digress
2006
Monday 15 November 2010
coming back to the scene in 2006
enterprise customers
Monday 15 November 2010
At this point, our customers everywhere (not just in India) used to say...
enterprise customers
ruby?!
Monday 15 November 2010
wtf is Ruby?
local customers
Monday 15 November 2010
At this point, our customers everywhere (not just in India) used to say...
local customers
PHP ftw! Wordpress pwns!
Monday 15 November 2010
talked only about PHP
developers
Monday 15 November 2010
and the developers in India were no different...
developers
java!
Monday 15 November 2010
they too would ask wtf is Ruby?
side note
Monday 15 November 2010
on a side note
first commercially
built rails app from
India
Monday 15 November 2010
Early 2006 was when what I suspect was the first commercial Rails app built in India (by TWI)
went into production in a couple bars in the US. It had internal DSLs. (pretty cool, eh)
2008
Monday 15 November 2010
Moving on a couple of years to 2008. Rails 2 was just out. Mongrel was hot.
enterprise customers
ruby doesn’t scale
Monday 15 November 2010
Ruby? That shit doesn’t scale.
local customers
ruby?!
Monday 15 November 2010
local customers still hadn’t heard of it
developers
Monday 15 November 2010
developers
ruby? yeah, we’ve heard of that...
Monday 15 November 2010
A few local devs start moving to Ruby and like it. A few startups like SlideShare and
ThoughtWorks are pretty much the only places doing Ruby seriously, so the movement is very
tiny and not driven by demand/jobs.
developers
ruby? yeah, we’ve heard of that...
but isn’t C# awesome?
Monday 15 November 2010
2010
Monday 15 November 2010
now
enterprise customers
ruby is interesting
Monday 15 November 2010
Ruby? Yeah, we’re very interested. Some large enterprises have already adopted Ruby,
sometimes on a large scale.
local customers
Redmine pwns!
Monday 15 November 2010
local customers, non technical customers are loving Redmine. True story. Hugely successful
startups like SlideShare.com and Cleartrip.com are making ‘esoteric’ technologies like ruby,
rails, lisp, node.js etc. respectable. Ruby is clearly riding this trend to popularity.
developers
Monday 15 November 2010
developers
webroar
Monday 15 November 2010
There is a tiny, but passionate community of Ruby developers. Non-trivial projects like
webroar have made it to 1.0 releases.
developers
github as a resume
Monday 15 November 2010
Github profile as a resume is accepted
developers
rubyconfindia.org
Monday 15 November 2010
RubyConf India 2010 is oversubscribed and organisers need to scramble to make an extra
100 seats available. Over 400 tickets are sold. This is the first year for RubyConf in India.
downsides?
Monday 15 November 2010
So that’s a rather nice picture we’ve painted there. What are the downsides?
maturity
Monday 15 November 2010
The software engineering practices of the Ruby community haven’t reached the same level of
maturity as they have elsewhere. TDD/BDD, agile and quality software aren’t as well
understood as they could be. While pockets of extremely high standards exist, the majority
are still catching-up. This however is more a function of exposure than stubbornness - we
don’t have the luxury of experienced devs to pair with except in pockets. Almost all learning
is through studying open source.
--without=community
Monday 15 November 2010
There isn’t much of a culture of hanging out on mailing lists and IRC, interacting with the
communty and learning stuff that way.
learning is slow
Monday 15 November 2010
consequently learning happens slowly
</history>
Monday 15 November 2010
In summary, Ruby has gone from being a complete non-entity to have a minor, but visible
presence over the last 5 years. It has also built up a (relatively) small, but passionate
community of developers around it, but this community is still in the process of maturing.
<sell>
Monday 15 November 2010
...what it’s like for those of us who sell Ruby services in India
you are...
Monday 15 November 2010
you are...
always sold out
Monday 15 November 2010
demand far outstrips capacity.
few experienced ruby
devs
Monday 15 November 2010
small pool of Ruby devs
small pool of Ruby
companies
Monday 15 November 2010
smaller pool of companies that do Ruby work
ruby projects tend to
require fewer people
Monday 15 November 2010
Typically we require one to two pairs for any project. Larger projects are rare. So when a
project winds up, there are just a small number of people available - and they’re quickly
snapped up.
hiring is a bitch
Monday 15 November 2010
hiring is very very very hard
poor S/N ratio
Monday 15 November 2010
India churns out 50k engineering graduates every year, and the vast majority wind up in IT
irrespective of their specialisation
you will drown in
resumes
Monday 15 November 2010
Hiring by working through resumes simply doesn’t work for a high end s/w engineering firm
- you will have one hire for every 500 resumes, if that.
become a destination
Monday 15 November 2010
We suspect the only solution is to have the kind of brand that attracts the right kind of
people. This however is a theory - we’ve not come across any companies in the services
sector in India that has successfully done this, but we’re giving it a shot.
indian salaries don’t
scale according to
PPP
Monday 15 November 2010
If PPP held true in the IT industry, then Indian salaries would be 1/5 an equivalent american
salary.
average annual
increments are
10% - 30%
Monday 15 November 2010
increments as a percentage are far higher than the first world, and result in costs going up
n^2 as experience increases
dearth of
experienced devs
Monday 15 November 2010
there are very few devs with > 10 years of experience. And we’re producing thousands of
new devs every year. This makes experienced devs very valuable.
reward years of
experience,
not
skills
Monday 15 November 2010
the indian s/w industry tends to reward people simply based on their years of experience
salary in lakhs (100k) =
2 x years of experience
Monday 15 November 2010
This is a rough formula for the services industry that I heard recently. As you can see, more
experienced people earn significantly more.
1/3 of a US salary
Monday 15 November 2010
It isn’t unusual to find people earning 1/3 of a US salary in INR. This is roughly what
determines rates. So billing rates in India will be approximately 1/3 of billing rates in the US,
not 1/5 as dictated by PPP.
</sell>
Monday 15 November 2010
so selling Ruby services isn’t hard, but the biggest issue is staffing
<buy>
Monday 15 November 2010
If you’ve already shopped around for Ruby services in India, you may have already noticed
some of the things we’re going to cover. These are basically reflections of what we’ve already
talked about earlier in the sell section.
sold out
Monday 15 November 2010
Ruby services companies are almost always sold out.
talk to many
providers
Monday 15 November 2010
Therefore don’t put all your eggs in one basket - shop around for several vendors and talk to
all of them.
luck/timing matters
Monday 15 November 2010
Almost nobody can provide you with a team of two pairs on demand.
consequently
Monday 15 November 2010
as a consequence of this
unreasonable
promises
Monday 15 November 2010
people will promise you that should you need to grow the project to x devs in y months,
they’ll take care of it. while not impossible, this is often unlikely.
capabilities vary
Monday 15 November 2010
not everyone can do everything. It’s important to understand exactly how much a particular
vendor is capable of.
different projects
require different
levels of expertise
Monday 15 November 2010
understand what you need. If you’re building a throwaway prototype to demo to investors,
maybe a $10 per hour vendor is sufficient.
price != capability
Monday 15 November 2010
That said, a vendor’s billing rate is not necessarily a reflection of their capability. I know this
is stating the obvious, but we figured we’d make the point.
do your homework
Monday 15 November 2010
Look at the opensource work that a vendor has produced. It’s usually a good indicator of
what you can expect. If you aren’t technical yourself, don’t hesitate to get a friend of yours
who understands Ruby to do this for you.
ask for references
Monday 15 November 2010
Don’t hesitate to ask for references that you can talk to yourself. Look at their opensource
work. If you aren’t technical yourself, don’t hesitate to get a friend of yours who understands
Ruby to talk to them.
interview if necessary
Monday 15 November 2010
interview your prospective vendors if you deem it necessary to ensure that you clearly
understand their skillset and level of expertise
10..70
Monday 15 November 2010
We’ve seen hourly billing rates in the range of $10 to $70
($58)
Monday 15 November 2010
We used to bill at 58, once
($30)
Monday 15 November 2010
Now because we’re new, we’re at $30
everybody claims
they do...
Monday 15 November 2010
Almost all vendor websites will claim the following things...
cucumber / bdd / agile
Monday 15 November 2010
Maybe it’s true. Maybe it isn’t. It doesn’t hurt to check. For example, one vendor we were
looking at talked a lot about BDD, then linked to their github profile. There wasn’t a single
spec in any of their projects.
so you picked a
vendor
Monday 15 November 2010
making things work
Monday 15 November 2010
Here a few things that you should ensure you’re doing to increase chances of success
NEVER
Monday 15 November 2010
toss requirements
over a wall
NEVER
Monday 15 November 2010
it’s likely you will come back in a month and get nothing
overcommunicate
Monday 15 November 2010
Bridging the gap between you and your team that physical distance and a 12 hour timezone
difference creates is essential. In situations like these, feedback loops wither and die without
a lot of love. To keep the look tight, you should do...
feedback loops
Monday 15 November 2010
daily standup
Monday 15 November 2010
Do a daily standup
skype is awesome
Monday 15 November 2010
Skype is a communications game changer - in a context where communication is essential,
Skype makes it *cheap* which removes the single biggest barrier to frequent conversations
skype video is
awesomer
Monday 15 November 2010
In fact, do a daily video standup. I don’t know why this should be so, but we’ve found video
calls far better in bridging gaps than simple audio calls. Demand daily skype video standups.
no, it isn’t
unreasonable
Monday 15 November 2010
daily video calls are *not* unreasonable. You may have to adjust the timings so as to be
convenient for everyone involved but that’s about it.
weekly iterations
Monday 15 November 2010
shoot for weekly iterations, with a weekly showcase. Establishing a pattern where you have to
deliver value that is visible to the end user every week enforces a measure of discipline and
delivery focus.
code quality stats
Monday 15 November 2010
track code quality trends. Use something like metric_fu to get a broad spectrum of data.
Understand where your codebase is going. this is a delicate one, since trying to improve
using metrics makes people optimise for only those metrics
prod should be up on
Day One
Monday 15 November 2010
get a production (like) environment live as a top priority. Weekly showcases should be off this
environment. This ensures a degree of rigour in the deployment process.
use a project
management tool
that makes sense in
this context
Monday 15 November 2010
Favour tools like Pivotal Tracker or Mingle that work well with the concept of iterations over
alternatives, most especially issue trackers like trac/redmine/jira
realistic expectations
Monday 15 November 2010
Do your best to understand the skill level of the team you’re working with and tailor your
requirementss, expectations and timeline accordingly
tdd, rich domain
models, and skinny
controllers at $10 per
hour?
Monday 15 November 2010
</buy>
Monday 15 November 2010
If you’ve already shopped around for Ruby services in India, you may have already noticed
some of the things we’re going to cover. These are basically reflections of what we’ve already
talked about earlier in the sell section.
<future>
Monday 15 November 2010
not much happens
online
Monday 15 November 2010
in India, relatively little happens online
businesses have
terrible, buggy
websites
Monday 15 November 2010
...even those like airlines or online stock trading sites that should have nice, usable fast web
apps
cheap
Monday 15 November 2010
today businesses opt for the cheapest software
competition fuels
change
Monday 15 November 2010
but we’re already seeing new companies and services emerge that are disrupting this pattern
explosion of SMB
Monday 15 November 2010
in the recent past there’s been an explosion in the number of small and medium businesses
in India
good software makes
you more likely to
succeed
Monday 15 November 2010
demand is rising
Monday 15 November 2010
so we’re seeing a rising demand for quality software, locally
in five years,
local demand will
exceed foreign
demand
Monday 15 November 2010
ruby is ideally placed
to cater to this
market
Monday 15 November 2010
100% OSS stack
(cheap)
Monday 15 November 2010
and India is a very price sensitive market
rich ecosystem
Monday 15 November 2010
tons of libraries to do almost anything
excels at rapidly
building web apps
Monday 15 November 2010
ruby is superb for rapidly iterating over and building out webapps
culture of quality
Monday 15 November 2010
ruby’s ingrained culture of quality makes for more robust, maintainable code
</future>
Monday 15 November 2010
?
http://twitter.com/ponnappa
http://twitter.com/niranjan_p
Monday 15 November 2010

Contenu connexe

Similaire à India::Ruby

Vision for Development of SNS Based OS
Vision for Development of SNS Based OSVision for Development of SNS Based OS
Vision for Development of SNS Based OSnkawahara
 
Ruby conf Taiwan -Ruby based Distributed Key Value Store "ROMA"-
Ruby conf Taiwan -Ruby based Distributed Key Value Store "ROMA"-Ruby conf Taiwan -Ruby based Distributed Key Value Store "ROMA"-
Ruby conf Taiwan -Ruby based Distributed Key Value Store "ROMA"-Hiroaki Iwase
 
CrossMark Sneak Peek 2010 CrossRef Workshops
CrossMark Sneak Peek 2010 CrossRef WorkshopsCrossMark Sneak Peek 2010 CrossRef Workshops
CrossMark Sneak Peek 2010 CrossRef WorkshopsCrossref
 
RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osRIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osryancanulla
 
Is Baidu a copycat? Robin Li explains the biggest difference between Baidu an...
Is Baidu a copycat? Robin Li explains the biggest difference between Baidu an...Is Baidu a copycat? Robin Li explains the biggest difference between Baidu an...
Is Baidu a copycat? Robin Li explains the biggest difference between Baidu an...Mohamed Mahdy
 
World Wide Ruby Conferences
World Wide Ruby ConferencesWorld Wide Ruby Conferences
World Wide Ruby ConferencesKuniaki Igarashi
 
Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...
Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...
Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...Amazon Web Services
 
Finding Frank - Spotify API.pdf
Finding Frank - Spotify API.pdfFinding Frank - Spotify API.pdf
Finding Frank - Spotify API.pdfaspleenic
 
Update on Google's OpenID Plans for 2010
Update on Google's OpenID Plans for 2010Update on Google's OpenID Plans for 2010
Update on Google's OpenID Plans for 2010Joseph Smarr
 
Is ruby on rails dead or still good choice for building apps
Is ruby on rails dead or still good choice for building appsIs ruby on rails dead or still good choice for building apps
Is ruby on rails dead or still good choice for building appsTemok IT Services
 

Similaire à India::Ruby (10)

Vision for Development of SNS Based OS
Vision for Development of SNS Based OSVision for Development of SNS Based OS
Vision for Development of SNS Based OS
 
Ruby conf Taiwan -Ruby based Distributed Key Value Store "ROMA"-
Ruby conf Taiwan -Ruby based Distributed Key Value Store "ROMA"-Ruby conf Taiwan -Ruby based Distributed Key Value Store "ROMA"-
Ruby conf Taiwan -Ruby based Distributed Key Value Store "ROMA"-
 
CrossMark Sneak Peek 2010 CrossRef Workshops
CrossMark Sneak Peek 2010 CrossRef WorkshopsCrossMark Sneak Peek 2010 CrossRef Workshops
CrossMark Sneak Peek 2010 CrossRef Workshops
 
RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osRIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl os
 
Is Baidu a copycat? Robin Li explains the biggest difference between Baidu an...
Is Baidu a copycat? Robin Li explains the biggest difference between Baidu an...Is Baidu a copycat? Robin Li explains the biggest difference between Baidu an...
Is Baidu a copycat? Robin Li explains the biggest difference between Baidu an...
 
World Wide Ruby Conferences
World Wide Ruby ConferencesWorld Wide Ruby Conferences
World Wide Ruby Conferences
 
Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...
Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...
Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...
 
Finding Frank - Spotify API.pdf
Finding Frank - Spotify API.pdfFinding Frank - Spotify API.pdf
Finding Frank - Spotify API.pdf
 
Update on Google's OpenID Plans for 2010
Update on Google's OpenID Plans for 2010Update on Google's OpenID Plans for 2010
Update on Google's OpenID Plans for 2010
 
Is ruby on rails dead or still good choice for building apps
Is ruby on rails dead or still good choice for building appsIs ruby on rails dead or still good choice for building apps
Is ruby on rails dead or still good choice for building apps
 

Dernier

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 WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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 RobisonAnna Loughnan Colquhoun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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 slidevu2urc
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Dernier (20)

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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

India::Ruby

  • 1. India::Ruby Monday 15 November 2010 Good morning everyone and thank you for being here.
  • 2. sidu ponnappa Monday 15 November 2010 Let us take a minute to introduce ourselves - I am Sidu Ponnappa
  • 3. kaiwren Monday 15 November 2010 I do my open source here
  • 4. @ponnappa Monday 15 November 2010 social network here
  • 5. niranjan paranjape Monday 15 November 2010 I am Niranjan
  • 6. achamian Monday 15 November 2010 I do my open source here
  • 7. @niranjan_p Monday 15 November 2010 social network here
  • 8. Engineering http://github.com/c42 Monday 15 November 2010 work here, a boutique Ruby consulting firm based out of Bangalore, founded by us ten months ago
  • 9. <context> Monday 15 November 2010 Before we move ahead, I’d like to set some up some context.
  • 10. how things work Monday 15 November 2010 This talk is mostly about how things work in India when it comes to the software services industry, especially in the context of Ruby.
  • 11. how things work now/future Monday 15 November 2010 We will also talk about how we expect the future to shape up.
  • 12. subjective Monday 15 November 2010 Keep in mind that what we’re talking about is very subjective, and that opinions *will* differ
  • 13. relevant? Monday 15 November 2010 And how is this relevant to you, our audience?
  • 14. assumptions Monday 15 November 2010 We’re making a couple of assumption about y’all
  • 15. sell/buy Monday 15 November 2010 We’re assuming that all of you in some way either sell, or buy Ruby. Ruby services, ruby products - it doesn’t matter. But you produce and consume Ruby.
  • 16. sell/buy Monday 15 November 2010 If you’re buying Ruby services, it’s important to understand both the advantages and limitations of distributed development. If you’re selling Ruby work, understanding how Ruby businesses work in India can provide important context.
  • 17. sharing understanding Monday 15 November 2010 We have spent nearly six years doing offshore software development in companies as diverse as Infosys, ThoughtWorks and now C42 Engineering and we understand
  • 18. distributed development Monday 15 November 2010 distributed development fairly well. We’re also going to spend some time talking about our experiences in this area and how to make it work while remaining agile, especially in the context of Ruby.
  • 19. ground realities Monday 15 November 2010 We will talk about the ground realities of the market so that, as a buyer you can make informed decisions. We will also talk about what it’s like to be a seller in the same market, both as an employee, as an independent consultant and as the promoter of a firm.
  • 20. but Monday 15 November 2010 but all of this is about what works today. In five years, we expect the situation to have changed dramatically.
  • 21. things change Monday 15 November 2010 We will talk about why we believe the real opportunity for Rubyists in India lies elsewhere. We see enormous opportunity in the local market. India is the world’s largest democracy, with an english speaking middle class that is a 100 million strong today and growing steadily. There is a non-english speaking rural audience that is 700 million strong. This market is completely untapped. And Ruby and it’s ecosystem is perfectly placed to build software for this audience.
  • 22. everybody needs software Monday 15 November 2010 There is a steady growth in the number of businesses small and large that cater to this audience and are starting to understand why stable, maintainable software that does what they need is important. This, we suspect is going to change how local work happens in India.
  • 23. </context> Monday 15 November 2010 So that’s it for the context setting bit. We’ve talked about who we are, and what scene has been thus far. Let’s move on to talk about
  • 24. <history> Monday 15 November 2010 Now, to begin with, a, little bit of history. We’ve been watching Ruby in India since...
  • 25. 2005 Monday 15 November 2010 ... 2005 We got involved as individuals with Ruby superficially in 2005. This was around the time Rails 0.9 was out and Lighttpd+FCGI was the daring new Ruby deployment environment. Most of what we did at this point was hello world programs.
  • 26. first startup in ’06 Monday 15 November 2010 My first serious ruby app was the core of my first startup, inactiv.com which used Rails
  • 27. first startup in ’06 http://inactiv.com Monday 15 November 2010 My first serious ruby app was the core of my first startup, inactiv.com which used Rails
  • 28. first startup in ’06 http://inactiv.com used rails Monday 15 November 2010 My first serious ruby app was the core of my first startup, inactiv.com which used Rails. It...
  • 29. first startup in ’06 http://inactiv.com used rails Monday 15 November 2010 ...failed, and just so we’re clear, this startup didn’t fail because
  • 30. © @noticiasda Monday 15 November 2010 ...Rails doesn’t scale. It failed because...
  • 31. hard to raise money Monday 15 November 2010 ...it was very hard to raise money in India. It’s better now, but still an order of magnitude harder than in the US.
  • 32. Monday 15 November 2010 but I digress
  • 33. 2006 Monday 15 November 2010 coming back to the scene in 2006
  • 34. enterprise customers Monday 15 November 2010 At this point, our customers everywhere (not just in India) used to say...
  • 35. enterprise customers ruby?! Monday 15 November 2010 wtf is Ruby?
  • 36. local customers Monday 15 November 2010 At this point, our customers everywhere (not just in India) used to say...
  • 37. local customers PHP ftw! Wordpress pwns! Monday 15 November 2010 talked only about PHP
  • 38. developers Monday 15 November 2010 and the developers in India were no different...
  • 39. developers java! Monday 15 November 2010 they too would ask wtf is Ruby?
  • 40. side note Monday 15 November 2010 on a side note
  • 41. first commercially built rails app from India Monday 15 November 2010 Early 2006 was when what I suspect was the first commercial Rails app built in India (by TWI) went into production in a couple bars in the US. It had internal DSLs. (pretty cool, eh)
  • 42. 2008 Monday 15 November 2010 Moving on a couple of years to 2008. Rails 2 was just out. Mongrel was hot.
  • 43. enterprise customers ruby doesn’t scale Monday 15 November 2010 Ruby? That shit doesn’t scale.
  • 44. local customers ruby?! Monday 15 November 2010 local customers still hadn’t heard of it
  • 46. developers ruby? yeah, we’ve heard of that... Monday 15 November 2010 A few local devs start moving to Ruby and like it. A few startups like SlideShare and ThoughtWorks are pretty much the only places doing Ruby seriously, so the movement is very tiny and not driven by demand/jobs.
  • 47. developers ruby? yeah, we’ve heard of that... but isn’t C# awesome? Monday 15 November 2010
  • 49. enterprise customers ruby is interesting Monday 15 November 2010 Ruby? Yeah, we’re very interested. Some large enterprises have already adopted Ruby, sometimes on a large scale.
  • 50. local customers Redmine pwns! Monday 15 November 2010 local customers, non technical customers are loving Redmine. True story. Hugely successful startups like SlideShare.com and Cleartrip.com are making ‘esoteric’ technologies like ruby, rails, lisp, node.js etc. respectable. Ruby is clearly riding this trend to popularity.
  • 52. developers webroar Monday 15 November 2010 There is a tiny, but passionate community of Ruby developers. Non-trivial projects like webroar have made it to 1.0 releases.
  • 53. developers github as a resume Monday 15 November 2010 Github profile as a resume is accepted
  • 54. developers rubyconfindia.org Monday 15 November 2010 RubyConf India 2010 is oversubscribed and organisers need to scramble to make an extra 100 seats available. Over 400 tickets are sold. This is the first year for RubyConf in India.
  • 55. downsides? Monday 15 November 2010 So that’s a rather nice picture we’ve painted there. What are the downsides?
  • 56. maturity Monday 15 November 2010 The software engineering practices of the Ruby community haven’t reached the same level of maturity as they have elsewhere. TDD/BDD, agile and quality software aren’t as well understood as they could be. While pockets of extremely high standards exist, the majority are still catching-up. This however is more a function of exposure than stubbornness - we don’t have the luxury of experienced devs to pair with except in pockets. Almost all learning is through studying open source.
  • 57. --without=community Monday 15 November 2010 There isn’t much of a culture of hanging out on mailing lists and IRC, interacting with the communty and learning stuff that way.
  • 58. learning is slow Monday 15 November 2010 consequently learning happens slowly
  • 59. </history> Monday 15 November 2010 In summary, Ruby has gone from being a complete non-entity to have a minor, but visible presence over the last 5 years. It has also built up a (relatively) small, but passionate community of developers around it, but this community is still in the process of maturing.
  • 60. <sell> Monday 15 November 2010 ...what it’s like for those of us who sell Ruby services in India
  • 61. you are... Monday 15 November 2010 you are...
  • 62. always sold out Monday 15 November 2010 demand far outstrips capacity.
  • 63. few experienced ruby devs Monday 15 November 2010 small pool of Ruby devs
  • 64. small pool of Ruby companies Monday 15 November 2010 smaller pool of companies that do Ruby work
  • 65. ruby projects tend to require fewer people Monday 15 November 2010 Typically we require one to two pairs for any project. Larger projects are rare. So when a project winds up, there are just a small number of people available - and they’re quickly snapped up.
  • 66. hiring is a bitch Monday 15 November 2010 hiring is very very very hard
  • 67. poor S/N ratio Monday 15 November 2010 India churns out 50k engineering graduates every year, and the vast majority wind up in IT irrespective of their specialisation
  • 68. you will drown in resumes Monday 15 November 2010 Hiring by working through resumes simply doesn’t work for a high end s/w engineering firm - you will have one hire for every 500 resumes, if that.
  • 69. become a destination Monday 15 November 2010 We suspect the only solution is to have the kind of brand that attracts the right kind of people. This however is a theory - we’ve not come across any companies in the services sector in India that has successfully done this, but we’re giving it a shot.
  • 70. indian salaries don’t scale according to PPP Monday 15 November 2010 If PPP held true in the IT industry, then Indian salaries would be 1/5 an equivalent american salary.
  • 71. average annual increments are 10% - 30% Monday 15 November 2010 increments as a percentage are far higher than the first world, and result in costs going up n^2 as experience increases
  • 72. dearth of experienced devs Monday 15 November 2010 there are very few devs with > 10 years of experience. And we’re producing thousands of new devs every year. This makes experienced devs very valuable.
  • 73. reward years of experience, not skills Monday 15 November 2010 the indian s/w industry tends to reward people simply based on their years of experience
  • 74. salary in lakhs (100k) = 2 x years of experience Monday 15 November 2010 This is a rough formula for the services industry that I heard recently. As you can see, more experienced people earn significantly more.
  • 75. 1/3 of a US salary Monday 15 November 2010 It isn’t unusual to find people earning 1/3 of a US salary in INR. This is roughly what determines rates. So billing rates in India will be approximately 1/3 of billing rates in the US, not 1/5 as dictated by PPP.
  • 76. </sell> Monday 15 November 2010 so selling Ruby services isn’t hard, but the biggest issue is staffing
  • 77. <buy> Monday 15 November 2010 If you’ve already shopped around for Ruby services in India, you may have already noticed some of the things we’re going to cover. These are basically reflections of what we’ve already talked about earlier in the sell section.
  • 78. sold out Monday 15 November 2010 Ruby services companies are almost always sold out.
  • 79. talk to many providers Monday 15 November 2010 Therefore don’t put all your eggs in one basket - shop around for several vendors and talk to all of them.
  • 80. luck/timing matters Monday 15 November 2010 Almost nobody can provide you with a team of two pairs on demand.
  • 81. consequently Monday 15 November 2010 as a consequence of this
  • 82. unreasonable promises Monday 15 November 2010 people will promise you that should you need to grow the project to x devs in y months, they’ll take care of it. while not impossible, this is often unlikely.
  • 83. capabilities vary Monday 15 November 2010 not everyone can do everything. It’s important to understand exactly how much a particular vendor is capable of.
  • 84. different projects require different levels of expertise Monday 15 November 2010 understand what you need. If you’re building a throwaway prototype to demo to investors, maybe a $10 per hour vendor is sufficient.
  • 85. price != capability Monday 15 November 2010 That said, a vendor’s billing rate is not necessarily a reflection of their capability. I know this is stating the obvious, but we figured we’d make the point.
  • 86. do your homework Monday 15 November 2010 Look at the opensource work that a vendor has produced. It’s usually a good indicator of what you can expect. If you aren’t technical yourself, don’t hesitate to get a friend of yours who understands Ruby to do this for you.
  • 87. ask for references Monday 15 November 2010 Don’t hesitate to ask for references that you can talk to yourself. Look at their opensource work. If you aren’t technical yourself, don’t hesitate to get a friend of yours who understands Ruby to talk to them.
  • 88. interview if necessary Monday 15 November 2010 interview your prospective vendors if you deem it necessary to ensure that you clearly understand their skillset and level of expertise
  • 89. 10..70 Monday 15 November 2010 We’ve seen hourly billing rates in the range of $10 to $70
  • 90. ($58) Monday 15 November 2010 We used to bill at 58, once
  • 91. ($30) Monday 15 November 2010 Now because we’re new, we’re at $30
  • 92. everybody claims they do... Monday 15 November 2010 Almost all vendor websites will claim the following things...
  • 93. cucumber / bdd / agile Monday 15 November 2010 Maybe it’s true. Maybe it isn’t. It doesn’t hurt to check. For example, one vendor we were looking at talked a lot about BDD, then linked to their github profile. There wasn’t a single spec in any of their projects.
  • 94. so you picked a vendor Monday 15 November 2010
  • 95. making things work Monday 15 November 2010 Here a few things that you should ensure you’re doing to increase chances of success
  • 97. toss requirements over a wall NEVER Monday 15 November 2010 it’s likely you will come back in a month and get nothing
  • 98. overcommunicate Monday 15 November 2010 Bridging the gap between you and your team that physical distance and a 12 hour timezone difference creates is essential. In situations like these, feedback loops wither and die without a lot of love. To keep the look tight, you should do...
  • 99. feedback loops Monday 15 November 2010
  • 100. daily standup Monday 15 November 2010 Do a daily standup
  • 101. skype is awesome Monday 15 November 2010 Skype is a communications game changer - in a context where communication is essential, Skype makes it *cheap* which removes the single biggest barrier to frequent conversations
  • 102. skype video is awesomer Monday 15 November 2010 In fact, do a daily video standup. I don’t know why this should be so, but we’ve found video calls far better in bridging gaps than simple audio calls. Demand daily skype video standups.
  • 103. no, it isn’t unreasonable Monday 15 November 2010 daily video calls are *not* unreasonable. You may have to adjust the timings so as to be convenient for everyone involved but that’s about it.
  • 104. weekly iterations Monday 15 November 2010 shoot for weekly iterations, with a weekly showcase. Establishing a pattern where you have to deliver value that is visible to the end user every week enforces a measure of discipline and delivery focus.
  • 105. code quality stats Monday 15 November 2010 track code quality trends. Use something like metric_fu to get a broad spectrum of data. Understand where your codebase is going. this is a delicate one, since trying to improve using metrics makes people optimise for only those metrics
  • 106. prod should be up on Day One Monday 15 November 2010 get a production (like) environment live as a top priority. Weekly showcases should be off this environment. This ensures a degree of rigour in the deployment process.
  • 107. use a project management tool that makes sense in this context Monday 15 November 2010 Favour tools like Pivotal Tracker or Mingle that work well with the concept of iterations over alternatives, most especially issue trackers like trac/redmine/jira
  • 108. realistic expectations Monday 15 November 2010 Do your best to understand the skill level of the team you’re working with and tailor your requirementss, expectations and timeline accordingly
  • 109. tdd, rich domain models, and skinny controllers at $10 per hour? Monday 15 November 2010
  • 110. </buy> Monday 15 November 2010 If you’ve already shopped around for Ruby services in India, you may have already noticed some of the things we’re going to cover. These are basically reflections of what we’ve already talked about earlier in the sell section.
  • 112. not much happens online Monday 15 November 2010 in India, relatively little happens online
  • 113. businesses have terrible, buggy websites Monday 15 November 2010 ...even those like airlines or online stock trading sites that should have nice, usable fast web apps
  • 114. cheap Monday 15 November 2010 today businesses opt for the cheapest software
  • 115. competition fuels change Monday 15 November 2010 but we’re already seeing new companies and services emerge that are disrupting this pattern
  • 116. explosion of SMB Monday 15 November 2010 in the recent past there’s been an explosion in the number of small and medium businesses in India
  • 117. good software makes you more likely to succeed Monday 15 November 2010
  • 118. demand is rising Monday 15 November 2010 so we’re seeing a rising demand for quality software, locally
  • 119. in five years, local demand will exceed foreign demand Monday 15 November 2010
  • 120. ruby is ideally placed to cater to this market Monday 15 November 2010
  • 121. 100% OSS stack (cheap) Monday 15 November 2010 and India is a very price sensitive market
  • 122. rich ecosystem Monday 15 November 2010 tons of libraries to do almost anything
  • 123. excels at rapidly building web apps Monday 15 November 2010 ruby is superb for rapidly iterating over and building out webapps
  • 124. culture of quality Monday 15 November 2010 ruby’s ingrained culture of quality makes for more robust, maintainable code