1 life arc at a time

Building software brick by brick & New Internet

I think most of software engineering today has been reduced to building it brick by brick like how a mason would build walls. In the name of MVPs, we have probably lost the art of building good software. It's kind of sad to see software engineering being reduced to this MVP Mania.

Software MVPs have been reduced to templates with a vendor for auth, one for db, one for caching. We're not talking about db design or frontend here, but rather about building a good website. Earlier, websites were a place for a product to be listed, and then websites themselves became a product with all the SaaSification. But are they being built like how every other field does actual engineering?

Recently, I was at the Statue of Liberty and understood how they made two model plasters before they built the final version. Even for the models, they had done extensive design work to ensure they are in the right structure and expectation. Are we doing design at an MVP nowadays?

It's more of, just because we can build it brick by brick, we have been building everything like that. This approach has made software more attractive to everyone - you don't need to know engineering, just being a developer is good enough and you can learn on your own. Maybe software development doesn't need a degree, but the distinction between actual engineers and developers is widening every day.

I'm guilty of the same with doing microSaaS, but the more I do such stuff, it feels like we're not taking this profession seriously. Are people building products that they're actually proud of? When will we get back to building products like a craft?

I've built both quick MVPs and Enterprise applications. The amount of attention to detail, writing technical RFCs, ensuring our technical decisions are validated, and extensive design brings a satisfaction that I've never got in MVPs. I've never felt proud of building MVPs where I had always known it could be better.

When YC went ahead and told "launch first and then get feedback," it didn't mean build poor software - it was to validate the idea. A lot of people just took that advice and built half-baked software, justifying that speed matters. When I see products like Rabbit R1 getting all the negative feedback, I mean, I understand that they took the MVP launch advice, but for the love of God, people paid for it.

If Tesla can delay launches multiple times and then release a good product, it's because they cared about the product. "Build things that don't scale" is a fancy quote, but we're not going to build great things with that approach. All the B2B SaaS apps can still do that and generate their $1M ARR, get plateaued. It's like going against intelligence as a metric and rather going all in with instincts.

The Internet is a new economy which is wide enough to accept all such startups, but if we were to call the monuments of the internet, then what would it be? Have we really done any? Except when building life-critical systems, I don't think any of us ever built art for the internet, like "hey, this is a cool place you should come and check our site." I'm sure Minecraft felt like it, even Age of Empires, but only games, not actual places to look around.

Treating the internet as only a transactional market and application housing should change. Let people who want to make money build MVPs, but people who long for the magic in the internet, they should have a place to hang out. Not a place where everyone is scrolling Instagram reels and Facebook videos.

Newer internet experiences should be created every day, with dynamic world-building. I think more of this is possible with AI. We were not incentivized to pour hundreds or thousands of hours into the internet to build art, but I think now with the help of AI, it's going to be possible.

I'm looking forward to some exciting future timelines where we can return to treating software development as a craft, creating digital experiences that are both functional and make us want to spend some time.