Interview: ACM ICPC World Finalist

This year we have our team 3Spades contesting in the ACM ICPC World Finals’ 14. Last year, IIT Roorkee was proud to having been represented by the team 65th bit comprising of Sharat Ibrahimpur, Tarun Goyal and Dipit Grover. Their team eventually finished 60th, and the first among all Indian teams for that year. We present to you an interview of Sharat Ibrahimpur as he speaks to PAG about what got him interested in competitive programming, where did he get his motivation from, what does it take to become a good programmer and about what students in general should focus on in college.

###When and how were you introduced to programming?

I was introduced to competitive programming during the end of my third year at Roorkee. Before that for almost an year I was actively solving problems posted on projecteuler.net which gave me a stronghold on math based problems. I was introduced to Project Euler by one of my department seniors while CodeChef was a random accident on the internet.

###What is the secret to becoming a good programmer?

The secret to becoming a good programmer is to have a basic understanding of algorithms in almost all the areas. Have a good understanding of few and try to be a master in one. This is pretty feasible.

###How did you guys come together?

All three of us competed from different teams during 2011-12. Tarun’s team had performed exceptionally well and I heard from many people about Dipit’s problem solving skills. All that was left on my part was to convince these guys to team up with me. They said yes and rest as you know is history :P

###When did you start taking it seriously to the extent of preparing for ICPC?

I started aspiring to perform well in ICPC at the beginning of my fourth year. Though serious preparations began when I failed to perform well in the Kanpur online round during my first attempt. Its good to take failures to your heart when you know you have another attempt left.

###Who is your Inspiration/Motivation/role-model?

Inspiration? No one in particular. I was motivated by the fact that the best minds across the world will be taking part in this contest. What better way than this to challenge your problem solving skills. I have always looked up to the performance of team proof from IIT Delhi. Their team has been a role model to me.

###How much does software engineering involves algorithmic problem-solving?

If you ask me how many problems, that we solve on a day to day basis, are as fancy as the problems you see in the contests then the answer is none. But, if you ask me if algorithmic problem solving skills help in delivering better solutions in your job then the answer is yes.

###Did your deep interest in algorithms have any side effects too? Like maybe affecting your CGPA?

Yup it does have many side effects. CGPA is the one thing that took the hardest blow in my case. During my final exams I had on one hand the choice of studying courses that I didn’t like and on the other I had the option of solving interesting problems. My brain would always convince me to pick the latter. Other things that got affected is the amount of time I spent on arbit things like watching TV series or bakar with friends. You can’t really help it. Everyone gets 24 hours a day. Neither a minute less nor a minute more.

###What are your plans for the future?

The learning curve at Goldman has been a steep one till now. Hoping to gain more work experience from this job.

###Any piece of advice for the students?

Learn as many skills as you can now. This is the time when the day is all yours as you are not being paid to deliver something. Challenge yourself by doing something productive for long hours every day and then take a break from it to relax. The satisfaction is immense. On a side note, many of you might think spending time on quora or reading blogs is better than Facebook as it gives you a feeling that you have gained some precious knowledge. But let me tell you, any piece of knowledge that has not been put to good use is garbage. So don’t acquire knowledge at a pace faster than at which you use it.