A programmer these days needs to do a LOT more than just program....that’s actually the part that requires the least amount of time.
A programmer these days must be part Project Manager, Business Analyst and Subject Matter Expert. He should know the jobs of the people using the Software better than they do.
If you are not all of those, odds are your job will be offshored, or you will be replaced by a foreigner who they just want to be a “heads down” coder for pennies on the dollar.
Excellent advice! And where the big money is.