What were the best/worst things about being a Bitcoin Core developer?
I'm pretty sure I have a different take on that than most devs... I got called a "Bitcoin Core developer" not for writing a bunch of code - I hate C++ and try to avoid writing it whenever possible. But because I was active in peer review of ideas.
I also incorrectly got credit for being a "Bitcoin Core developer" for being involved in a lot of public discussions, etc. which are ultimately political in nature. And that's exactly why I decided to quit my "day job" and get into Bitcoin: I realized that Bitcoin would be inherently political because as a consensus system with limits, there would inevitably be political fights over the parameters of the system. In particular, blocksize, a debate I got involved with very early on. I personally like getting involved in politics and really like talking to people about tech, including less-technical people.
And of course, the people involved in Bitcoin Core are definitely a "best thing" about it. You get to hang out with very smart people doing very interesting software for very good reasons.
Now, as for worst things... Maybe the top of the list for me is having to write C++. :D It's a very complex, not memory safe language. Writing security critical code in it suchs. I much prefer writing Rust code, and that definitely has kept me away from contributing actual code to Bitcoin Core in a big way.
I think I might even rate that higher than getting sued by Craig Wright... We've been lucky to have a well-funded legal team. So that honestly hasn't been such a bad process.
reply
I want to get into Rust. What would you recommend to someone like me? My goto choice to learn a new programming language is to get something done with it.
But I don't know what would be the best project for learning rust? Something low level like sockets/networking? Or something totally different?
reply
Here's a good project to work through: https://github.com/danielabrozzoni/btc-azores-bdk-demo
It's a multiparty Bitcoin signing thing using taproot and lightning.
In general to learn Rust, the official resources are how I did it: https://www.rust-lang.org/learn
reply