Working at a startup is always exciting. Its even more fun at HackerEarth. I have been working at HackerEarth as an intern for 1 month now, and have 1 more month to go. Over the last month, I have learnt so many new things, learnt a lot of good practices to write maintainable code and had a great time here in Bangalore.
Although, my health was not quite good the previous month (Jan 2014), but the month was very productive. Vivek Prakash, the Co-Founder of HackerEarth has been guiding me all the way from Dec 27th, 2013 when I started with my internship.
My first two tasks were pretty simple. For the first task, I had to write a git hook, a pre-commit hook to check if Python files that are to be committed are free from syntax errors (easily done using python-lint), and the second task was implementing a countdown timer on the HackerEarth challenge page.
The third task was an exciting one. I had to implement the HackerEarth Analytics page. Initially, it took some time to get acquainted with their codebase, which was much bigger than I initially thought. But, within a few days, I knew what I had to do, and with immense support from Vivek, Sachin and Sayan, I was able to pull this off. The page consists of useful graphs (1 bar and 1 multiline graph) , some tables and a cohort analysis which depict user activity and behaviour on the HackerEarth website. I had to work hard on minimizing the database queries and make the task efficient as the user base is huge. I used d3.js to plot the graphs and the backend was done using Python and Django.
For the next task, I had to learn what django middleware does. The task was simple enough, I had to log all the non-ajax requests into the database. This data would be extensively used to get important stats on the incoming and outgoing traffic through the HackerEarth website. Had to write custom django middleware to do the task.
That was my first month’s work at HackerEarth, and I have already started working on another task, implementing the HackerEarth Logging Framework, its almost done, in fact, I have plans to complete this in a few days. With 4 weeks left, I hope I can make the most out of this.
Here are some snapshots of the HackerEarth Analytics d3.js graphs and the cohort analysis table. I obviously had to blur the data. 🙂