Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I'm giving a talk in April 2011 on "Developer English" and showing my non-developer audience, mostly English teachers, various diagrams to explain how developers see their industry etc.

One of these diagrams is "Hot Technologies", basically, if you want to become a developer, what technologies should you learn to have the highest chance of (1) getting a job (2) making a good salary, and (3) work with the most exciting technology.

This is a draft I made just to get some ideas out, basically C#, PHP, Java are where the bulk of the jobs are. Mobile development has a big future. JavaScript is becoming more and more important, and I want to list "minor technologies" such a Python, Ruby on Rails to the side, I assume e.g. that in general, there are a much smaller percentage of jobs in these technologies as in C#, PHP, Java.

How could this diagram be improved?

enter image description here


Thanks everyone for your suggestions. I included most of them in my updated graphic. Does anyone know of more Java technologies that would be appropriate here and could anything be added to the gaming technologies?

enter image description here

share|improve this question
People like to talk about how "nerd" is now cool. I guess if Java and C# (competing to replace COBOL), JavaScript (the new CICS) and PHP (the new RPG) are "Hot" and "Exciting" they may really be right... – Jerry Coffin Mar 7 '11 at 5:45
i think this is 3 different slides; see – Steven A. Lowe Mar 7 '11 at 5:48
Since you ask about gaming in particular again, I'm just going to reiterate GPU programming such as OpenCL / CUDA. – Garet Claborn Mar 9 '11 at 4:26

5 Answers 5

up vote 13 down vote accepted

I think the main problem is that your three criteria are almost mutually-exclusive. There may be plenty of PHP jobs, but they're neither high-paying nor "exciting". Python might be pretty exciting, but there's not a whole lot of jobs, etc.

But other than those problems, I don't see too much wrong with your diagram. Personally, I would include C++ in there (I don't think C++ is any less of a "hot technology" than, say, Java), because it's got the "high-paying", "exciting" jobs covered pretty well (for example, embedded software, video games, etc would count towards "exciting", IMO).

share|improve this answer
+1 for PHP being neither exciting nor well paid. – Bobby Tables Mar 7 '11 at 8:01
+1 for mentioning C++. – jprete Mar 7 '11 at 20:31

Interesting diagram but you have no space for Oracle or MS SQL Server. In my experience those using C#/ASP.Net generally end up using a MS SQL Server DB and those with Java Oracle.

Could you show the relative importance of each language by displaying relative to each other like a cloud tag?

Also if you are talking about Drupal, Joomla etc you need to mention that these are a CMS and/or a frame work built on top of the language whereas C#, Java, C etc are full languages.

In terms of mobile development you are only thinking of Apps for Google OS/Iphone. With the recent deal between MS and Nokia MS could be become a mobile player.

No mention of desktop, embeded or mainframe (they still exist) developers.

What about enterprise frameworks such as SAP ?

share|improve this answer

You might as well use Klingon as "C++, JavaScript, Python". Seriously, do you think anyone in the audience will understand the difference in programming languages? I see a bunch of smiling faces on nodding heads as the entire content goes over their heads.

I suggest you point out the futility of chasing the latest hot development niche. Point out how 10 years ago everybody and his brother was creating .COM companies with zero chance of profitability and how that same insanity is currently in vogue in mobile.

share|improve this answer

How could this diagram of the current most lucrative technologies be improved?

Without reading your text I have no idea how to read this diagram or what you're trying to convey. A good diagram tells a clear story without a large block of explanatory text.

You are using space, size, colour, lines and shape each to convey different things. Just looking at this, I have no idea what each of those conveys. What do the lines mean? What does the colour mean? No clue. The people looking at the slide won't know either.

Figure out what is the story you're trying to tell, and then tell that story in the diagram.

Also: use numbers. You say that this data is based on looking at job postings. Quantify that. How many job postings? Can you graph the job postings in some way to clearly and accurately convey the actual magnitudes of the quanitites you are using for your measurements?

share|improve this answer
Thanks, I incorporated more meaningful colors and lines and removed the text to let the diagram speak for itself. This is just one diagram of ten which will serve as "general roadmaps" for non-developer English teachers who are teaching IT students English and hence need to know the general terminology and concepts and trends of our profession. If I can find some simple stats that would help them remember which technologies are the most popular, etc. I'll do that, but in general I just want them to have a genearl idea of "which technologies are hot" as they communicate with developers. – Edward Tanguay Mar 8 '11 at 1:13
+1 for quantifying. – Garet Claborn Mar 9 '11 at 4:23

C++ should definitely be included. It is the base of much modern programing.

I think OpenCL and just general GPGPU tech should go up there as well. It is an emerging field with a great deal of potential. Not only in areas like game development but also medical imaging, real-time processing, astronomical research and various other fields.

Faster, more powerful programs == money is on the way.

OpenGL and DirectX. jQuery should probably go with JavaScript, JSP with Java. JOOMLA is rather popular.

Some of these projects pay well but may be harder to find. Still, high paying jobs are out there in these areas and often if you can find an organization that doesn't realize they need it yet, it can be very easy to find work.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.