Skip to content
Mohit Sharma
Color theme

Replace “Impossible” With a Better Question

When I catch myself calling a project impossible, it usually means one of three things: I do not know how to do it, I have not seen someone like me do it, or I do not yet want to pay the cost.

Those are useful objections. “Impossible” is not.

It closes the discussion before the work has started.

Difficult and impossible are different categories

A perpetual-motion machine is impossible. Learning a new language, building a product or finding an edge in a market is difficult.

Difficult means the constraints are real. It may take longer than expected. The first approach may fail. The result is not guaranteed.

That is a much more honest description of most ambitious work.

When I began building algorithmic trading systems, I did not know every component in advance. The same was true when I started a self-custody wallet with Rust at its core. I had not written Rust, worked directly with several blockchain protocols or built an iOS app of that complexity.

Calling the project impossible would have saved me from feeling inexperienced. It would not have told me anything about the project.

Ask what would need to be true

This is the replacement question I use:

What would need to be true for this to work?

For the wallet, the answer became a list: learn enough Rust to write the security-sensitive core, understand each chain’s transaction and cryptography model, keep the architecture modular, and create a narrow bridge to the iOS interface.

The list was long. It was also finite.

That question moves the problem out of the realm of mood and into constraints. Constraints can be researched, tested, priced and sequenced.

Sometimes the list proves the idea is not worth pursuing. That is still progress. “Possible” does not mean sensible.

Build your own evidence

Generic encouragement has a short half-life. Personal evidence lasts longer.

I remember the first profitable month after a run of losses, the first Rust program that compiled and the first time a system I built completed useful work without me. None proves I can do everything. Together, they prove that “I do not know how yet” is a temporary condition.

The fastest way to build that record is to finish small, difficult things:

  • Make the rough prototype instead of planning the complete product.
  • Learn the one concept blocking the next step.
  • Run a cheap test before arguing about whether the whole idea works.
  • Write down what failed so the next attempt starts further ahead.

Confidence follows completed evidence.

Keep reality in the room

This is not a case for blind optimism. Good builders are often pessimistic about details. They expect delays, look for failure modes and cut weak ideas quickly.

The difference is that they do not use realism as a polite word for avoidance.

An obstacle deserves examination. Maybe there is a workaround. Maybe the economics are wrong. Maybe the idea is legal but not operationally possible. Maybe the timing is bad. Each answer leads to a decision.

“Impossible” leads nowhere.

The next time the word appears, do not replace it with “I can do anything.” Replace it with a better question. Then look at the answers without ego.

Get the next note

I send an email when I have something worth sharing. Nothing on a forced schedule.