Google Analytics

Thursday, February 3

Finding Geeks!

That the education system in India is screwed up is no secret. When companies like Infosys, TCS and Wipro say that a large number of engineers graduating every year are unemployable, it sets a pretty low bar on the quality of technical education.

The low standards of technical education are felt most acutely by the entrepreneurs trying to build technology companies in India. On one hand, very few good engineers survive the education system. On the other, the few who survive are claimed by the companies like Google, Yahoo, Amazon and other well established firms.

Now it would be excellent to tackle this problem head on and fix the education system in a fundamental way. However I have been thinking about a much smaller problem recently. As a matter of immediate relief to the high technology startups, is it possible to help more geeks/hackers to survive the current system? What is the most effective way of doing that? Out of that huge swamp of mediocrity, how can we give a helping hand to those who want to excel?

An immediate question arises: why do I even think that something like this can be done? My inspiration, ironically, comes from some of the recent laments about the state of CS education in India and the fact that we have hordes and hordes of students signed up for these courses who do not have any passion or inclination for CS. However, in the true spirit of optimism, I invite you to see this glass as half full instead of half empty.

I spent about 2 years in a grad school in USA. One of the important concerns of the universities there was that fewer and fewer students were opting for computer science in high schools. As a result, the pool from which the top under graduate programs used to get their students was shrinking. One of the reasons was that CS was not thought of as a cool subject anymore. It was associated with the geeks and nerds and with having to sit in a cubicle all day staring into a monitor. Many outreach programs were being run by the universities to reach out to high school students and convey the excitement of CS and show them the cool things they could do with it.

In India, we have exactly the opposite situation. We don't need any outreach programs to convince people to come and try computer science. The number of people attempting JEE is now up to 500,000 from 120,000 about a decade back. Every years thousands of students enroll in the CS programs and lacs in engineerings programs, all across the country. Yes, many of them do it because of the herd mentality. Most of them have no passion for it. But at the end of day, we do get a big pool of people who have signed up for a technical education. Question to ask is, how can we leverage this situation?

Let me first say something about passion. When I joined IIT in 1999, I had almost never touched a computer. I used to find it difficult to control the mouse to click on a link. I had never written a program. I had no idea what computer science was. I opted for it only because people around similar ranks used to do that. 2.5 years later, I qualified for the ACM ICPC World finals. That is because once I took to computers, I loved them. Fortunately, I was in an environment that provided ample opportunities to develop my interests and an awesome set of peers to interact with. ICPC played a major role in motivating me to become better at coding & algorithms. The take away is that passion can arise after having experienced something. If we insisted that only those interested in CS choose CS, in Indian context we would be doing ourselves a big disservice.

Coming back to the big pool of students, one of the ways to hack this problem is building what I will refer to as geek magnets. What is a geek magnet? It is an activity/group which attracts geeks or possible geeks with a lot more force then non-geeks. Two examples are ACM-ICPC & Google Summer of Code (GSoC). Another example is Y Combinator (YC). IITs are NOT an example. Being completely optional is a primary criteria. In fact, an ordinary person should not see any value of participating in it and even if he does, it should be offset by requirement of huge effort on his/her part.

Even inside IIT, participation in ICPC was the single biggest predictor of hackers from non-hackers (in cs). It also attracted students from all over India who were excellent geek material. While some of them come from well known colleges, a lot of them came from not so famous places. Unfortunately, there was no community effort around ICPC and so there is no strong legacy.

GSoC was not around when I was in college otherwise I am pretty sure I would have signed up. Fortunately the program also has a strong community component which helps participants connect even after the actual program is over. The program manages to attract students from every corner of India. Best thing is that once someone from one college has participated, you will find regular participation from that college in coming years.

I believe that creating more such "Geek Magnets" and sending them out fishing in the big pool is one way of finding and nurturing the hackers/geeks hidden in the vast pool of students we currently have. We need ways of pulling out all these minds and give them spaces to connect with each other and with other geeks. It is the peer interaction that they are lacking in their present situation. We need to provide ways for them to try out and experience geeky activities. Fortunately with the wide availability of internet, creating and sustaining such initiatives is possible now.

Here is a more specific example. Many academic conferences in CS run competitions to gauge the state of the art in a chosen focus area. For example, Workshop on Statistical Machine Translation runs a competition to build MT systems every year. Participants are usually the research groups working in the domain. How about a similar but limited scope competition targeted specifically towards Indian students? It will allow them to go beyond their curriculum and experience building a real life system. The submissions can be open sourced and made available for future participants to come and see. Finding a small amount of money to fund the prices should not be a big deal especially when so many companies want to find and recruit these guys.

So to summarize, in my opinion and in Charles Dickens's paraphrased words, "It is the best of times, it is the worst of times..". While having a large unmotivated student crowd in a bad education system is a huge problem, it is also a very fertile ground for designing, executing and testing strategies to identify and nurture future geeks. As entrepreneurs and hackers, it does not suit us to sit on the fence and wait for the govt to build a better education system or for society to change its attitude. The wide internet penetration among the student population provides us with enough leverage to build parallel systems to find those of our kind and help them survive the education system.

So are you up for a little hacking of the education system?