2017 Google Summer of Code Reflections

Hopefully you read Part 1 of our official recap of the 2017 Google Summer of Code from last week. As is tradition, we always ask our our interns a few questions at the end of the summer to reflect back on their experiences. Here is what they had to say!

What was your most rewarding experience contributing to Mifos this summer?

Dilpreet Singh – Interacting with mentors in meetings was the most rewarding experience for me as every time I end up learning amazing stuff, best practises and get to hear great advices. Mifos helped me improve my knowledge and I always feel great to be a part of Mifos contributing to projects which impact people’s life.

Kumaranath Fernando – There were many rewarding experiences out of all, what I would like to highlight is mastering and writing extensible, flexible clean code.

Mohit Bajoria – Most rewarding experience contributing to Mifos this summer was Maintaining the community app hurdles and learning from them, diving deep about progressive web app, testing on lighthouse. Other than learning, it was my mentor Maulik, Gaurav, who made the GSoC lot more fun.

Raunak Sett – Most rewarding experience for me was interacting with the community and solving problems together and learning a lot in the process.

Rajan Maurya – First, thanks to my mentors, Markus Geiss and Mark van Veen; both of them helped me alot. I never waited for a response, and always got my problem resolved within couple of minutes.

I have been contributing to Mifos from two years on and I always have a goal to write quality and efficient one-time code that will handle everything. It doesn’t matter what will change in future and If anything will break in future, that should be easily fixable. My most rewarding experience was helping GSoC students teaching them good practices and if they stuck be always ready to solve their problem

Nikhil Pawar – This GSOC, I had an opportunity to virtually meet lots of people, both within community and outside community. Meeting new people, means exchange of new new ideas, healthy debates which acts as like a catalyst for logical and critical thinking.

Sanyam: The most rewarding experience for me was interacting with the Mifos Community and my mentors (Dhirendra, Ed, and Aleksander ) and also got the hands-on experience on a Fintech backend application and solving problems together and learned a lot in the whole process.

Gopala Krishnan – My most rewarding experience was to see the changes I had done to get merged in the community-app and be a part of the latest release.

Naman Dwivedi – Most rewarding experience for me was to learn about the different architectures and how using a good architecture design can be really helpful in the long term for the project. My all personal projects before the summer were built to ‘just’ work, but now I can’t imagine writing a project without at least the MVP architecture.

Mayank Jindal – One of the mentors Ishan told that how can we speed up development by avoiding gradle build every time which is the most frustrated thing for an android app developer. It helped me to save many hours of just sitting idle.

Tarun Mudgal – The most rewarding experience is getting to know new stuff – from enabling (after messing a lot) multi-dex, to learning the right way to debug to code and following the best practices. I did expect such an experience and now, I am quite contented that it happened so.

Courage Angeh – I got to learn a lot more and I got more used to the organization.

Vladimir Fomene – I did not have a most rewarding experience, but the lessons I learned from this internship is priceless.  I have learned how to work in a team of software developers from diverse backgrounds. I also learned a lot of tools while working on the project and last but not the least I learned that having goals and deadlines while working on a project is key in helping you evaluate your progress.

Alex Ivanov – Working with the community was amazing! I met some really cool people in Mifos community. Seeing what other GSoC interns were working on and the internal feedback.

What was your biggest challenge you overcame this summer?

Dilpreet Singh – “The biggest challenge I overcame was of writing readable and good quality code as earlier I just focused on the functionality of the application but the GSoC period helped me in learn the importance of cleaner code.”

Raunak Sett – Trying to shell out everything from scratch ensuring good architecture and getting it reviewed by community members. Before gsoc I used to directly jump into the coding but this has made me give some thought.”

Tarun Mudgal: The Mifos Android app is certainly not the biggest app but its codebase is appreciably large. I learnt to work with it and the reason of the error and to eventually fix it.

Mohit Bajoria –Working with timelines, I followed the timelines strictly. Understanding Code base of some libraries and how the things works behind the libraries. Documenting things and writing better code.”

