What it takes to be an efficient developer | Software Development