I just read the unix principles and objectives and I found them precious for a software developer.
I work in a big company where horrible design decisions have been made causing us to fail almost every one of those points: our software has been designed by a manager (almost alone), there are no interfaces, no comments (he doesn't want them), we tend to write complex stuff with NO maintainability or spare of programmers' time.. furthermore we're reimplementing stuff already implemented by other departments... this is highly depressing.
I'd say that this guy is rather smart but that doesn't mean he's a good programmer and unfortunately is just worsening things.
I tried to give him a few hints but the answer has always been "this is how it needs to be done" without any chance of replying.
Is leaving the position the only acceptable way to deal with such a situation? I repute myself a somewhat competent programmer but I find myself spending more and more time finding bugs in what it's slowly becoming a debugging nightmare (debuggers won't help much here since we're doing some off-device stuff).