The money your father may be earning is because of his 22 years of experience. You cannot compare a 22 year experienced person which 2-3 or even 10 years experienced person.

All fields are good careers. Be it civil engineering or computers.

To be a good software engineer you need to get experience first.

Writing a few programs and getting praise from Ur teachers will make u feel you are at the top of this world but remember that the real world is completely different than you think. Come out of your college and you will not even be able to write a simple program the real world demands.

Only way of building a good career and earning money is to get good experience in whatever you do.