I have known plenty of developers who may be great at coding a task but fall flat when architecting the same systems. There are often tradeoffs that must be made for business or technology purposes. These tradeoffs are generally product or engineering decisions that i would hesitate having a developer make.
There are just functional differences between developing software and engineering it. The sooner the software industry recognizes these differences, the better served we will all be.