Naman Dwivedi – My biggest challenge working this summer was to get the initial boilerplate code ready for the new project based on the clean architecture. I kept improving the architecture throughout the summer based on feedback from Ishan.”

Sanyam Goel – The biggest challenge I faced was while implementing Swagger from the scratch on FINERACT API, that the Mifos internal REST endpoint API, uses in most of the cases are serialized JSON Objects as String parameters to pass the complex objects and then deseriazed by the helper classes of Mifos because of this Swagger cannot deduct any clues about these objects and thus interprets them as a simple strings as there’s no direct bean is assigned.

Gopala Krishnan – My biggest challenge was working with the entity datatable workflow. Since there was no back-end for some workflows I had to hardcode the logic in JavaScript. I learnt a lot about ajax and callbacks during this period.

Kumaranath: The biggest hurdle I overcame was refactoring a huge codebase, implement all the required features to support all entities supported by the current data import tool and implement the latest changes introduced in the backend and community app.

Courage Angeh – Understanding my project scope was a real challenge. It took me some time to really understand the scope of my work for the summer.”

Vladimir Fomene – At the beginning of August, I demoed the first working version of the gateway to my mentors, and they said I had completely missed the point of the project…I told myself, that I will push myself for the last month to deliver as many milestones of the project as possible. I redesigned the whole payment gateway in less than two weeks and I developed the beyonic integration within a week. This would not have been possible without the help of my mentors who had already developed a mobile money payment bridge for Mifos and shared that code with me.”

Rajan MauryaThis year MifosIO started building Fineract 2.0 and I am the developer who is developing the Fineract 2.0 android-client. It was biggest challenge for me to write whole application from scratch and thinking aways in modular manner. All was good since I had good experience I took everything easily but one big challenge I solved was refreshing access token independently and automatically whenever it will expire.

Mayank Jindal – “Gradle build was my biggest challenge during the development time but I overcame this challenge with the help of Ishan.”

Nikhil Pawar – The biggest challenge for me this summer was making credit bureau module generic and I think I have done a decent job.”

Alex Ivanov – For me, my biggest challenge was the platform work. Before I even started working actively on Fineract, I had to do a lot of reading about the platform architecture, the libraries in use. I learned a lot of useful things during that.”

What advice would you give to other students/GSoC interns on working with Mifos?

 Gopala Krishnan – Always be in touch with the community even after GSoC, since there are a lot of things which you could learn contributing to Open Source.”

Nikhil Pawar – “Interaction with mentor and community is key to success not only in GSOC but for any other software project. Iteratively develop the product, demo it to your users, which create less hindrances when you make final delivery.”

Rajan Maurya – First: Try to learn more and more and apply and If you stuck at any place ask your mentor and tell them what is your approach and always eager to ask him  “Is there any better way I will pick that one”. If your approach is not good then listen your mentor and try again and try hard to make thing with quality. it does not matter you have to give 2 more hours a days or you have to write code at night. Just do it and prove yourself you are good one.

Second: Wait for mentor review for every step, mentors are busy always give you reply on time but If you want to take review on every step then a single feature implementation will take too much time and I am sure you will not satisfied about your work.

Better do some research and implement own your own and tell you mentor your approach or talk to him before implementing with full plan. If you want to become good developer please follow first one.

Dilpreet Singh – Write code not for yourself but for the developers who will be contributing in future. Everyone at Mifos is very helpful, if you are stuck somewhere discuss your problem that will surely help.”

Tarun Mudgal – I’d advise being in contact with the mentor as much as possible. Of course, don’t pester him for assistance with every syntax error or NPE that you encounter; but discuss the ideas and the best practices.”

Alex Ivanov – Be excited, don’t be scared to set hard to achieve goals. The summer is long, you have time to achieve them, and you will!”

Vladimir –Start early by contributing to one of Mifos’ project. Install the applications, find a bug and submit a pull request on github and learn as much as possible before you start your internship

