As an online tutoring platform, TutorVista customises open source applications to mimic a classroom experience and maintain its database. G Ramasubramani, CTO, TutorVista, tells OSFY readers what skills the company looks for while hiring, and how open source has helped the management cut costs and maintain stability of operations.
QPlease tell us about the FOSS professionals who currently work at TutorVista.
Our technology team, which includes developers, testers and the entire IT team, consists of about 35 to 40 people. They are based in Bengaluru and work in an entirely start-up-like environment. This has been created to make them feel that we are super-nimble and super-fast at what we develop. Agility is the main reason why we have an internal tech team. We want to make changes really fast. We want to push the modifications out, experiment, see if they are helping or harming the process, and roll them back if they dont work or tweak them based on input and feedback. The working environment is very agile and people are urged to mingle with each other, understand what is going on, evaluate the impact of changes based on what others are doing as well, and make fixes quickly. As a result, releases are out much more frequently and sooner than others. We cannot do this if we make changes slowly.
QWhat kind of open source implementations have been made in TutorVista?
We have always used the LAMP stack. There are servers for content, database and database slaves, load balancing, and the ejabberd server. At present, we have about 50 LAMP-based servers. We use Linux for the operating system, while all our servers are Linux-based, and all the Web servers are Apache-based. Our programs were mainly developed using PHP, but of late, we have been trying to use Java and Tomcat to build some additional tools. We are also working with one of the new technologies coming up in Java called Wicket, to get some other things done. Wicket is under the open source Web framework. It is component-based and removes all the plumbing work that you need to do when you are developing a website, allowing you to focus on your business problems. We are checking if we can use it to become more productive.
QWhat do you look for in FOSS professionals while hiring?
We primarily look for people with good programming skills. We check for how well they know programming, how they can program through a language and not how well they know the language. We like people who have experience with open source technologies and know how to figure out what to use and where to search for it. We look for logic and how candidates think through a problem to come up with a solution. We check how applicants can implement algorithms, how well they can improve something and make it perform better. When we solve a problem, we often pick a very sub-optimal approach so we look at how to tune that sub-optimal solution to make it work better. Once they show us they know how to program, then we go into the language.
If you are a senior person, we check how well you know the Web application server life cycle. We want to know whether your expertise is not just about developing something, but how you deploy it and go into production; what is the production architecture; how will you deal with the issues in production; we need to be clear about your understanding of an entire gamut of the full life cycle of what goes on. In addition, at a senior level, you are expected to understand the impact of technology on business as well. At the junior level, we check whether applicants know the basics of programming and we can take care of the rest.
Q How important is prior experience in open source in your recruitment process?
If the candidates are good developers, it does not matter if they do not have the experience in open source. We pay less attention to what technology they are using, and more to how good they are as developers. It is more about how well you know algorithms, data structures, and how well you can develop. The language and technology are secondary to that. Once candidates show they know how to program, we go into the language. It is not critical if you do not know PHP or Javaprogrammers can easily pick up the language.
Q How does the transition to a FOSS professional happen in TutorVista?
Candidates who do not know PHP spend some time learning it. They also learn about our current code base and understand what goes on, what a database looks like, etc. Once that is done, we give them some small issues to solve initially. They gain confidence and soon start growing into productive individuals.
QDo you provide training to new employees?
We do not provide formal training, but we have introduced a concept called Friday Tech Talks. Every Friday afternoon, someone from the teams makes a presentation on any technical topic ranging from learning Java, how to deploy applications, or how a CDN can help youtopics that are commonly known to people. The idea is to communicate design patterns, algorithms and data structures.
Each employee is also allotted a mentor who is responsible for the employees growth in the organisation. We have multiple teams and depending on the need, the employee may keep moving across teams. We find it is important to let people know how they are doing as individuals and to be aware that they are growing. To ensure continuity, the mentor comes into the picture. The idea is that you work closely with a mentor to understand how you are doing, as your mentor will coordinate with the other managers and tell you what you can improve upon.
We have two kinds of career ladders the tech architect and the delivery manager. Depending on what the employee is interested in, the mentor offers guidance with opportunities for growth. If you want to be a tech architect, you should show the aptitude for solving tough technical problems, and for learning more technologies. If you want to be a delivery manager, you need an aptitude for working with people, planning out and handling releases, figuring out how to break an issue into smaller pieces, and we make sure you get exposure to all of that. Mentors try to push you in the right direction.
Q Do you plan to hire more people in the near future?
There are always plans to hire the right people. This is driven by multiple aspects in terms of what kind of opportunities we see. The intensity of hiring may go up or down depending on what the requirements are. However, we have not fixed any long-term plans for hiring.
Q Does certification play a role in the candidates employability?
If we are recruiting for an IT position that requires managing the production servers, then yes. For an IT admin role, a certification is a good way to start but often, I have found that certification is only an indicator that an employee knows the basics. For a developer, certifications do not matter at all in our experience, as it does not play a direct role in day-to-day activities. When you put real world problems before employees, translating the knowledge acquired in the course of getting certified into a working solution still needs fundamental human qualities like being smart, having problem solving skills, etc. A person with these skills but without certification will still be hired.
Q How is open source used at TutorVista to mimic a classroom experience?
Our data centre and back-up data centre are in the US and that is where all the hosting gets done.
This is an online tutoring service, and to mimic a classroom experience, white boards appear on the tutors and students screens. These communicate with each other using ejabberd an open source server that essentially implements the Jabber protocol, and is often praised for its scalability and clustering feature.
Q What kind of open source implementations are you considering in the future?
Apart from Wicket, which I mentioned earlier, Grails is another technology we are looking into.
Currently, the white board uses a Flash-based component. We are also trying to figure out how to convert this into an HTML 5 component. The only areas where we are not using open source is the white board (for which we have used a Flash-based component) and audio (for which we use another Adobe product).
Q Do you feel that open source can be used in mission-critical operations?
Yes, one of our main concerns is to make sure the website is accessible 24/7 as we have no offline component. We ensure that there is zero downtime when we deploy new releases. The day our system goes down, it is a big deal because if customers cannot access the website or get tutoring services, they will lose confidence in us and this will cost us. I do not recollect any time when the platform was unavailable. I am sure there have been occasions in the past when we have had some downtime, but I cannot attribute it to the use of open source. I have worked on non-open source software as well, and if something goes wrong with the platform, I know it is because the developer or deployer has made a mistake.
Q What are the advantages of using open source in your organisation?
There are many. First of all, the total cost of ownership is significantly lower. The cost of ownership is often underestimated, but when you are not paying maintenance fees year after year, you get what you want at zero cost, effectively, all other things being the same. The organisation has saved a significant amount of money by using open source. Considering the minimum costs that would be incurredcost of software, licence, maintenance fees, appropriate plug-ins to run the platform, etc the savings would add up to thousands of dollars.
Moreover, the community support you get while resolving issues is critical. You always know that there is a community out there to fall back upon. Of course, on the flip side, there can be times when the support is not immediately forthcoming or adequate and then we know we will have to dig deeper ourselves. But in general, knowing that you have a community you can tap into is very comforting. You need not sign up for an expensive maintenance contract and wait for the vendors to respond to you each time you have an issue. The fact that the tools are already available keeps TutorVista on the open source track.
Q Does TutorVista regularly communicate with the online open source community?
We have not approached the community seeking help yet, but we know that by going down this path, we can easily modify and reuse an open source tool with the communitys help. That knowledge gives us the confidence that we do not have to build everything from scratch, but we can depend on the community in terms of using, developing or modifying open source tools.
QWhat challenges did you face on the open source track?
TutorVista still faces trouble in searching for good database administrators (DBAs). We use the online forums and the reams of literature thats available to solve our problems.
We have a good team of people who know open source technologies. With regard to setting up servers, we always had people who knew how to set up a Linux server, handle Apache servers and how to secure them. The only area where we have faced challenges is primarily on the MySQL database. MySQL is a great database in terms of what open source can provide, but the challenge lies in finding the right DBAs for MySQL. If you consider databases like Oracle or SQL Server, there are full-fledged training programs behind them. Since MySQL runs more on a do-it-on-your-own principle, you will not find many DBAs lining up for certification in MySQL, unlike Oracle.
QLately, have you seen a rise in the use of open source among enterprises?
The proliferation of open source frameworks that are being used by companies does indicate that there are a lot of people using open source. Recently, I realised that Walmart uses Wicket this is an example of open source being used by a pretty big company.
The availability of tools and a sense of community are some of the main attractions of open source. This is one of the main reasons we see an increase in the use of open source at an enterprise-level. If an educational company is setting up a learning environment system, it can buy proprietary tools like Blackboard or it can use an open source alternative like Moodle. The latter does not have all the features that Blackboard has, but open source developers are constantly adding more features to it. So overall, it is a win-win situation for all.
QIn which sectors do you see this increase?
The increase is evident mainly in e-commerce and education. It helps that many open source frameworks and components are being built for an e-commerce environment. This way, it is easier to put an e-commerce website together using these frameworks rather than developing it from scratch. Components in PHP, Open Cart, Presta Shop, etc, are built keeping in mind typical activities that go into an e-commerce site.
QWhat advice do you have for enterprises or start-ups that are considering the use of open source?
Start-ups should find out how to minimise costs in the right places. Web development is one of the areas where you can avoid the additional costs of hardware or software maintenance. You can take a look at how similar tools have been used in other places and evaluate them before going down that path. At times, implementing a tool can reveal that it is quite different from what you imagined. For instance, in e-commerce, let us consider Open Cart. You know what it provides and you know how it works in other websites. You can co-relate it to what you want, go through the documentation and do a quick prototype. If the prototype itself is very effort-intensive, it is an indicator that the solution will not be efficient. Within a day or two, you will know whether it is easy to use or not. You can do a cost-benefit analysis to check how an organisation can benefit from open source in comparison to proprietary solutions. When it comes to big enterprises, they are more monolithic, top-heavy and not as agile as smaller companies. In such cases, proprietary tools and solutions may help because in cases where something goes wrong, you will have guaranteed support.