Most engineering students in India are from a non-coding background. They get into a CS degree course by knowledge of Maths, Physics and Chemistry and learn their first programming language (C mostly) only in their first year at college; by this time they are already 17 or so.
After the first loss i.e. loss of years (by when an average US coder writes excellent code) the second loss comes from the unrevealed truth that coding is learnt by practice. Many students don’t like to code much, others that do learn the lesson very late. By this time (when the students know the need to do actual programming) they get to their final years when another horrible phenomena comes into picture; yes, you guessed it right the PLACEMENTS. This stuff takes into account your CGPA and knowledge of computers but they usually don’t check your code made by you in the past. Some challenging companies do test coding skills but on the basic of problem solving skills.
Only a few of the engineers get into good companies. As a result there are a lot of students who have their dream of a high salary crushed down. They take this as an epic fall and don’t realize the immense possibilities that lay ahead.
We need to change this mentality. Placements shouldn’t be given such a higher place in society. There are many other resources to make a good life. Open Source is one such example