Able engineers should recognize the need for a product and to see it from conception through to design and implementation. To do so, one needs a broad understanding of engineering. But now a days, engineers are becoming specialized in one specific branch of engineering, for example, electrical or computers engineering. This is resulting in the lack of innovative ability in young engineers. To face the future challenges engineers must be equipped with broad knowledge rather than constraining themselves to a specific field.
Though it’s practically impossible to master all fields of engineering in ones life time, but one should be able to understand basic concepts of all fields. It’s more appropriate for students should choose branch of engineering they personally find interesting rather than trying to predict what sector will be in “demand” when they complete their graduation. Irrespective of what sector will be in demand, there will always be demand for good engineers with broad knowledge.
I personally feel that, allowing students flexibility in selection of their electives and subjects, including allowing students to choose non-traditional subjects, may help to develop engineers who are able to handle technical, as well as social, problems. Versatility is the best quality of engineering study, if that is missed, in the name of specialization; there is no point to the study of engineering.
The most important skill you should acquire as an engineering student is to learn how to learn. You should know how to search on google. With the ever expanding internet world, you can find every thing you want to learn with the click of a mouse. Teachers/professors can teach you or demonstrate to you, but cannot make you to learn how to learn, only you can do that!