I never quite understood why it takes people n different iterations to get a design right. No, it is not surprising that they do understand Object Oriented Design, it is downright irritating that they learnt OOP all through their founding years, graduated in CS, have been doing this for life and still write software like every damn piece of their code is a masterpiece in itself. Look, I have no issues to your claim of having mastered the Object Oriented paradigm. I don’t even care how you code. I don’t care you know your algorithms or not. I don’t care what language you program in. I need to know you’d be consistent.