How often do we say "this code is impossible to change, it should be rewritten"? Sadly, the code in question can be our creation from a few years ago. What can we do to make the code more readable? To address this painful question I will dig into neurophysiology, cognitive intuition and source code, the origin of software complexity problem and how we can deal with it. The talk will follow decomposition, different ways to set navigation beacons within our code, how useful identifiers are crafted and how types are used as traps for future errors. Finally, I will talk about a "gradual" code writing technique that is not limited to a well-known "gradual typing".