Sep 21, 2019 ~ 3 min read

Building products versus creative code

TLDR; me mulling about productivity vs creativity

Does creative fun exclude money making? I write code for fun and for work. But, starting a few months ago, I wanted to write code that makes me money outside of my workplace. This set on a me wildly different, aggravated mindset.

Code is no longer about experimenting. It’s now about picking the stack you’re most efficient in to get the product done. Experimentation is now moved above the level of the tech stack and onto the level of real world ideation. Unfortunately, now I can no longer play with rust, reason, or Swift all in the same week. Your first thought may be why do I do that anyways? No one can ever get better at something when they’re that divided. And you’re right. That’s for another blog post.

The problem here is more acute to building creative projects that can make me money. It’s less code and more research. I built the past 3 months on Blockstack, and while fun, I didn’t really get to exercise and stretch my engineering skills. The Blockstack competition was chosen because it was easily the fastest way to make some dough.

Maybe the happy midpoint was pushing the team to pick a tech stack outside our skill set. Here we go again though: productivity vs creativity. Did we want to sacrifice our ability and build an inferior product out of weakness? To build a product, good enterprise CTOs pick solid solid stacks like Java. I’m neither an enterprise nor a CTO, but the point is spending your creative budget accurately.

Creative budgeting is the team’s ability and capacity to solve new problems. When you risk a new tech, a significant portion of that budget is spent learning the tools versus being put to solving the business problem.

With Boto, we had the ability to solve Blockstack’s lack of a database. We had to turn their simple object storage into a database of sorts. Using rust, reason, or swift would’ve taken us 5x as long. We were right in our decision to do so. The product itself led us down this path.

The root of my problem then is the intention of the product itself. Am I looking to push out this product ASAP? Does this product involve some niche work like AR or ML that would require me to learn swift or python? Programming languages are tools in of themselves, created to solve their niche problems. Therefore, if I pick the right products, with the same intention of making money, it should already persuade me to pick the right tool for the job. There’s far more nuances to this but this will always be a good first smoke test.