Skip to content

Instantly share code, notes, and snippets.

@dufferzafar
Last active January 19, 2019 07:38
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dufferzafar/420fb3908ca974fa5aaf71699c35def3 to your computer and use it in GitHub Desktop.
Save dufferzafar/420fb3908ca974fa5aaf71699c35def3 to your computer and use it in GitHub Desktop.
GSoC Experience Interview for @aviaryan's College Magazine

Tell us three things about GSoc that most people are unaware of.

i) A lot of the people forget the fact that all the organizations have other work to do apart from GSoC. I've seen a lot of students on IRC channels who assume that everyone is only there to help GSoC candidates; they ask for help and when nobody replies - they get irritated and take it out on them.

ii) A bit related to this is the fact that most of the students are very new to professional communication, and have just no idea about how to talk to people on IRC or mailing lists.

iii) People also need to understand that helping the community is the real goal of any project. Sutdents usually just focus on the code they are writing while totally ignoring public forums and the problem real users of their project face.

Please describe you experience working with some of the sharpest minds in your field.

Meeting smart people, in my opinion, is the best thing about the entire GSoC experience. Everyone you encounter has a differnt skill set and brings their unique approach to problem solving. I've had the pleasure of knowing a few such individuals and each of them has taught me something entirely new - which is really amazing.

How helpful/ unhelpful did you find your college curriculum in achieving what you have?

I've been thinking about this question for quite some time now, and the answer isn't as straightforward as I once believed. Of course, none of the technologies I ended up using in real projects were taught directly in my CS course (be it Python / HTML / JS etc.) but a lot of the fundamentals that were taught do come in to play (like standard data structures and algorithms.)

So I'm not quite sure how helpful college curriculums really are.

Tell us about some people who have inspired you to excel in your field. Also share what attributes of theirs appealed to you the most.

I follow a lot of people from the tech community to see what they're building and learning. "Abhay Rana" aka Captn3mo is someone who has really inspired me. He is a CS grad from IIT Roorkee. I really like his blog and his work at the SDSLabs group.

Then there's "Aldo Cortesi" - the creator of mitmproxy (my last year's GSoC project.) He is a self employed cyber security guy specializing in penetration testing. I feel like he is living the kind of life that I want to live - working and still being able to find time for his personal projects.

Every programmer makes errors in his code which he is not proud of. Please share the silliest error you've made while writing a code.

I don't really have a great memory, so these kind of questions are hard. I don't know if it is THE silliest, but I do remember a mistake that caused me quite a lot of pain.

In class 12th, I once created a virus to get back at my friend for something he did to me. The virus was designed to mess the OS by deleting files from the C drive, but it would first copy all the Documents to some other location - hence forcing the user to reinstall Windows (but all his important files would be safe.)

I wanted to do a complete test on my machine, so I ran the script but I forgot to comment a few lines and the results were drastic. My OS was nuked and none of my files got copied (because the path of the destination was wrong.)

Had to spend weeks running disk recovery software!

What in your opinion are the most basic qualities a programmer must have?

The first one would be basic 'Googling' - just being able to find what you're looking for is a very important skill to have. People now are so stuck up on sites like StackOverflow that they just don't read the actual docs. Many people are also not aware of various other modes of support available like IRC channels and other forums where experts hang out.

The other skill would probably be Perseverance. When programming you really need to stick around with errors that you face. People usually take the easy way out and just paste random commands from sites, while what they should be really aiming for is to improve their understanding of why the error is occurring in the first place.

How has your journey been thus far as a programmer? What were some of the challenges you faced and how did you overcome them?

It's been great! I started hacking on Batch scripts in Notepad on Windows XP. This was around 2009. The first 'program' I wrote was a 1200 line batch script that fixed common XP nuances.

I then learnt Lua and built GUI programs using a tool called Autoplay Media Studio. After that, I got into AutoHotkey and built a lot of scripts that helped me out with daily tasks. For a few months, I stopped coding scripts and got really into solving Project Euler problems.

I only picked Python because it was suggested during my first GSoC project, but after that I just got deeper into it, and haven't looked back since then.

The biggest challenge for me has been learning new things. Previously, I used to just read standard docs that came with languages, but that turned out to be quite dry, so now I usually pick up the O'Reilly book on the topic and try to go through it.

What plans do you have for the near future?

After college, I got placed in Adobe systems as a tester, but then left the job because I didn't feel it was for me. I spent the last 6 months preparing for GATE. I got AIR-59 and am pretty sure that I'll get one of the top IITs.

So for the next two years I'll probably be in IIT Delhi or Bombay, meeting more smart people and just doing what I've always been doing - writing code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment