It varies a lot but in the USA a typical range might be $100,000 to $150,000 per year. However, there are many programmers making less than that and some making more. Some are also paid partly with stock options which can be worth millions if the company is successful but zero if the company fails. A lot of programming work, however, is outsourced to other countries where people are paid a lot less. The advantage for the company in outsourcing is that they can pay less; one disadvantage is that it may be harder to enforce nondisclosure agreements in other countries.