2018 Google Summer of Code Reflections

Hopefully you read our introduction to our 2018 Google Summer of Code interns. If you missed our official recap, take a look to discover what they worked on.  As is tradition, we always ask our our interns a few questions at the end of the summer to reflect back on their experiences and see how they’ve transformed over the summer. Here is what they had to say!

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

Lalit – Learning about the architecture that has been working for smaller financial institutions without fancier servers and tooling. Understanding the importance of scorecards and analytics for banking and coming up with an approach that would help financial institutions to adopt analytics for better risk management.

Ruphine –  Most rewarding experience for me was the software engineering experience I gain by working on cloud native application. It has greatly improve my engineering skills. I also acquire some experience by working in a team and contributing to the community.

Pembe – The fact that I get to work with others and to be able to give account of my daily progress. Also to have mentors who are willing to help me explain the big picture and also to have domain experts which has helped improve my knowledge in terms of financing, working with microservices and improving my coding practices.

Abhay – Interacting with the community members and my mentors was the most rewarding experience for me this summer. I got an opportunity to not only work on the new revamped version of web-app improving my knowledge but also be a part of the decision making process and learn from everyone. I am really thankful to my mentors who always believed in me.

Ankit Interacting with the community members and my mentors was the most rewarding experience for me this summer. I got an opportunity to not only work on the new revamped version of web-app improving my knowledge but also be a part of the decision making process and learn from everyone. I am really thankful to my mentors who always believed in me.

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

Courage – The most rewarding experience for me was actually working on the whole project. For a while now I have been so excited about cloud computing and with this project, I was opportune to not only work on a cloud-native project but also containerize the project for a production-ready environment and this has helped improve on my skills.

Dingfan – My most rewarding experience was learning about different aspect knowledge including technical and non-technical aspect. In the technical aspect, I learnt a lot about the architecture of Java programming. For example, I knew more about the steps to construct a project under the Spring framework pattern. In non-technical aspect, I learnt how to discuss with other people including peers and seniors.

Ebenezer – The most rewarding experience is the opportunity to build a new microservice from the ground up and to do so in an open source community. I am an open source enthusiast who believes in the potential of open source to help Africa leapfrog into technological advancement and prosperity. And so, I deem this a priceless experience;  to spearhead the development of this project within this conditions. Now, what made it even better is the sense of belonging to such an amazing open source community, and this is a dream come true.

Aksh – 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.

Saksham – I got to interact with Rajan, Ed, other interns, and other community members, each interaction rewarded me in learning something new.

What was your biggest challenge you overcame this summer?

Pembe – My biggest challenge this summer was understanding the architecture used in building the fims web-app and how it manages the various state of the app using redux.

Ruphine – My biggest challenge during this summer of code was understanding the Microservice Architecture and the domain of Financial inclusion. After doing some thorough reading, I can say am quite comfortable in the area of financial inclusion.

Ankur – Testing the program to prioritize user experience and writing efficient code was a bit challenging. Documenting and writing programs so that others can expand on my work was also a new experience for me.

Lalit – Understanding the requirements and coming up with a design that can be used for rule based, statistical and machine learning models for early warning/credit scoring and other modules

Abhay – My biggest challenge working this summer was to get the new web-app project setup with Angular 6 from scratch, following its best practices to ensure cleaner code and modularity, overcoming the disadvantages of the community-app.

Ankit –  My biggest challenge was designing the UI of new features as there was no back-end for the workflow and without knowing which fields are required for that feature I have to imagine and make the shell of the UI on the best case possible so, that in future they shouldn’t be any problem while integrating the APIs to these UI shells.

EbenezerThe biggest challenge for me was setting up the VM for testing the project and writing the initial code. The tasks for the projects were simple however, the technologies used to develop it were new to me – first time using the cloud and spring as well as building a web app. I had to learn a lot of new technologies to produce my project and it came with it own sleepless nights. It was enlightening and worth it because I love the person I have become. I overcame this by studying the technologies and with time it got easier; I believe consistency and persistence is the key.

Saksham – Cannot say it was challenging, but interesting to work on new things that I didn’t had worked on before summer. This enhanced my skills and I got to learn more.

Courage – My biggest challenge was learning Kubernetes. I was a little scared at first but after I learned it, I loved it,

Sanyam – The biggest challenge I faced this summer was of time management. I managed my University end term examinations and Google Code In USA trip with the GSoC Project but overall it was a great experience.

Dingfan – My biggest challenge during this summer was how to get started with Spring configurations. At the very first, I knew very little about Spring architecture. Hence it was quite difficult to start the first line of code. Thanks to the help from my mentor, he helps me on figuring out the basic structure of the whole project.

Aksh – 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.

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

Ankur – I would emphasis on confidence and clarity of thought. I would also suggest not to be shy about asking questions from mentors and the community members on the mailing list/ slack channel etc.

Ruphine – They should be determine to work hard , participate in community and on the mailing list by asking any dev related questions so that they can learn from others and also help others.

Lalit – Spend more time with mentors in the initial days to finalize the requirements. Do not miss any opportunity to contribute to Mifos, high impactful initiative in technology intensive domain (financial) that has been primarily been using proprietary software.

Abhay – I’d advice other students/interns to always be active in the community and never hesitate to get help or clarifications from your mentors when stuck. Make the best use of all the communication channels (mailing list/slack/gitter) and help each other as well, whenever possible. Make sure to write documentation for your code. It will not only be helpful for the newcomers but for you as well in the future.

