The first time I opened Apache Fineract, I wasn't thinking about contributing.
I was trying to understand something much bigger: How does Java actually work in a large, enterprise-grade codebase? Back in December 2025, I was looking for projects where I could learn how real software is built. Not just how to write a Spring Boot controller. I wanted to understand: How are hundreds of files and modules managed? How do migrations happen? How is testing handled? How are releases done? How do developers make decisions in a huge codebase? And most importantly, how does an open-source community keep all of this accountable? That's how I ended up in Apache Fineract. The codebase was intimidating. As a new contributor, I found a TODO, solved it, raised a PR, and thought: That's it. My first contribution. Then came a comment from Aman Mital. https://github.com/apache/fineract/pull/5265#issuecomment-3693823685 And I realised I had misunderstood open source completely. A PR wasn't simply: "I found something to fix, so I fixed it." There were development guidelines. There needed to be a ticket. There needed to be traceability. There needed to be accountability. There was a reason behind the process. That small correction changed how I looked at contributing. Since then, I have had the opportunity to contribute across very different areas of Fineract: core features, security, testing, developer tooling, documentation and more. But honestly, the biggest learning wasn't always from writing the code. It was from reading the code and reviews of people who had been doing this for years. A huge thanks to Adam Saghy for reviewing so many of my PRs. I genuinely learned a lot by reading his reviews and looking at how he approached problems and structured code. I used to read his PRs. I also want to thank Aman Mital for constantly correcting me when I went in the wrong direction, and for mentoring me throughout my GSoC journey. Thank you, Paul, for the weekly check-ins, guidance and all the conversations that helped me make better decisions throughout GSoC. Before GSoC, one comment from James on FINERACT-2441 ended up shaping a significant part of my thinking around how we were building Fineract Business Intelligence. https://issues.apache.org/jira/browse/FINERACT-2441 I also learned a lot from Sujan, Edward, Krishna and Nidhi. Watching their work during GSoC was another reminder of how much you can learn simply by being around good engineers. And a very special thank you to @Adam Monsen <[email protected]> While I was still figuring out how to navigate the community and contribute effectively, Adam reviewed my work and suggested that we should build a Fineract Chat Archive. With his guidance, I built it. Under his guidance, I also migrated the Fineract website from HTML to Hugo and improved several parts of it along the way. Those weren't just contributions. They were opportunities to learn how to identify a problem, think about the right solution, work with a community, and take ownership. Looking back, that's probably what I value most about Fineract. I came in wanting to learn how an enterprise Java codebase works. I ended up learning something much broader: Open source taught me that contributing isn't just about writing code. It's about engaging with the community, learning from others, collaborating, and eventually helping someone else along the way >From my first PR, to getting reviews, making mistakes, contributing across different parts of the ecosystem, and eventually becoming a GSoC contributor, this community has played a huge role in my growth. And I'm genuinely grateful to everyone who was part of that journey. But GSoC ending doesn't mean the learning ends. There is still a lot I want to work on. → Migrating Fineract Business Intelligence towards an Apache-based streaming extractor → Contributing to Fineract Consumer Facing → Exploring Loan Origination → Working on Backoffice → And, most importantly, getting back to Fineract itself. It's been a while since I last contributed there. The journey continues. And if you're looking to contribute to Apache Fineract Business Intelligence and you're stuck somewhere, confused about the architecture, or simply don't know where to start, feel free to reach out. I'd be happy to help. Repositories I'm currently excited about: * https://github.com/apache/fineract-business-intelligence * https://github.com/apache/fineract-consumer-facing * https://github.com/apache/fineract-loan-origination * https://github.com/apache/fineract-backoffice-ui >From picking a random TODO to becoming a GSoC contributor. I'm extremely grateful for everyone who helped me get here. Thank you, Apache Fineract community.
