About $100,000 a year. That's the answer if you have been programming for 4+ years and work in a major tech hub like the Bay area or NYC. Of course, your mileage will vary. Your salary is dependent on your skill level, your experience, and your negotiating power.
Most programmers will make between $40,000 and $120,000.
Junior programmers or people starting out in smaller cities can expect to make around $30,000-$50,000.
Most average programmers are bringing in around $60,000-$85,000 a year.
Senior programmers will typically reach $100,000.
And highly valued senior programmers can easily make $120,000-$150,000+.
Some programs are even granted stock options or stock units in the company they work for. The first engineering hire for a startup can get up to 5% of the company, and if the startup does well that can turn into millions.
Programming can make you some solid dough, that is for sure. But not every programmer is making six figures, and I don't personally know any programmers who have made millions. In small towns, even good programmers might not make six figures. The salaries can vary wildly depending on what city you are in. But in Austin, TX, New York City and the Bay area, and the salaries in those three places are very similar. And from what you can see on websites like Glassdoor, most mid-level programmers are netting between 60k-100k.
Of course, it's not just about how well you code, it's about what language you are using. To maintain market salary, it is important to stay up to date with programming languages. Languages change fast, and in our industry, you will go through 5-10 languages in your career. If you do not keep up with it, someone new will come in to fill your shoes.
In high school, A man had a computer science teacher named Mr. Evans, and he would always tell them stories about 'being in the industry'. Mr. Evans said that they will hire you for Fortran, keep you around till you are 40, then fire you. He said Fortran was the greatest language invented and everything that came after it sucked. But when we'd get home from school we would play with C++ and Visual Basic, two of the most popular languages at that time. If Mr. Evans would have learned C++ or VB, he probably could have gotten a better job, but instead, he was stuck teaching high school kids. Poor Mr. Evans was definitely not making 100k.
So you see, there is good money you can make programming. It can be challenging to learn how to program, but once you do it is very rewarding. You won't get paid like a doctor, lawyer or banker, but you (usually) won't be expected to work insane hours, defend murderers or swindle people for money.