and say that a 'real' developer is one who understands how constraints affect implementation and the impact design compromises have on robustness, performance and extensibility.
We'll all make choices other's think are 'erm ill-advised

, but the real key is understanding there was a choice and why the hell you made it.