One of the more unfortunate aspects of IIT Kanpur culture has been the fact that most discussions around career take place based on vibes and anecdotes. You rarely see hard data on what people who took part in certain activities went on to do.
This has been on the back of my mind until I noticed this tweet.
Similar to the tweet, I decided to first see how many people from IIT Kanpur have a max rating 1900. Running a small script, I found there were roughly 98 people. (The fact that some people create alts and some people don’t put their college means that getting an exact count is hard).
Gathering more data on 98 people is a significant task, so I decided to look at a smaller subset (max rating above 2100). This turned out to be roughly 38 people, who I’ve listed below
The one interesting thing is that almost everyone is at a company that comes on day 1 of placements. A majority are from CSE (19), Math (6) and Electrical (3) but there are a few from Civil (2) which is surprising. A good chunk of people working full time are currently at or have been at either Glean, Rubrik or Google. For those that are still in college, most have internships at trading firms.
I think the larger interesting point is that almost everyone who hits 2100 at any point of time does really well and arguably, there’s a higher probability of a non CSE >2100 rated coder getting into a top company than the average non >2100 rated CSE student.
It would be unfair to not discuss the few obvious flaws in this discussion.
- The data is skewed towards recent graduates - due to rating inflation, it’s easier to hit 2100 now than it was 5 years ago. Codeforces is also relatively new, so lots of older alumnus didn’t use Codeforces. This means that we’re essentially analysing early career data. Only 5-6 people in this list graduated before 2020.
- Competitive programming is essentially “teaching the test” - most companies have tests where you have an advantage if you’ve done competitive programming. This means that it’s relatively easy to break in early on, but it may not be a predictor of future success.
The relatively small script to pull names.
import requests
import json
# Get the list of all rated users
rated_users_url = "https://codeforces.com/api/user.ratedList?activeOnly=false&includeRetired=true"
rated_users_response = requests.get(rated_users_url)
rated_users_data = json.loads(rated_users_response.text)
rs = rated_users_data["result"]
iitk_users = []
for it in rs:
if(('organization' in it) and (it['organization'] == 'IIT Kanpur') and (it['maxRating'] >= 2100)):
iitk_users.append(it)
print(f"{it.get('firstName', '')}{' ' if it.get('firstName', '') else ''}{it.get('lastName', '')} {it.get('handle', '')}")