He is a entrepreneur and a software architect from Tel Aviv, Israel. He is also a technology freak with about 20 years experience working with computers. He is currently working on his first private initiative in the area of software development tools. His vision is to maximize the abilities of software developers by providing pragmatic tools that enable them to get fast results. Zviki has posted 36 posts at DZone. You can read more from them at their website. View Full User Profile

Which Technology Should I Use Next?

04.14.2009
| 6371 views |
  • submit to reddit

That's always a tough question. Java or C#?  Ruby or Django?  Flex or Silverlight?  Drupal or Joomla?  In some cases, you need to implement and use the technology. In other cases, you have some spare time and you want to invest in learning a new technology that will prove itself useful. In my case, I need to extend nWire to new languages and frameworks and I simply need to decide which technology has the greatest market potential. 

I'm an innovator myself. However, in a world with thousands of options (many of them open source), following the herd means you will get better support and your selected technology will continue to grow and evolve with you. You will find more examples. You will find qualified people familiar with the technology. Needless to say, the features are only a part of the overall score when it comes to picking your winner. 

You are reading this article, which means you read blogs. You care about new technologies and you probably get a good sense of what people are discussing. That "sense" is not something you want to trust, because:

  • The blogosphere has a very viral nature. It is possible that a very small group is making a lot of noise. (ehm.., cough... Scala...  oh, just kidding, don't flame me)
  • You probably have an RSS subscription list of technology oriented blogs (or you simply follow DZone or other aggregation service). That's great. That means your sources are limited to a specific group of people posting to these sources.

The technologies you will encounter could be the latest and greatest. But, having hype around the technology does not make it mainstream. 

One of the best tools for measuring trends is Google Trends. It compares search volume and estimated web site visitors. The fact that people are reading and searching for a technology, again, does not make it mainstream. It is much better than tracking the blogosphere, but it still very hype-infected.

Here's an idea: searching for trends in job postings, also known as Job Trends. The results cannot be affected by hype. People who post wanted ads already chose the technology and they are now willing to pay for a person familiar with it. Putting money on the table is one of the strongest indication that people trust the technology. It simply does not lie. 

I found two good sites for conducting my research: Indeed.com and SimplyHired.com. Both are simple to use and the results are usually close. 

Here are some examples:

Very interesting stuff. Here are some caveats to watch out for:

  • Make sure you are searching for all the terms people use. For example, people hiring ActionScript developers might write this as "AS3". 
  • Job ads may contain acronyms or words which have different meaning than what you might think. Searching for GIT vs. SVN is completely useless. In the Adobe Flex example above, people may just write Flex. However, Flex has other meanings.  
  • To complete the above example, people do not hire for every technology, even if they use it. I'm not sure how many companies hire dedicated SVN or GIT experts. 

To stay on the safe side, it is best to go over some of the job ads and make sure you are looking at the right data (for example, here are some GIT jobs and some SVN jobs).

If you have some good examples for technology comparison, let me know in the comments.

From http://blog.zvikico.com/

Published at DZone with permission of its author, Zviki Cohen.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags:

Comments

Thomas Mueller replied on Tue, 2009/04/14 - 2:38am

> which technology has the greatest market potential.

Scala and Javascript.

Michele Scaramal replied on Tue, 2009/04/14 - 4:31am

I agree on your idea of comparing the popularity of different tecnology using job ads. Here is a good site to investigate the trends. http://www.itjobswatch.co.uk/

Martin Wildam replied on Tue, 2009/04/14 - 5:32am

I am not sure if such trend analysis are really giving a good long-term view of the market. It can also mean that a lot of people are leaving a particular field to work in another realm and therefore a lot of jobs get to disposition for maintenance of legacy systems. And further I can see that e.g. the European market is not really represented on the links you mentioned (just my intuition from doing some searches).

I tend to rely on some hard facts that are interesting for companies, which - IMHO can be for example:

  1. Being on the save side in long-term investment (in the way that you don't want to bet on something that is just a hype).
  2. Platform independence (as you might not be sure what the future market of OSes will be like - this point is also closely related to point 1.).
  3. Having just one language that can be used for all IT requirements in the company (so you don't have different islands and everybody can easier work on every project).
  4. Minimizing deployment and support issues (this is one major work that affects many IT departments).

All the above are real considerations of companies heading for the future. Even if it might be currently only a few companies really thinking that way, from my point of view these considerations are pretty logical.

And Java fits very well here I would say. C# less, but including Mono maybe it would be similar.

Philippe Lhoste replied on Tue, 2009/04/14 - 6:44am

Interesting, although I fear the two job sites you mention are americano-centric. In France, for example, trends might be very different.
And you are right to pinpoint the issues of using a generic English name for a technology: I use Processing for coding small programs, googling for that is painful. Same for the Fan programming language, to the point authors think they should change the name... :-)

Craig Gabbadon replied on Tue, 2009/04/14 - 8:45am

You have a minor typo in your links comparing job listings of Abode Flex vs. Microsoft Silverlight vs. JavaFX.  It should be Adobe instead of Abode (the results look a bit off right now, hehe).

Developer Dude replied on Tue, 2009/04/14 - 3:08pm

I have used Job Trends on Indeed.com for some time now to help decide which areas I should concentrate in - more relevant to getting hired than Google trends. I don't compare Java to C#, I compare Java to .NET

Alex(JAlexoid) ... replied on Tue, 2009/04/14 - 5:17pm in response to: Developer Dude

I don't compare Java to C#, I compare Java to .NET

 Yeah. Comparing Java to .NET is like comparing C# to Java. .NET is the whole infrastructure with all the languages, etc.

The real comparison query would be very hard to construct.

Just for example, .NET probably would include any job posting for work with IronPython, VB.NET, F# and so on. While Java side would not include JRuby.

Mike P(Okidoky) replied on Tue, 2009/04/14 - 7:37pm

I'm lobbying for clean non convoluted Java that others can understand. I can hire people off the street to service it, and work that others do on it is easily understood by everyone. A safe investment.

john green green replied on Mon, 2009/10/26 - 3:27am

You have a minor typo in your links comparing job listings of nike shoes russia Abode Flex vs. Microsoft Silverlight vs. JavaFX. It should be Adobe instead of Abode (the results look a bit off right now, hehe).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.