• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

India::Ruby

on

  • 3,510 views

This talk is mostly about how things work in India when it comes to the software services industry, especially in the context of Ruby and where we expect the community to be in next 5 years.

This talk is mostly about how things work in India when it comes to the software services industry, especially in the context of Ruby and where we expect the community to be in next 5 years.

Statistics

Views

Total Views
3,510
Views on SlideShare
3,424
Embed Views
86

Actions

Likes
0
Downloads
7
Comments
0

6 Embeds 86

http://speakerrate.com 46
http://lanyrd.com 33
http://www.linkedin.com 3
https://lanyrd.com 2
http://www.onlydoo.com 1
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    India::Ruby India::Ruby Presentation Transcript

    • 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
    • NEVER toss requirements over a wall 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