DEV Community

Serguey Asael Shinder
Serguey Asael Shinder

Posted on

Start Badly, On Purpose

The hard part is rarely the work.

The hard part is the first ten minutes,
where the thing in your head
is still perfect
and anything you put down
makes it worse.

So you tidy.

You read one more document.

You decide you will start properly
after lunch,
when you have a clear run at it.

That is not laziness.

It is a standard,
applied at the one moment
where a standard is useless.

A blank page cannot be improved.

Only a bad page can.

So give yourself a bad page
as fast as possible.

Write the wrong version.

Name the function something stupid.

Hard code the value.

Put the query in the handler
where it does not belong,
and leave a note saying
you know it does not belong.

The point is not the output.

The point is that the problem
stops being imaginary.

Imaginary problems are infinite.

Real ones have edges,
and edges are where you work.

Ten minutes into a bad first pass
you will know three things
you could not have known
by thinking.

Which part is actually hard.
Which part you misunderstood.
Which part does not matter at all,
which is usually the part
you were most worried about.

That information cost you
one throwaway attempt
and it was not available
at any other price.

There is a quieter benefit too.

A bad start is a door
you can walk back through tomorrow.

Finished work is hard to return to.

Unfinished work pulls you in,
because the next move
is already sitting there,
obvious and small.

So lower the bar
at the beginning,
and only at the beginning.

Be ruthless later,
when there is something
to be ruthless about.

Most days do not need
more discipline.

They need permission
to produce something
you would be embarrassed to show,

which is the only reliable way
to reach the version
you are not.

– Serguey Asael Shinder

Top comments (0)