Mohit Bajoria –If you like to work with Mifos at GSoC, you’ll never regret the choice that you will make. It’s remarkable opportunity for you. As my experience at GSoC comparing to my friends, Mifos has one of the great mentoring program which will not fail you, that will provide all the help you need at any time. Also in the meantime you’ll be able to touch great knowledge in variety of technologies. It’s an awesome community.

Courage Angeh – I would say Mifos is a great and friendly organization, so they should feel free to ask at any time any questions about their work when in doubt.”

Kumaranath Fernando –Retrieving early feedback, communicating frequently with mentors and the community on the deliverables is a golden rule I believe that all GSOC interns would need to follow.”

Mayank Jindal – I would advise other students to have a little patient during the communication with their mentor because mentor could be very busy and sometimes it may happen that there is not enough communication happening between student and mentor.”

Naman Dwivedi – I would advise other students to keep track of the mailing list and ask any dev related questions there. And writing good quality code and good communication with the mentors.”

Sanyam Goel – “The best advice for future GSoC interns is that they should maintain a perfect relation with all the community members and should be in contact with their mentors and should discuss their approach with their mentors and with other community members if they are working on some innovative Ideas or planning to do some major changes in the current code base and should also propose their ideas on the mailing list of the Mifos or Apache Fineract Mailing List to find out the best feasible approach for their members and give their best to optimize the code or by proposing the innovative approach or suggestions.”

Raunak Sett – Be in touch with your mentors frequently. Give them a update. discuss with them they might have crucial insights that you might have missed.”

If you could visit the country of one of our Mifos users, where would it be and why?

Nikhil Pawar – I want to visit some country in West Africa, say Sierre Leone. The primary reason I want to visit these countries in west Africa is, the rural banking system is yet to fully digitised. If I get to understand their requirements, first hand, I will be in better position to develop products.”

Tarun Mudgal –“I’d choose the Netherlands as I’ve a pen-friend there and meeting him is still on the bucket list as of now. :P”

Gopala Krishnan – I would like to see the impact Mifos users have in my country (India) and see how I could contribute to make it even better.”

Mayank Jindal – I would love to visit Bulgaria which is Alex’s country. I have heard that there is a tremendous history and natural beauty throughout the country. People are amazing in terms of hospitality and friendliness.”

Kumaranath Fernando –Well, I’d love to visit my mentor Avik in Bangalore, and also my mentor Kyriakos in Chicago, though we have communicated very often over the phone, I’d like to meet them both in person.”

Courage Angeh – Bangalore – India, My mentor has really inspired me, with the way work and handled the project and ideas and views of the project. It will be amazing to work with him after the summer and an even greater privilege to meet him in person.

Raunak: I would want to visit Nairobi, I believe a lot of impact is being created over there and there are some really great members in the community from there. I’d love to have a chance to work along side with them.

Sanyam Goel – I would love to visit Africa, Kenya, and Amsterdam because the people from Skylabase Labs and other community members from these countries are huge contributors and love to meet all these people in-person.”

Mohit Bajoria – Philippines, Can give a helping hand for Mifos users while enjoying a nice vacation :D”

Dilpreet Singh – I would like to visit Kenya and get reviews in person for Mifos products which will help a lot in improving them.”

Naman Dwivedi – Not sure, probably Seattle to meet Ed or Amsterdam to meet Ishan.”

Vladimir Fomene – Burma. In the payment gateway team, we had many countries represented and I have already encountered people from all those countries except Burma.”

Rajan MauryaI want to visit San francisco and Amsterdam.”

Alex Ivanov – I am not sure, I would like to visit Africa as I haven’t been in the continent before and seeing how Mifos is used there would be awesome!”

If you have time, how do you hope to contribute to Mifos in the future?

Raunak Sett – I plan to work further on the frontend projects and give insights on the usability on the android applications as well.”

Vladimir Fomene – A lot is still left to be done on the payment gateway like refactoring the code, working on the portal and documenting the API. I will allocate a bunch of hours to the project every week to work on these remaining piece.”

Courage Angeh – I hope to continue coding with mifos, helping new comers into the organization.”

