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?

6 comments:

sameer said...

Very good line of thought - and I can only hope those running these departments, or national policies, have a few of these insights or at least questions in their heads.

The other end of the problem is that even amongst those who're capable, passionate, and have picked up the skills, I see it die out sometimes. The sitting-in-front-of-a-comp and no connect with the impact thing is a very powerful disincentive - and something the industry needs to fix. Those drivers are often more powerful than salary hikes and the like - and will add to the attractiveness of the entire space. I'm sure its less of a problem in startups - which is why many cannot go back to regular corp-dom once they've "tasted blood".

The industry needs to appreciate the fact that its smart minds its working with - and there's a need to build a sense of connect with the end user, or end impact, even amongst those starting out.

Rgds,
Sameer

bipin said...

Totally awesome point of view, however, I think maybe its for some entrepreneur to exploit this fertile situation and create a business out of it. In fact, given the monetary incentive ( in terms of high paying jobs) and given the large number of potential candidates, there's a good case for a competition to rank folks for coding jobs.

wanderlust said...

Great post! Nice to hear the perspective of a CS student on this. I was in civil so, as you can imagine, saw the whole thing from other side of the fence.

At the high school level, there is the computing olympiad that you can keep you eye on. I was a participant and it fueled my passion for computers at an early stage. I learned about dynamic programming and Linux in class 11! It was fun!

http://www.iarcs.org.in/inoi/

Anonymous said...

Have you seen codechef.com? An attempt to get Indian student geeks turned on to solving complex algorithmic problems. Voluntarily of course.

Braveheart said...

I am not sure how seriously you've considered the socio-cultural moment of the first decade of this century as opposed to the new decade. The point being that we were in one transition then, and are in another transition now. Jaya, maybe even you, would perhaps know the true scenario at IITs better but I have a feeling that the excitement around CS - not in terms of its employability which is hardly the desirable factor for who you call geeks but for a joyride into its mysterious possibilities - has already nearly died.

I am not very sure but the reasons must be rooted in the fact that even geeks, however much they may like to believe otherwise, are social products and emerge precisely because they think enough rewards exist out there for them to be the way they are. Therefore, the thrill of being extraordinary not simply in terms of achievements but in terms of a following a logic outside conventional rationality indeed needs to be sociologically sustained. I think the greatest move in Indian scenario has been what has been argued in the west for a while now (refer to Jean Baudrillard) as a shift to 'Consumer society' from production society. Think carefully about this and you might find some reasons about why a potential geek in a proto-geek stage would not realize himself in the manner of the prior decade anymore, and would much rather turn into someone else.

This is a mere proposition. I am only arguing that the route you are looking at has been de-catalyzed by certain shifts, not made improbable.

Prashant said...

I strongly recommend that you take a look at the programmers in the merit list at CodeChef.com. Many Informatics/Math olympiad winners and the likes.
Also, the students from IIIT-Hyd now seem to consistently dominate the ICPC.