What makes a good software project?

What makes a good software project? Realization of the day:

⒈ I actually enjoy building products.

⒉ If the backend for a product would take me less than a week, I don’t believe in such a product.

When a conversation about “product development” is exclusively about appearance & presentation. And not a single thought from, say, a ~15 minutes long part of this conversation is about data. Which this product is about, I’m out.

Examples of good products:

Google search, maps, GMail, Uber, Mixpanel, Tableau, AWS, online brokers, Kubernetes, Go rooms, programming languages.

Because building these requires carefully thinking through the workflows, most of which are far from trivial data-wise.Examples of what I don’t even consider products: weather-tracking chat bots, DocuSign, modern messengers (including Blind), Twitter, LiveJournal, Dropbox, Salesforce.Because in these projects the major concern is not how to build them, but “how do we best present the user with feature X, which we believe they need”.~ ~ ~Simply put, I want to work on products where it’s clear what is that the user needs, and why it is hard to make happen from the technological standpoint.

And I do not want to work on products where the main “challenge” is to make the user want to do some obvious thing.

Moreover, in a slightly better UX, and to have them enjoy the process slightly more. To this day I don’t understand how come DocuSign or Salesforce is even a product.

After all, they only exist because their “users” were too lazy to figure out which five features does their business process need, and then hire two good engineers to build those five-features processes in a bulletproof and effective way.~ ~ ~Addendum: I can totally see myself working on the technology part of, say, Telegram. That would be fun and exciting.

But I won’t be the guy designing the “product” part of it, as it’s, well, too simple. And thus too boring to my taste.Actually, if I would be the CTO of Telegram. I’d make the product part open source and let developers compete on the UI/UX part. Because the “product” part of Telegram can be handled by a bunch of teenagers. To my taste, it’s the tech behind that matters in this particular case.

Fall of Afghanistan

What makes a good software project?