Castle Rock Research India is a part of Castle Rock Research Corporation, a premier educational resource development company headquartered in Edmonton, Canada, offering print and digital educational resources in K-12 and higher education market. With a strength of 70+ innovators and two outstanding R&D centers in India–Bangalore and Kolkata–they are now launching a series of path breaking products mainly in open source domain. Vishwas Mudagal, CEO, Castle Rock Research India, talks to Vanisha Joseph about the pearl and thorns in open source domain for companies and developers.
Open source is being hailed as the next big wave for developers and the IT industry. What’s your take on the promise open source holds for the IT industry and for FOSS and Linux experts?
Open source sure is emerging as a promising area for the IT industry and developer community. Be it startups or innovation-oriented companies, it’s fast becoming a favourite pick. While startups are flocking in due to the cost benefit attached to open source, innovators are pinning high hopes on open source for the freedom it provides to build upon, experiment and innovate. Considering open source communities are working on up to date technologies and addressing current problems faced by the industry, it offers a good playing field for potential innovators.
Alongside, the emergence of successful revenue models around open source technologies is also grabbing eyeballs of both IT companies and the developer community. For instance, earlier no one would think of experimenting with open source for mobile computing solutions, but after the rise of Android, many IT majors are working on Android-based solutions. Similarly, our own project called Solaro.com is a good example of a successful open source business model wherein we provide educational content free of cost. We plan to initially allow publishers to upload content for free and thereafter charge them a commission for students they get through us, etc.
There are numerous successful business stories in open source domain which is wooing IT companies across segments and even attracting developers who now see open source technologies as not merely a passion but a progressive career opportunity.
What are the advantages of using open source for project development?
The main advantages of using open source technologies for project development is faster time to market, lower cost, freedom and flexibility. Speaking from our own experience, we use Ruby on Rails extensively and it has helped us cut the time to market for our products. Using open source technologies one can reduce the effort that goes into coming up with a basic product in the market as you don’t have to start from scratch. Further, the community support associated with a mature platform like Ruby on Rails is huge. The community provides incredible support in the form of plugins, gems and entire frameworks around the platform.
Open source also lowers the license cost. However, this advantage can get diluted if one chooses a premature platform. Lastly, open source provides a lot of freedom making it ideal match for innovators like us. Unlike a proprietary product wherein you have to play by the rules, open source platforms changes the way you work. Be it memory or scaling up, you can change it as per your needs, providing immense flexibility which is indeed the pulse for innovation.
You mentioned Ruby on Rails. What other FOSS tools do you use?
For software development, we use mainly Ruby on Rails. Further, we follow the test driven development method for testing wherein instead of developing the design, writing the code and then testing, we follow a reverse cycle wherein we first test and then build code. This makes testing crucial for us and we use open source testing tools like RSpec, Webrat, Cucumber, Factory Girl, Capistrano and Selenium for our testing needs. We also use Pivotal Tracker for project management, MySQL for our database needs, Apache as our Web server and Ubuntu as our operating system.
How have your developers being contributing back to the community.
At Castle Rock Research India, we home innovators. We encourage our developers to contribute back to the community and they have been doing so extensively with respect to tools/application built around Ruby on Rails. One of our technical architects, Hemant Kumar, is the current maintainer and author of a Ruby library called BackgrounDrb that lets one execute background jobs and schedule them from Rails. He is also the author of an event driven network programming library called Packet that lets you attach callbacks for various networking events; a network programming library Eventfax for Scala; Octave GTK library. Like him, many of our developers have contributed to Ruby on Rails projects like Rubinius, EventMachine, etc.
At what levels has the community helped Castle Rock?
The community has supported Castle Rock extensively. We follow Ruby’s philosophy of “Don’t Repeat.” Whenever we have an idea, we first approach the community knowing the high possibility of someone having worked on the issue earlier and putting it out as a plugin or gem. If we find something as per our need, we use it. We specially use the community’s help to build something not that critical. Anything we build on Ruby on Rails will have atleast 5-6 plugins contributed by the community. Further, we extensively use community forums for finding solutions to our crucial issues as many minds working together are more likely to come up with a solution.
Do you have a dedicated team working on R&D at Castle Rock?
Castle Rock Research India was started with the intention of evolving into an Innovation Hub, with a strong focus in the Open Source and agile development domains. We invest extensively on Open Source software, particularly Ruby. We have a lot of research and development work being carried around mobile computing solutions using open source technologies. Currently, we have about 35-40 people in the R&D team working on open source technologies.
How do you ensure your developers remain up to date with latest advancements/updates to FOSS? Do you provide training programmes?
Yes, we conduct training at various levels. To begin with, we provide training in the LAMP environment during induction. Further, we provide training to people working on GIT [version control system]–this is an extremely is powerful tool but can be a disaster if you don’t know how to use it. We provide similar training on other open source tools.
Basically we see a project as having two important parts: how you run a project (called the development methodology of a project) and how you implement a project. For those involved in implementation, we provide extreme programming training wherein we train them on test driven development, behavioural development, pair programming (as we believe two mind are better than one) and continuous integration. For those involved in the development methodology of a project, we encourage them to participate in the scrum master training from Scrum Alliance which happens once a month.
Further, we provide on-the-job training by assigning mentors. We also encourage people to go for Barcamps, tech fest, hack fests, etc, to remain updated on happenings in the fraternity.
Is their shortage of talent with respect to open source? How does Castle Rock overcome this challenge?
Yes, there is shortage of talent. Though you do find people with experience of 2-5 years, it is almost impossible to expect them to come in and instantaneously deliver on the job. You need to invest in training especially on professionals involved in implementations.
Considering talent is scare, we adopt multiple ways of hiring. We go through references as we believe that good programmers will know other good programmers. We also work with consultants and job portals, but always verify the work of the developer by taking a close look at his/her blogs and contributions to the community. We also give them an assignment to test their understanding of software. We look for problem solvers. Alongside, we also participate actively in conferences as we see them a good ground to reach out to talent.
What are Castle Rock’s hiring plans in the open source domain? What kind of skillsets are you’ll looking for?
Currently we have a workforce of 70 people in our two centres at Bangalore and Kolkata. Looking ahead, we want to double our headcount. We are looking at hiring experienced people for mobile technology division. Thus, we looking to hiring people for our Ruby on Rails team, PHP team which is working on an enterprise learning management system along the lines of moodle.org, iPhone team and Android team. We are also looking at hiring open source experts for our multimedia team.
What are the challenges you face using open source for project development?
The biggest challenge is the absence of reliable support. Further, we need to do a lot of research on open source tools as there might be 10 tools available in the community of which 6 might be bad, 3 could be okay and just one would be good. So, one needs to cautiously choose.
What advice would you give IT companies and developers looking to enter open source waters?
My advice to corporates is to go for open source as it sure does help them save a lot of money, if nothing else. However, do invest in talent especially if you don’t know how to use the platform as you might land up burning your hands. For experimental stuff and prototypes just choose open source blindly. For the developers interested in a career in open source technologies, I would ask them to focus on innovation. Question the status quo and do analysis. For freshers, my advice would be master one language and remember that code is like painting so you need to make it as beautiful as possible. Also, there are a lot of jobs in the market so go for it.