It is no secret that software development is one of the most popular occupations in the IT industry. However, despite the fact that many aspire to be one, large enterprises have indicated that they often struggle to hire software engineers and developers, largely because graduates, and professionals for that matter, tend to lack the skills required to fill those roles. Recently the National Employability Report concluded that out of the six lakh engineers that graduate every year, only 18.43% are employable as software engineers. The main challenges companies face while trying to recruit a software engineer include lack of experience, lack of job and technical skills, and lack of soft skills and workplace competencies. Therefore, while recruitments have increased slightly over the past few years, the total number of job postings for the same has nearly doubled. Moreover, due to the deployment of more complex technologies Cloud computing, Machine learning, and Big data analytics there will be a huge demand for the skilled programmers in the days to come.