RC INTERN TALK: Hacking on the Ethereum Blockchain at RedCarpet - By Shubham Chaudhary
January 18, 2018
A conversation with our outgoing intern Shubham Chaudhary sharing his stories and achievements from his term at RedCarpet.
RC: Tell us about yourself and your goals in life.
Shubham: I am Shubham Chaudhary, a 4th-year undergrad student at IIT Roorkee majoring in Geological Technology (itâ€™s a fancy word for Geology and it's not related in any way to what I worked at RedCarpet). I like to code in my free time, I try to work on some project (paid or otherwise) all the time. I learnt to code in my free time in college which is present in ample.
I haven't planned much about my life yet. I am sure that I'll be working in IT industry and blockchain technology but as a coder or a data scientist, those questions are yet to be answered.
RC: How did you come to know about RedCarpet and what made you intern here?
Shubham: I received a LinkedIn InMail from Sandeep one day asking me if I was interested in an intern opportunity. I googled RedCarpet, it was YC startup. I went through their blogs on interns. Sandeep asked me about my previous projects. I had worked with Golang and Ethereum previously so it was a perfect match for this internship. I joined immediately.
RC: What kind of projects did you get to work on here? Was it the kind of work that you wanted to do?
Shubham: I worked on integrating PostgreSQL database to Ethereum core. I did not know that I'll be working on this type of project. I wasn't aware that it'd be an open source. I thought it would be about writing smart-contracts. It was better than I expected. I worked with Ethereum's core which was interesting and exciting at the same time.
RC: What would you say was the most beneficial part of this internship - your most important takeaways?
Shubham:I learnt about basics of software development, things which are not taught in college, like testing, reading more code than writing etc. I had to read a lot of codes from Ethereum, so I got to know about its working in detail. Also the codebase was huge, which was first time for me, so I learnt to work on big projects.
RC: And what was the most challenging thing that you had to do and what did you learn once you succeeded/failed at it?
Shubham: In the beginning I said to Rajhans (my mentor during the course of the internship)- "It can't be done! Previous database is hardcoded in here, we'll have to rewrite everything". After a week, when we had our first working prototype, 1 block was taking more than 30 minutes to sync, it was more than 2,00,000 times slower than rate of sync before my code. I told Rajhans again that it can't be done, Postgres is not fit for the task. the rate of sync was about 3000 blocks per minute. But we somehow figured a way out and finally accomplished what we had first thought of.
Lesson learnt- When it looks like it can't be done, most of the times it can be. True story! ;-) And yeah, Rajhans was telling me all the time that it can be done.
RC: There must have been some challenges as well? Can you tell us a bit about those?
Shubham: The biggest challenge was, when I got the code, I was supposed to get straight onto the matching bit. To understand the code, I decided it would help to run everything and optimize some stuff here and there. While doing so, when I ran the first bit of the code on the actual database, after a week of playing around with it, I found the uploads were happening incorrectly. This meant there was a problem in the code. As I went through it, logical changes needed to be made and I ended up re-doing nearly all of it. Similar issues came up with the rest of the code as I manually checked it. So I had to backtrack and rewrite big portions of everything. Rewriting code was not the most fun part, but I think my lesson was definitely about how much harder it is to anticipate different scenarios in real life than in a classroom, where you know only a given number of things could go wrong. I also did my best to preserve the old code, and used it as baseline because I know a lot of effort was put into it, and after testing those bits I reused them.
RC: How did you like the work atmosphere at RedCarpet?
Shubham: It is a pleasant atmosphere. People here are friendly and cooperative. Rajhans, my mentor, was very helpful and provided me direction at every point. There were small talks during lunch breaks and chai-breaks which I enjoyed. It was a great experience overall.
RC: Surely there must be a few favourite moments here, can you share them with us?
Shubham: There was Christmas party when all were asked to wear red. Some, including me, were not wearing red. So all the â€˜defaultersâ€™ were asked to do tasks like singing and dancing. Though it was sort of a punishment, I enjoyed it. Whole night as a whole was memorable.
Then there was this presentation I gave at the end of my term there. I was nervous before as the whole tech team was going to be there. There were people with years of experience. I made some people sleepy during the presentation but it went pretty good. And in order to not screw anything, I studied a lot about Ethereum, so that's another takeaway.
RC: What are your plans now?
Shubham: I am continuing the project remotely. I will probably keep on working with blockchains for some time now. After that? I haven't really thought about it further than that.