I don't encounter overly clever code too often. But I do see excessive levels of abstraction all the time. Occasionally I'll see someone that doesn't use enough abstraction.
This is mostly what I encounter. An aim for simplicity with presumably the goal of clarity via abstraction that ends up with layers of layers of design pattern'ing that makes it damn near impossible to find where _something_ actually happens that isn't invoking another 3 line method.
Debugging is often a nightmare too, as you're trying to determine which abstract class is calling implementation of a given method, on top of a callstack 43 frames deep to accomplish nothing but code bloat.
It's my personal nemesis. I've finally just gotten to the point of memorizing "oh here's where the /real/ code is for this subsystem" after doing the interminable traceback enough times. Not a fan.
Debugging is often a nightmare too, as you're trying to determine which abstract class is calling implementation of a given method, on top of a callstack 43 frames deep to accomplish nothing but code bloat.