First PR on the way | 2022 Dec 18-24

Got most of the way through my first PR on an LDK repository! Hopefully will be able to merge sometime after the holidays.

I think I made a great decision by targeting an issue on the ldk-sample repository. The issues on there are more low-hanging fruit, which allows me to build up my confidence contributing. I haven’t seriously written any Rust for a while so it’s helpful to work on a repo I can digest for the most part. I do feel weird about possibly wasting the main contributors’ time asking for review on my PR to a repository that is probably pretty good as is, but they seem to appreciate the help nonetheless and are really welcoming, so that’s nice.

It has been really nice to just work on actual software development as opposed to different exercises and homework for class. Throughout the week I feel like I iterated pretty well on my code and I’d say I’m pretty proud of how it’s ended up. I’ve definitely learned a lot about Rust this week, and I’ve been enjoying working with the language.

This week I also fully unregistered from my courses for next semester so I’m officially taking a gap semester! There was honestly a minute last week where I was looking at the repository and thinking to myself, did I over-commit to something I might not be able to do? But this week has been a great start, and has given me some first-hand evidence that my hopes of contributing are not so far-fetched.

If anything, this week I realized contributing to open-source is much more approachable than I thought. I think the most important thing for me was finding something I could help with that didn’t have too much overhead required to start helping. I’m not sure if there are always things for people to do that fit this, but I imagine they’re more common than we think. Even though the task I’ve worked on hasn’t taught me a ton about the actual lightning network, I feel like once my PR is merged I’ll have meaningfully contributed to the project, and that positive feeling is enough to motivate me to keep contributing—which will lead to the issues that start really getting into the meat of protocol development.

I see this gap semester as my time to ramp up as a lightning developer. I would predict it might take a month or couple of months to become productive working on a code-base that’s the size of something like rust-lightning. I think this gap semester will be a good testing ground for me to build my skills and get used to contributing, and then maybe I can execute really well on something this summer.

I really feel like these dev logs (as I’m now calling my 3-notes-a-day thing) are turning out to be a great idea. Really cool to look back on, cool to share with others, helps me be more intentional about my learning, and the best part is that they’re reasonably easy to do.

This next week I’m going to be visiting friends more so I won’t have as much programming time. I think I’ll probably try to start on another issue, but not too worried if I don’t make a ton of progress this week. These things happen slowly.