Working on new features or tackling technical debt
One of the things that I find the hardest when working on Tuist these days is finding a good balance between adding new features and tackling technical debt. The most exciting part is always building new things. Indeed, yesterday I came across a piece of code to authenticate users with Apple Developer Portal using the internal API that Fastlane has always used. Part of me was eager to add that logic to Tuist for future ideas that we have in the backlog. The other part of me was thinking that I should rather spend time fixing issues and working on some technical debt tickets that are necessary before continuing the work on some features like cache. What should I do?
I'm not sure. Most of the times I lean towards the former because I'm devoting my free time to the project and I want to work on exciting things. However, I do it thinking that developers are getting a bad impression of Tuist due to tiny flaws that shouldn't be there. I like building great user experiences, and flaws defeat any great worked we might have put into building Tuist.
I don't have a perfect framework on how to do this yet, so I'll continue exploring and finding a more sustainable relationship with open-source.