I ran into an old post by Philipp Lenssen on how good programmers are lazy and dumb. I totally agree with the title and most of the content. However, I believe that the lazy and dumb engineers are the better ones for a different reason:
Lazy: Because code is liability, and by writing a lot of code, you are taking upon yourself (or your team) liability to test, maintain, document and improve it. A lazy developer will first look for an existing solution that already has all the above and which is qualified to solve the aimed problem.
Dumb: Because a dumb developer writes code that is simple enough, for dumb engineers, just as he is, to be able to understand and work with. “Smart” engineers tend to write sophisticated programs that nobody but them or the like of them can understand. I guess it makes them feel smart. Dumb engineers look for simple, encapsulated, loosely coupled solutions that anybody can understand.