Dilpreet Singh – I will be continue contributing to Mifos. There were some features discussed but were not implemented in Self Service as apis were not yet implemented so I will be working on them and will continue to add more features and will help new students who want to contribute.”

Kumaranath Fernando – Yes, I will. Any tweaking or enhancements required to cater the community in data import tool integration,I would be happy to help with.”

Nikhil Pawar – “I want to contribute Group Loan individual monitoring and Group savings individual monitoring to community.”

Tarun Mudgal – I have added/worked on a significant part of the android app by now. But the enhancements list still has several items ranging from new features to reducing the bandwidth usages to making the app appealing aesthetically. I will work on some of these if I get time (which is usually a dream in professional life – here at India at least 😛 but I will try).

Naman: I look forward to continue working on my project and hopefully make it available to end users. I will also be looking onto the issues on Android related projects and will try to work on them

Rajan Maurya – “I am still building tech in Mifos and hoping I will continue because If I started something I can see that dying. I will give my support to make that project successful. Currently I am thinking to continue my GSoC project and self-service and make first release in community.”

Mayank Jindal – “If I will have time, I will try to be a part of Google Code-In which is an awesome program for introducing open source to school students. I would love to teach them about GitHub workflow, contributing to open source community and making fruitful communication with other developers.”

Sanyam Goel“I’ll always be in touch with the Mifos Community and give insights on the other projects and will always ready to contribute to this great open source fintech community.”

Mohit Bajoria – I am already a long time contributor at Mifos, leading the web apps development in the community, I will be continuing the same. I welcome all the new developers and would love to help them and get them on Board for Mifos.

Gopala KrishnanThere are still lot of changes which could be done to the User Interface of the community, I would love to take on these issues and work on them.”

Alex Ivanov – “I really want to continue contributing to Mifos in the future. It is a project that could really impact people’s lives in a positive way.”

What will you be doing now that Summer of Code is complete?

Naman Dwivedi – For now, I will be going back to some of my personal projects that haven’t been updated for some time and will be working on my major project in the university.”

Tarun Mudgal – “I’ll be preparing for the standardized exams and will apply to the universities. For the coming month or so, I’ll only focus on these tests. After that, I’ll take up some job until I get admitted to some good institution.”

Vladimir Fomene – I will be going to school for my final year and I have to start planning and working on my end of course project.”

Raunak Sett –  I’ll be attending a festival in my hometown ( Kolkata, India ) called Durga Puja. It’s an important festival for Bengalis.”

Sanyam Goel – I’ll keep contributing to the Mifos and Apache Fineract Community in both Backend and FrontEnd Projects and will try to solve the current bugs on most of the repositories of the Mifos community and Recently I’m selected as a ‘Google Facilitator for Applied CS with Android’ so planning to deliver some courses on Android Development in various colleges of New Delhi, India.”

Kumaranath Fernando – I will focus on completing my final year in a flyer, and also excited to contribute to Mifos next year GSOC as well.”

Mayank Jindal – I am graduating in 2018 so I am planning to apply for masters study in US universities. I will be preparing for admission process of universities.

Dilpreet Singh – I will dive deeper in java and continue contributing to Mifos. And as this is my final year of my undergraduate course so I will also be focusing on making a major project.

Mayank Jindal – I am graduating in 2018 so I am planning to apply for masters study in US universities. I will be preparing for admission process of universities.”

Mohit Bajoria – I will be writing some VueJs apps. I have been learning Vue since a while and it has been great front end framework to develop web apps faster.”

Courage Angeh – Even though it has been an amazing experience, it has been a little stressful, so I hope to take some time off so my system doesn’t shut down 🙂 then later continue improving on my open source experience.”

Nikhil Pawar – I am back to US and would be continuing my masters degree.”

Gopala Krishnan – My goal has always been to be able to know a range of things in Computer Science hence there are a lot of things to learn. I’ll start by learning server side technologies and try to build a whole application by myself. Also, I’ll be continuing doing more enhancements and helping other contributors in Mifos.”

Alex Ivanov – I don’t a lot of time until uni begins so I will try to finish up some other projects and prepare for going back at university.”