I feel I am well fit to be involved in a discussion about programming/development careers.
I graduated from university last year with a bachelor of science in Computer Science and I know what job search is like.
Firstly, if you do not have any college/university education, good luck getting any kind of job. Obviously, it's not impossible to get a job without a degree; but it's extremely extremely extremely difficult. So, for most cases, if they see you do not have a degree and you're applying for an internship or entry-level position, they're throwing out your resume. You can be really smart, but if you have nothing to prove it, then forget it.
Also, the chart is for US-based jobs. I don't know how much pay difference and hiring demand there is in other countries compared to the US, but this chart is entirely US.
Entry-level programmers are NOT going to make $90,000 for writing C++. If anyone is making $90,000, it's senior-level developers who have about 10-15+ years of related work experience. Entry-level developers are probably looking between $50-70,000. And it's not going to be easy to get an entry-level position if you have absolutely 0 prior work experience. You're probably thinking, "How can I get a job with no experience if I can't job to get experience to begin with?", there's this thing called
internship. Internship is designed to help you get experience by working with other experienced members who mentor you to success.
Secondly, high-level, Fortune 500 companies are going to pay more than your local companies, simply because they have the money. You're going to get MUCH more money working at Google or Amazon than some local company. However, because EVERYBODY wants to work at Google, Facebook, Microsoft, or Amazon (The Big 4), it is MUCH harder to get into. I have not applied to Google yet, but I hear nightmare stories about the hiring process. I've heard that you have to do 8 hours of interviews and answer really tough technical questions related to programming and algorithms on a white-board and no computers are allowed for the initial step and a lot of people fail to succeed this step; but if you succeed, then the next step is more interviews and even harder questions. It is grueling and can take up to 2 weeks go from reading your resume to hire.
Game development is a very fun field to get into; although, it is probably the most difficult among software/application developers, mobile developers, web developers, etc. Game developers have to know A LOT more and A LOT more math. Entry-level positions are very rare; most game companies straight-up hire senior-level developers. If you want to be a game developer (like me), it's totally okay to start your career getting some experience in other things, such as software/application development. When you build your resume with experience and skills, game companies will definitely take you into consideration.
I did notice that C# is not listed on the chart. C# is HUUUUGE in the corporate world. Any position involving the .NET framework will most likely require you to know C#. .NET is very popular for enterprise software/application development, so the demand is really high. ASP.NET is C# as well. If you know C#, you will see $$$ flying at you. C# is one of the fastest growing languages in the market; especially now that the .NET framework is open-source.
Web developers don't make as much money. Web development is very popular, therefore the demand for hire is low. Plus, the learning curve for web development is shallow, it's so easy anybody can be a web developer. Just know that backend programmers make more than frontend designers.
Obviously, everything varies by demand, by skills, by experience, by job description/requirement, by company, by location (in US or abroad), etc. Everything I've stated is based on my general opinions and findings when I observed the job market.
@Ranyo13 If you want to get into programming and development, take CS.
IT is just rookie-ass shit, you'll do absolutely 0 programming if you're IT. All you do is assist people in using computers. Again, this is a general opinion. I've never heard of any IT person working on a project or do any serious programming. Computer science is 100% pure programming; it covers web development, mobile development, software development, game development, etc.