It all began sometime during this February/March when I had nothing to do (I almost have nothing to do always) and people around me were doing cool stuff, when I thought of giving GSoC a shot. (I had initially thought GSoC was for people who knew ten programming languages before they were born, or who started hacking on stuff since fifth grade, so I was a bit pessimistic and I had barely written my first Hello World program in C, a year back). And after some amount of bug fixing and a large amount of luck, my organistion decided to go with my proposal 🙂 (For a slightly TLDR version of this, you can read https://manojbits.wordpress.com/2013/04/22/sympy-and-my-tryst-with-open-source/)
I was assigned one of the most awesome mentors in SymPy, Sean Vig, who is a physics grad student (I think) in University of Illinois -Urbana-Champaign. I’m not saying this just because he passed me, but also because all that I had to do if I got stuck somewhere, was to ping him and he would reply almost immediately with some solution to my query (except when he went biking of course).
I don’t want to bore anyone with my project details, because I myself am slightly bored already, but a one line description would be that it involved strengthening the already existing ODE module, with a number of hints and power series solving methods. I want to mention two moments, which had me quite fascinated, the first one was the recursive design of the ODE module, which makes it really easy to to add additional hints, and the second one was when I hacked a bit of core SymPy, it would take me days to think of such an object oriented design.
GSoC taught me much more than coding. Patience maybe. There were times when I got stuck really bad, and someone in the mailing list, usually came up with some answer. (Especially Raoul who saved the day with his research papers). And also humility from the core developers, who are seasoned programmers, and who treat people like me at par with them while reviewing Pull Requests or otherwise. Perseverance and dedication too. You can have things like a bad breakup or something, but you still got to put in the required hours of work.
SymPy has a broad range of stuff that can be worked on, that I believe SymPy can be called as a separate language in itself. Also congrats to my fellow GSoCers, Sachin, Prasoon, Chetna, Katja, Mary Clark ,Thilina and Saurabh who managed to string up a project on his own. It was a pleasure working with you all. As I said, SymPy is so broad, that I have a very vague idea about what the other projects are, sometimes I never knew what was going on in my project itself, but yeah whatever. If you are looking for a well documented Python project to contribute to, SymPy should be at the top of your list.
On a personal note, the way ahead is as undecided as before. I obviously will contribute to SymPy in my free time. Frankly speaking, I don’t consider myself as a programmer still, and I know plenty of people in my own college who are much better than me and I still have to improve on my skillset. Lets see where life takes me from here.