Important Concepts Every Developer should know