Every tool you adopt
is easy to enter.
That is the product.
The signup is smooth,
the migration script runs,
the demo works in an afternoon,
and somebody presents it
as a decision that went well.
Nobody asks the other question.
How do we leave?
Ask it on the first day,
while you still have
the leverage of not having moved,
and while the answer
is still cheap to act on.
There are three versions
of the answer.
There is a documented export
that gives you your data
in a format something else can read.
There is an export
that gives you a proprietary dump
which only that product understands.
And there is a shrug.
The shrug is the answer
you need to hear
before you sign,
not after.
Data is the easy half.
The hard half is everything
you wrote into their shape.
Queries in their query language.
Logic in their workflow builder.
Permissions modelled
the way they model permissions.
Six years of assumptions
that only make sense inside
one company's product.
You can export the rows.
You cannot export the year
it takes to rebuild the meaning.
So keep the shape yours
where it is affordable.
Your own identifiers
alongside theirs.
Your own copy
of the data that matters,
even if it is only a nightly dump
in a bucket nobody reads.
Business rules in your code,
not in their console,
where they can be read,
tested and moved.
Then prove it once.
Run the export.
Load it somewhere else.
Not as a migration,
as a rehearsal,
so the answer to
can we leave
is something you measured
rather than something you assume.
You are not planning to leave.
Nobody is.
You are planning
for the pricing change,
the acquisition,
the deprecation notice,
the strategy that shifts
in a company that is not yours.
Lock in is not a trap
somebody sets for you.
It is a bill you agree to
one convenient decision at a time.
– Serguey Asael Shinder
Top comments (0)