Onboarding to Bitcoin Open Source Development
The Beginning
I was looking for summer internships and came across the Summer of Bitcoin program. I was interested in Rust programming, and that’s how I found Eye of Satoshi. The people in the community were really friendly, and one person, my mentor Sergi, stood out. He patiently answered all my questions, even the ones that might have seemed silly. The community made me feel like I belonged. It was okay to ask simple questions, and this made me comfortable to learn and try new things without worrying about making mistakes. This experience taught me that it’s not just about finding an internship; it’s about finding a group of people who support you. Eye of Satoshi and the Summer of Bitcoin program were exactly that.
The Proposal
I enjoy making web apps, so I picked the web-based GUI project. I set up the watchtower and completed the project’s competency tests to show my skills. The project was marked easy, I knew there would be lots of competition. But I believed in myself and decided to write a proposal that was really detailed and thorough, something that not everyone might do.
I didn’t let the tough competition discourage me. Instead, I saw it as a challenge and worked hard on my proposal. I wanted it to stand out. So, I spent a lot of time making sure every part of the proposal was well-done and clear.
When I finished it, I sent in my proposal. This whole process, from picking the project to submitting the proposal made me believe more in hard work.
The Selection
When I found out I was chosen, I felt really happy and also a bit nervous. I started thinking about how to do different parts of the project, and it made my mind busy. I took a moment to relax and then I called my parents. I wanted to tell them about this good news. When I talked to my parents, they were excited too. Their happiness made me feel better. It was like they were with me on this journey. Sharing my success with them helped me feel more excited and ready for the new adventure ahead.
The Onboarding
The program kicked off, and the onboarding process began. I was filled with excitement as I looked forward to connecting with people and contributors from different corners of the world. It was amazing to think about the diverse group of individuals I was about to meet. I want to express my gratitude to Adi for the exceptional onboarding process. Adi made everything smooth and exciting, guiding us through every step of the program. Their support and assistance played a significant role in making this journey even more enjoyable and rewarding.
My Summers
This summer has been incredibly exciting for me. I’ve never worked this hard before, as I found myself juggling between my project and getting ready for college placements.
It’s been quite the adventurous summer, to say the least. I began my project by laying out the architecture. I spent time studying design patterns, best coding practices, and project structures.
In the initial phase, I focused on the project’s backend. I developed APIs and paid special attention to keeping my code adaptable and easy to maintain. I delved into testing and ensured that I wrote unit tests to cover all parts of the backend.
Certain parts of the project needed a big chunk of my time, and I ended up doing a lot of research and figuring out solutions to problems. These challenges taught me the most important lessons. Sometimes, certain parts of the project took more time than I thought they would. I had to overcome obstacles by searching a lot and trying different things to fix issues. Even though it was tough and sometimes frustrating, it was also really satisfying. Every time I faced a problem, I not only found a solution but also learned better ways to solve problems. It’s like they say: the hardest challenges teach you the most valuable things.
Aside from the primary project, I took on the task of enhancing the command- line interface (CLI) of the watchtower. During this process, I identified areas in error handling and logging that could be significantly improved. With my sleeves rolled up, I analyzed the existing setup, outlined the potential enhancements, and then dedicated myself to implementing these changes.
With the first half of the summer behind me and after excelling in the mid- term evaluations, I moved on to the frontend. I wanted to create a clean and user-friendly UI, so I learned how to use Figma for designing. Once I had the UI designed, I got feedback from my mentor and then started coding the frontend.
Throughout this journey, my experience has been fantastic. Regular meetings with my mentor and fellow contributors have been really helpful. We discussed our progress and challenges every week, which made me feel supported and encouraged.
This summer, despite the hard work and challenges, has been an incredible learning experience. I’ve been able to balance technical growth with practical application. It’s been quite an adventure, and I’m grateful for the opportunity to be a part of this journey.
Conclusion
In wrapping up, this summer has been an amazing journey of learning and growth that I’ll always treasure. A big thank you goes out to the Summer of Bitcoin program for giving me this incredible chance.
Exploring the world of Bitcoin, teaming up with fellow contributors, and learning from my mentor, Sergi, has truly changed me for the better.
To everyone who helped me along the way — whether with advice, feedback, or just words of support — thank you. Your contributions shaped my understanding, boosted my skills, and made this journey a real collaboration.
To those who are starting out, here’s a message: Believe in yourself and your abilities. The journey might get tough, but with determination and never giving up, you can overcome anything. Don’t let setbacks bring you down; they’re just steps to success. Keep going, keep learning, and don’t quit halfway. Your journey is yours, and your dedication is what really counts.
To all future contributors, I wish you an amazing journey ahead. May your experiences be as great as mine. For me, I take the lessons and memories from this summer with deep thanks and excitement for what’s next.
Important tips
Selecting a language for contributing
When you start contributing to open source, the first big decision is picking a programming language. Some folks go for what they already know, and that makes sense. But there’s also a cool option: trying something new, something not many people are working on.
I did that myself, and it can be a smart move. Why? Well, there’s less competition. If you choose a less popular language, your contributions can really stand out. It’s like taking a different path that can lead to interesting discoveries and innovations. Decision is upto you, here i am sharing tips selecting a new tech or language.
Organisation Alignment: Research if there are organisations actively using the language you are interested in. Having at least 2–3 organisations utilising the language indicates its relevance and potential impact.
Community Engagement: Evaluate the level of activity within the community associated with the language. A highly active community may signify a thriving ecosystem, but keep in mind that more activity could also mean increased competition. Gauge whether you prefer a bustling or moderately active community based on your comfort level and goals.
Project Dynamics: Before crafting your proposal, observe ongoing discussions within the community about potential projects. This gives you insights into the existing competition and helps you make an informed decision.
PS : If you believe in a particular project, focus on delivering your best work rather than worrying too much about competition. Your dedication and effort will speak volumes.
Involvement
Actively participate in the community by interacting with others and assisting in project setups. Beyond showcasing your skills, this involvement helps maintainers get to know you. When you’re genuinely engaged, it reflects your commitment and passion, potentially giving you an edge.
Documentation: Your Guide in Open Source
In open source, think of documentation like the best guide. It’s not just a manual — it’s your map through the project. When you start contributing, make it a habit to read every piece of documentation available. It’s like finding answers to your questions before even asking.
Why It’s Important: Documentation is where you learn about the project, how it works, and how to follow best practices. It’s a problem-solving toolkit — most of your issues have probably been explained there.
Read Every Bit: Explore all the docs, from how to install to coding tips. They’re like breadcrumbs leading you through the project’s details.
Problem-Solving Helper: Got stuck? Check the troubleshooting guide or FAQs in the documentation. Need help with a feature? Look for detailed explanations and examples.
Project Setup: Embracing Challenges in Bitcoin Contributions
Setting up a project for the first time in the Bitcoin world might seem tricky, but you’re not alone. If you face difficulties, ask mentors or active community members for help — it’s a learning curve for everyone.
Ask for Assistance: Reach out for guidance; the Bitcoin community is supportive, and there’s always help available. Don’t let challenges discourage you.
Persist Through Challenges: Persistence is key. Overcoming setup obstacles is part of the journey. Take it one step at a time, and don’t give up.
Community Collaboration: Engage with the community. Forums and chat channels are excellent places to seek advice. Others may have tackled similar issues and can provide valuable insights.
Don’t Abandon Contributions: If the setup feels tough, resist abandoning your contribution. View it as a chance to learn and grow. Each challenge you overcome makes you a stronger contributor.
Stay Positive: Approach setup with a positive mindset. Embrace challenges as opportunities to enhance your skills. With determination and community support, you’ll conquer the initial hurdles. 🚀💻
Do drop a clap if you liked the blog