Wow. I'm in exactly that situation now. I joined a small startup a few years ago where all the code had been written by one of the company founders whose plan all along was to work on it until they'd built up a strong enough business to take on an actual programmer.
Whenever he gives me a job to work on, he's already done all the time scheduling and promising to customers, and instead of asking me how long it'll take, he tells me when it's got to be finished, adding "can you get it done in that time?". If I try to say no, he argues me down, saying he could do it easily in that time. And, just as you said, he probably could, but it would be an almost completely unmaintainable mess.
It's made worse by the fact that I'm having to estimate how long it's going to take *me* to modify *his* code, and he just doesn't seem to understand why it'll take me longer than him to do it! Picture a single file project, 20,000 lines of Microchip PIC assembly code, no function header comments, not even any vertical spacing to hint at which labels mark the starts of functions and which labels are internal to functions; chunks of code processing arrays copied and pasted for each array element instead of put in a loop (he seems to go to great lengths to avoid writing loops); lots of copies of functions differing slightly from each other where he didn't seem to realize he could have parametrized one function; functions with names like "CALC_MAIN1", "CALC_MAIN2", "CALC_MAIN3" etc.; and, on top of all that, no specification document.
Reading this back, I'm shaking my head at myself, wondering why I'm even still working here.
Beware of Programmers who carry screwdrivers. -- Leonard Brandwein