Joining Team Frappe Cloud
21st April, 2021, Faris dropped a message in our Engineering Team TG Group asking if anyone was interested in joining the Frappe Cloud team to work on SaaS/ERPNext subscription side of stuff. I already knew that I want to work on Frappe Cloud, primarily because of two reasons:
- FC as a product is so f**king cool!
- Faris being an amazing mentor, I wanted to work alongside him as much as possible
After a quick chat with FC Team, I finally joined the Frappe Cloud Team. At that time, the only members were Aditya, Balamurali (a.k.a. Balu) and Faris. No private benches, no custom apps, no servers, no real marketplace, no SaaS, just sites.
The Firsts
It all started by Aditya giving me a high level overview of the Frappe Cloud architecture and infra. This was the first time I learned about the existence of cryptic DocTypes like "App Source", "Release Group", "App Release" etc. After the 60 minute call, I understood many parts, some parts just went over my head, but I was ready to jump right in!
First Contribution
Before I could contribute a single line of code, I had to climb a small mountain called "local setup". At that time, there were no docs, only Balu. Since I like writing docs, I decided to write the docs for local setup while doing it.
Honestly, it was not straightforward but TG messages & GMeet calls with Balu got me through it and sometimes we would pull in Aditya if we got stuck. And finally, it was done, both the local setup and the docs. Since, we open sourced FC, this docs are public now.
First PR
A journey of a thousand miles, begins with a single step. So, this PR was my first code contribution in the press repo.
Since then, I have merged more than 108 PRs and made more than 1000 commits to this repository! Time really flys!
Customer Support
Soon after I got some idea about how everything functions, I was looped in the customer support rotation and got the chance to start interacting with the users directly. Before I joined Frappe, I had been a TA on a Python Programming course on Udemy, where I cleared students' doubts and customer support felt oddly familiar.
Days passed, weeks passed, I got more connected to FC, more connected to everyone on the team. It was my team now.
We became friends.
Picking FC Marketplace
About a month later, one fine day, we were discussing what projects each one of us should take up for the upcoming quarter. I won't go into much detail here, but before the planning call ended, I had picked up the Marketplace project, and, without a doubt, it was one the best decisions I have ever made.
I was a little nervous, since I have only worked on small features until now and this was a much bigger piece and had a lot of potential. But I knew my team had my back and they were more than happy to help me if I hit a roadblock. After all, I was working with few of the best Engineers at Frappe.
During this time, I figured I have an affinity towards UI Development. I started loving the idea of bringing Figma designs to life using tailwind.
After a few months, this was me:
Current State of FC Marketplace
I have seen the count of marketplace apps go from 7 to 75 and I will continue reviewing and publishing till we hit 100!
Publishers have started earning money from FC Marketplace. This is a very huge milestone and achievement. Revenue generation is one thing and helping people to earn money is at a whole new level.
Self-publishing, paid apps, release management, analytics, payouts, website search, ... phew! I had so much fun building those features and the marketplace has grown a lot over the past year. But it is just the beginning, Marketplace has the potential to become bigger than Frappe Cloud itself.
A Sad Exit
Faris left FC. After slowly and subtly preparing me to take over his major tasks, he decided to leave FC in order to work on his own product.
I was a little (okay, more than a little) sad and was distracted for about a week. After all, he had closely mentored me all the way till now. But somewhere in my heart, I was happy for him too, he was finally going to build his own kick-ass product. And now, when I see Gameplan, I am glad he made the jump.
The ex Learning
When you work with the best, you learn from the best.
Over the last 18 months, I have learned a lot, a lot. Not only am I a better Engineer now, I have become more mature as a human being. I have gone through various tough phases (even almost left Frappe, but that's a story for some other day) during this period, but it only made me stronger and more resolute.
I learned not only about Engineering, but about Marketing, Design, Copywriting, Business and everything that goes into building and running a SaaS business. And getting the opportunity to learn all these in such a short period of time is no joke.
What I learned from Aditya will require a complete blog post of its own. He approaches everything in an extraordinary way. I have learned a lot from him and I can't thank him enough for it.
Balu was always there to help with anything I asked him for. Balu, you are the best!
What more can I add about Faris, he is the Harvey to my Mike 😁
Passing the candle
Recently, Rutwik's major project, the SaaS platform, got merged into FC Marketplace. During this merger, he dug deep into the technical side of FC Marketplace and this is when I thought he was ready to take over FC Marketplace. He agreed on taking it up. I am sure he will take FC Marketplace to the next level.
The Next Chapter
So, you may ask, "What are you going to do next, Hussain?".
It took me a fair amount of mind bending to figure it out. More the options, more the confusion. I want to build every new product idea I come across. But in the end, I wanted to pick the ONE thing that I could stick to, the ONE idea I want to make an awesome product out of, the ONE thing that I will enjoy.
FrappeCRM. This was it. You will be happy to know, I will now be driving the development of FrappeCRM, the newest Open Source product coming out of Frappeverse. I have already started working on it!
At the end, a big thank you to Frappe and every Frappe member for providing the #freedom to pick my own work and for all the support!
If you want to be in the loop for the development of FrappeCRM, drop an email at hussain@frappe.io.