I’ve been involved with a ton of software projects over the last 20 years. Maybe you have seen even more over an even longer time frame. In my experience, the most solid projects with extraordinary longevity and utility always spend a significant amount of resources on the health of the codebase, the developer ergonomics, the developer productivity, developer convenience. I have seen a lot of projects over-emphasize mashing out features without doing the needful and many flame out fast as a consequence. I always lean towards “paying down tech debt” as a top priority. If working on the software is a huge PITA then everything will slow down and grind to a halt.
I admire projects like Django and React for their attention to making life easy for newb developers. I’d like to see Zcash move in this direction. How easy is it to get started? How long to spin up a proof-of-concept for a newb?
To continue the sausage metaphor, I’d like to see the tooling around the sausage making improved to the extent that we can serve up millions of high-quality sausages a minute to millions of customers. Right now you have to trek for days through the jungle to engage with the one sausage maker and wait for hours to get your one artisanal sausage handmade in the traditional way. Okay, maybe my take on the metaphor is a bit strained. But, I’d like to see the tooling improved to the extent that instead of a dozen people being able to make sausage, we can show many 1000s of 8th graders how they can make their own high-quality sausage with our awesome sausage-making tooling.
“Paying down tech debt” doesnt have a good connotation. Maybe some of the other phrases can be more palatable to stakeholders: developer productivity, developer ergonomics, developer convenience, codebase health. If the codebase is strong like bull it can thrash more ;9