RC INTERN TALK: Hacking on the Ethereum Blockchain at RedCarpet - By Shubham Chaudhary

18th Jan 18

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.<br> 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.<br/> 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?<br> 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?<br> 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.

<img src="/images/blogs/shubham2.jpeg" width="60%" height="50%" style = "border:none">

RC: What would you say was the most beneficial part of this internship - your most important takeaways?<br> 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?<br> 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.<br/> 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?<br> 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?<br> 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?<br> 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.<br/> 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?<br> 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.

<img src="/images/blogs/shubham1.jpeg" width="60%" height="50%" style = "border:none">