If there is a flaw in your programming code, your code will not work.
If there is a flaw in your circuit, your device/appliance will not work.
If there is a flaw in parts of your machine, your machine will not work.
Codes and machines won’t even start if there is a flaw in their design.
But structures work differently.
If there is a flaw in your Beams and Columns of your building, the whole structure will collapse once it has been made and when you are in it.
A failure can happen only when you use/test something. So in this case, failure may happen when you are actually using the structure i.e. when you are in it – imparting load to the structure. Bare failure due to earthquakes.
This leads to:
Loss of enormous time (in years) to build that building.
Loss of extreme cost (manpower, materials, land acquisition) to build that building.
And most importantly, loss of extreme number of lives present during the collapse.
Well, only structural failure does not lead to above three losses. Even machine and circuit failures can also result in losses but these are significantly higher in the former.
Keeping this in mind, a structural construction company does not let freshers design a full-fledged building. Because they cannot risk its design failure.
So, during the initial years of experience (1–2 years), a fresher graduate is sent to construction sites to manage execution. He may also be asked to draw/read the structural, shop drawings but the crude design work is taken up by highly experienced people.
The thought of doing site work at local/isolated places supervising workers under the sun all day with the thought of being from an IIT is a major deterrent to choosing Civil over other branches.
Another factor is extremely low salaries. If one happens to get the same amount of money while doing desk work compared to doing site work, why wouldn’t anyone want to go? Many of my friends in their final year prepared for GATE, IES and even SBI Bank PO exams.
Lastly, the slow growth and hike in salaries. You may work for 8 years and still end up having a raise from 6 to 10 lakhs p.a (or even less) compared to your friend who started with double your initial salary and is now earning triple or quadruple of your final salary.
In my opinion, the knowledge one gets in Civil Engineering and Mechanical Engineering is extremely interesting and fascinating involving a lot of mathematics. Even mathematical tools like Finite Element Analysis are used to solve some Civil/Mech. Engineering applications. Also, there are plenty of softwares available to apply such theories – Solidworks, Abaqus, FEMAP, ETABS etc.
But apparently, there isn’t much work one gets to do in these as a basic graduate. I am just lucky to get to work in these through a company which deals with offshore structures.
Nevertheless, there are still plenty of opportunities that passionate students do take – go for higher studies - MS/PhDs, join civil engineering consulting startups etc.
If you are up for playing with higher mathematics (differential equations, algebra etc.), softwares and to create something of your own – design a structure, civil is a good branch to take.
At least it will save you the cost of designing your own house, if nothing else.