UNDERSTANDING HIGH-LEVEL DESIGN VS. LLD : THE DESIGN DIVIDE