My Summer of Bitcoin Experience

27-08-26

Getting selected

I’m a person who loves open source software. And I’m also into programming so the obvious next thing is contributing to open source software. And as a student I look for things that connect me with other oss developers. So when I discovered Summer of Bitcoin, I knew this was my thing.

I had some prior knowledge of Bitcoin, but not on a protocol level. So I grokked the entire Grokking Bitcoin book in the next 3 days.

From application to selection, it was very rigorous. The application itself was a filtering round so you had to have a decent programming history. Things like your work on GitHub, technical blogs if you write, technical videos you make, etc. were the main filtering criteria here. I had some good activity on GitHub contributing to some popular open source software like kitty and sqlc so that got me selected into the…

…challenge rounds. There were three of them. Each round was basically a task to build something related to Bitcoin software (e.g. PSBT parser and visualizer), and then you would submit your code as a GitHub repo and it would be evaluated on various bases like passing some pre-configured tests, code quality, git usage quality (commit frequency, commit messages and all those things). These rounds were, to say the least, HARD. Mainly because you had to write parsers that work on bits and then you had to write tens of them for parsing different kinds of things. There were many choices that you had to make on your own. And you had to pass all of the pre-configured tests. There were many edge cases where you could fail. It was the most intense part of the entire selection process.

Then came the proposal rounds. This part was very tedious, there were so many attractive projects. I ended up choosing strfry for two reasons. One, I wanted to work on something that involves C or C++ and two, I found the concepts behind Nostr fascinating. So I started reading the strfry codebase, making some small contributions and interacting with the maintainer.

Ultimately, I was selected for working on things related to extending NIP-42 AUTH in strfry!

Commitments and Decisions

Summer of Bitcoin requires a full-time commitment for the duration of the program. Participating alongside other major obligations is discouraged, and for good reason: the workload demands consistent effort throughout the program.

In India, mid-July also marks the beginning of on-campus placements, when engineering students typically start preparing intensively for recruitment. So I got a bunch of suggestions from people around me to prioritize placements. But was this even a question for me? I had already been consistently writing code throughout college, so I never felt the need for placement-specific preparation. I didn’t want to put my summer on hold for a recruitment process whose outcome was uncertain. Given the opportunity to work on a top-tier open-source program, committing to Summer of Bitcoin was an easy decision.

I can confidently say that fully committing to the program was one of the best professional decisions I’ve made.

The Internship

You can read some details about my work here. I made a conscious effort to stay consistently engaged throughout the program. There were days that I would go experimenting with different ideas and in the end coming out with nothing fruitful, but overall I achieved what I set out for.

The experience itself was incredible. I had the privilege of working closely with Doug Hoyte (my program mentor and the creator of strfry), an exceptional programmer and teacher. You can check out his work on hoytech.com. Collaborating with experienced engineers like Doug is easily one of the most rewarding parts of the program.

Being part of the Summer of Bitcoin community comes with great long-term perks: increased visibility with Bitcoin-focused employers, connections with incoming cohorts, and ongoing support from the organizers. It has been my most rewarding experience as a developer so far.

Future

While I don’t have every step mapped out yet, I plan to continue exploring the Bitcoin and blockchain space while seeking opportunities at organizations building in this ecosystem. Above all, I look forward to keeping up my open-source contributions.

If you have any questions related to Bitcoin, blockchain or the program, please let me know. Thanks for reading!

Credits