Ankit – Always be active in the community and be connected with other people in the community. Keep track of emails on the mailing list for all the latest issues, features and information. Always give your updates to your mentor and let your mentor know about obstacles you are facing while working on a feature.

Pembe – They should start working on their projects early and always remain in communication with their mentor and the community.

SanyamThe 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..

Courage – I would advise them to always ask questions, learn as much as they can and code using best practices.

Dingfan – The Mifos is really an inclusive community that everyone can be enrolled in it and find his / her value. I would strongly recommend other interns to try to participate in the Mifos. Additionally, I would suggest them reading through the source code base of the Fineract platform and approach for help in the mailing list first before they get started of their work.

Ebenezer – The codebase is huge and complex. Don’t underestimate it. Make sure that you have a good understanding of the artitecture before starting your project, that is if you will need to interact with other services. But ideally, I would suggest you get a good understanding nonetheless. If you don’t understand something, post it on the mailing list or search through the mail archives – there is a wealth of knowledge in those archives.

Aksh – 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.

Saksham – Don’t contribute to the Organisation for the sake of GSoC, but make contribution to Open Source Organisation as way to learn more and connect to other highly knowledgeable Developers.

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

Ankur- I would like to meet Ed in Seattle and would like to learn from his experience and also have the fun exploring the city.

Ruphine – I will visit Germany to meet  Myrle, Markus and Mark.

Pembe –  United states, to visit Mifos X organisation

Lalit – Did not think much about it !  Visiting emerging countries that are using/planning to use Mifos would be beneficial for better contribution.

Courage – Probably Germany to meet the Kuelap guys. The new Fineract CN platform is really great and I can only imagine the future plans for this project..

Abhay – I’d like to visit Seattle to meet Ed. He has been very supportive and friendly throughout the program and I hope to continue interacting with him in the future.

Ankit – I would like to visit Singapore or Amsterdam.

Sanyam –  I would love to visit the USA to meet my mentor Steve and Ed, and also love to visit Amsterdam.

Dingfan – Probably Germany and India because I would like to meet my mentor Aleks in Germany and visit India to watch their lives.

Ebenezer – I would visit Cameroon. This is because I get to meet three awesome people from the mifos and fineract community. They helped me in difficult times and I would like to meet them in person. I would like to meet other engineers at Skylabase I believe they are doing a great job with .

Aksh – Not sure, probably Seattle to meet Ed or Amsterdam to meet Ishan.

Saksham – I would meet my mentors Rajan in Delhi and Ed in Seattle.

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

Ruphine- 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 Fineract CN projects and will try to work on them.

Pembe – I will continue to help other who are new to the code base come onboard.

Lalit – Will continue to work on my module. Will also provide support on BIAN compliance, Security and Usability testing.

Abhay – I will continue working on the new revamped version of the web-app so that it can be prepared for a release soon as and when I get time. I hope to continue my interactions within the community and help our users and contributors to the best of my knowledge.

Ankit I will continue working on my project. Adding new feature and fixing issues in the project and guiding new contributors in contributing to Online Banking App. I would also like to contribute to the Web-App ( angular 6 version of community app ).

Ankur: My main interest lies in Reinforcement Learning and I also plan to do research in that area. I would love to contribute to Mifos if there is any project that utilizes RL.

Sanyam – I would always love to 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 fin-tech community. I’m a full stack developer and have skills in Java, Spring, Hibernate, Android, NodeJs, C, C++, Git, Swagger, JavaScript, MYSQL and MongoDB which showcase my expertise in both Backend and Frontend stack and a Full-stack as combined so will keep contributing to their backend projects like FINERACT and MIFOSIO projects and in Android, Web Application in the field of FrontEnd projects.

Dingfan– I look forward to continue working in the Mifos and probably choose another project as I have strong interest in other technologies besides Spring framework.

Courage – I look forward to helping many more contributors and contributing code.

EbenezerI want to fully flesh out my project and contribute to the microservices. I would like to help build the API documentation and create documentation which will how new contributors to have a smoother experience joining the community.

Aksh – 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.

Saksham – I will be contributing to Mifos and will look to get the App published to the Play Store. Apart from that, will be doing unfinished tasks when the API’s are ready and try to contribute to other projects too.

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

Lalit – Get back to my PhD work !

Pembe – I will continue working on my project making sure that I actively take part in getting it to the level where the end-user can use.

Ankur – As the semester has started, I will be studying Reinforcement Learning and other Machine Learning paradigms and strengthen my understanding as I plan to research further in this area.

Ankit – I will spend some time to learn node.js and will work on some web development projects. Will also try to get some internships so that I can get more learning experience.

Ruphine – For now, I will be going back to finish my final year project required for graduation and working on my Gsoc project. Also with the experience I have gotten from the summer of code, I will start looking for an internship at one of the silver partner company of Mifos available in my community

AbhayCurrently, I am pursuing the Front End Web Developer Nanodegree at Udacity and will be shifting some of my focus to completing its projects. Apart from that, I will be preparing for placements and working on my minor project as its my final year of engineering.

Sanyam – 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. I am also open for the part-time and full-time opportunities in the field of software development

Dingfan –  I will prepare to start my school work first as new semester has already started.

Courage – Contribute code at Mifos Initiative, apply for internship, school, work and work on personal projects.

Ebenezer – Continue working of my project to keep it alive and make sure that I bring a lot of contributors on board.

Aksh – 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.

Saksham – I will be learning new skills by making some new projects. I would also be looking on UI design as per mentors suggestion.