views:

820

answers:

19

In 1996, anyone who learned Java was one step ahead of the curve. An "experienced" high-value Java guru in 1998 had two years experience. Of course, just having it on your resume was not enough; you needed to be good; but it was certainly worth something to know it before everyone else.

What are the hot new technologies of the future? I am looking not just for interesting innovation, but for technologies which will be in real, widespread demand, and which are not currently popular.

+7  A: 

Google Wave

cletus
look interesting and very "Google-Based", wonder if Microsoft will do something similar
Omar Abid
Craving for it to get released. I _need_ that thingie.
Stefano Borini
Wow, IT is on top of things. Google Wave isn't even released yet and it's blocked!
Corey D
Fancy, but is it really goint to be a widely adopted technology like OOP, Design Patterns, Java, etc were in past years?
Joshua Fox
@cletus - well, after all - you can admit you were wrong :)
rochal
+18  A: 
  • Web and the technologies that make it work

  • User-centric design, stop being a geek, think of your users

  • Communication skills

  • The business of software


I know these are not technologies. It's the things software engineers proactively avoid. Technologies on their own, oh well, they come and go. If you spend your time on learning stuff that will be deprecated, you're working against yourself. If you build up a pool of other, well, let's call them cosmotechnological skills that you can take with you on the next ride, you only win.

Developer Art
+1 My initial thought was "think techniques, not technologies", but you've made that point much more clearly than I likely would have.
Dave Sherohman
+1 Cosmotechnological is definately the next big thing :)
Mark Dickinson
+1 Communication skills are something that our kind lack frequently. Several times I have seen a more technical person lose out to someone who is less technical but can communicate ideas in a clear, concise, and digestible manner.
shambleh
+1 for "cosmotechnological" and an insightful reply : )
Nelson
How is any of this "next generation technologies" rather than just general (but otherwise useful) advice? It's not relevant to the question.
cletus
Surely these are important, but for the narrow purposes of my question I am looking for new, future technologies.
Joshua Fox
A: 

Semantic web services

cdb
A: 

Of course it's impossible to predict the future but my guess would be that we will not see such a radical change in following 10 years as what we've seen for past 10 years. The technology became mature enough that we no longer struggle with technical issues as much as we've been to and there is no real demand for something radically new (think of Silverlight, WPF, new programming languages) as what we have now is good enough and works.

Therefore my guess is that usability, user interface and user experience will be major theme for following 10 years. Something that Apple is doing for ages now but that's because they are always ahead of its time.

lubos hasko
Famous last words. :)
Jack Leow
Wow, I'd hate to think that one (thoguh not the only) source of excitement in my career, new technology, will disappear.
Joshua Fox
That's exactly what Ford thought about the T-Ford. I guess they were wrong after all.
lbp
+1  A: 

Try to get more involved with scripting languages. I think they will become one of the most important ( if not the most important ) "technology".

Geo
+4  A: 

My employer of 4 years recently went bankrupt and the one thing I noticed in the UK job market was that there had been a phenomenal growth in c# work. 4 years ago there was java and c++ work, now that seems to have been mostly replaced by c# work. It is of course possible that the types of employers who are recruiting in a recession are those that use c#.

frankster
or that that is the new buzzword. When they hire you, you find you're working on some 'legacy' C++/Java code that they *promise* will only be for a short time.
gbjbaanb
Your comment is an interesting perception and I agree with it. I would say, the reason why C# is prevailing isn't because the language is better but the C# community is more helpful and less proprietary. Likewise, although Java is a free tool, the systems that it is implimented on are expensive, particularly the AS400. I have ten years experience and in my early years of programming Java was super exciting; however, I ditched the language because it was a pain to learn. Now that I have tenure, I see great importance in having a supportive and helpful community for a tool's longevity.
Brian
+4  A: 

In broad terms I'd say there are three predominant and interlinked trends which I believe will become increasingly dominant:

  1. The growth of the internet as the platform for delivering content and services. Increasingly the web is taking the place of the desktop, and this will continue (in no small part thanks to Google). However, it will not just be browser-based interfaces, but technologies like Adobe Air, Silverlight and maybe even Java will be used to deliver content straight to the user without the need for traditional installations.

  2. Mobile platforms, especially the next generation of phones, will also become a huge market. Again, the internet will be the platform that drives the content.

  3. Distributed, "cloud" computing will start to emerge.

Taken together I think you will see less and less traditional, thick-client applications that are installed on desktops. Instead, remote applications will be run on distributed clusters and asked via thin-client, browser-based technologies (often on mobile, small-screen devices), with all application data being stored online.

Dan Diplo
Uh huh, then why are browsers getting thicker and thicker?
Breton
+5  A: 

right now if you wanna try your luck making mega bucks in short time - learn the iPhone SDK ;-) once you are bored with it, try learning another thing which big money is involved... its a short life n so much to learn and explore ;-)

Raj
+7  A: 

Effective usage of multi-core systems. Wave of the future, baby.

xcramps
I agree. But actually already "wave of the present".
galaktor
+7  A: 

Parallel programming

Functional computing (some applications like WolframAlpha - not sure)

WolframAlpha is awesome.
Alix Axel
Yeah.. I was actually blown away by the way it is able to interpret and answer! Stuff like this might have been in research for a long time, but this is the first time I'm seeing a pretty little app like this.
+5  A: 

The Android platform. It may become Google OS soon.

grigy
+1  A: 

Become a Guru in any Unix-like system.

Very valuable, but not a new technology, which, in the narrow context of this question, I am looking for.
Joshua Fox
A: 

I don't think proficiency with hot new technologies is such a distinguishing factor in the jobs market as it was 10 years ago. Our industry is wiser and no longer believes that a new language or methodology will circumvent all the problems of the past.

I say this as someone who would like to believe that his current skills in C#, ORM/LINQ, AJAX, JavaScript frameworks and iPhone ObjectiveC are the route to instant fame and fortune.

If you were looking something new to read up on, everything I just mentioned is worthwhile investigating but the learning curve with ObjectiveC will have you weeping in frustration compared to a managed language like C# or Java.

Microsoft no longer has an end-to-end software stack arm lock on its customers so I am yet to be convinced that SilverLight, WPF and F# will go as mainstream as earlier MS offerings.

Edit:

In some respects trying to spot the next big thing is a lazy route to career development. If you are good then jump in where the technology is hot today and demonstrate your ability.

> Our industry is wiser and no longer believes that a new language or > methodology will circumvent all the problems of the past.So the widespread adoptions of Java anmd OOP in its time were unwise? They did not circumvent all problems, and in some cases were overhyped, but each was an important step forwards. Likewise, future technologies will not not circumvent all problems, but will be important steps forwards. I want to know what those technologiesd will be (while still working on all other important parts of my career development).
Joshua Fox
>lazy route to career development.As Larry Wall said, laziness is a virtue.
Joshua Fox
+4  A: 

The ability and experience to scale medium-quality web projects that gained huge traffic but still feature legacy code.

This includes strong nerves, Web development and OS Administration skills.

On the bottom line it includes

  • how to optimize and document legacy code
  • how to configure the database correctly (slaves, etc)
  • how to hit the database correctly (keys, optimized joins etc)
  • how not to hit the database at all (caching, memcache etc)
  • how not to hit the filesystem (memcache, ramdisks etc)
  • how not to hit the application server (varnish, squid, etc)
  • how to load balance your app (and database) on several servers
  • how to avoid race conditions

Especially interesting here are currently concepts like:

  • key/value based databases
  • cloud hosting that adjusts to the load of the site
  • erlang
Andreas Klinger
And ditto for any legacy system. Making stuff play nicely with legacy systems (and vice-versa) isn't new but most IT-related development work involves doing it. This will only get more prevalent in the future.
ConcernedOfTunbridgeWells
Surely these are important, but for the narrow purposes of my question I am looking for new, future technologies.
Joshua Fox
yes but i would go the other way round - search future problems - search for the current and future solutions - learn those new technologies if needed
Andreas Klinger
if you ask me directly: serveradmining: varnish, nginx, memcache, nosql dbs (keyvalue)code: python, java, scala
Andreas Klinger
+2  A: 

Microsoft WPF.

SP
Thanks, this could be a strong technology for the future, but certainly not one to build your career around liek Java in 1995 or OOP in the 1990s.
Joshua Fox
+1  A: 

It would be in your interests to be relevant in the coming years as a programmer/design engineer. To that end, you need to align yourself with the paradigms that will be used more and more:

  1. Functional programming (aligned with the multi-core paradigm shift);
  2. Declarative versus imperative programming, e.g., WPF (conveys intent of the program, which is more amenable to automatic work allocation by a multi-core-aware runtime).
Eric Smith
A: 

It is nearly impossible to see into the future but i don't think there will any other technological shift as big as java in 90s.

Asif
C# was a similar shift...
Neko
C# is microsoft java. Not that big a shift, aktchully
Breton
C# is an incremental improvement on java.
frankster
C# was not a conceptual shift, but this discussion is not about conceptions, its about technology.
Neko
Wow, I'd hate to think that it is the end of technological history!
Joshua Fox
A: 

I can't tell you what will be popular, but I know what won't be: VB.NET!

JonnyD
BTW still 10-15% of .NET projects are VB.NET. It is not a dead language and wont be, it will not have high stakes but will be supported until the end of .NET, I believe. IMHO, what is really a dead product, it is FoxPro :)
Bogdan_Ch
+1  A: 

There's no point in trying to guess the technology of the future. Even if you're pretty good at guessing, the technology that's gonna be hottest in 5 years might not even be in development yet.

Look at Java. It was released circa 1994 (?) and became hot around 1998. If someone asked in 1993 what technology to study, he couldn't even have gotten Java as an answer...

Technologies come and go and are relatively easy to study. If you have the core programmer capacities and an ability to adapt, your future will be precious whatever happens.

If you have to choose technology to work with, I'd go with whats already established and popular (e.g. C++/Java/Python), and not some fad that 'might' be the future.

Neko
In 1996 I took a course in Java. I kneww nothing about the industry, but it was clearly the "thing to do." And in 1998 with 3 months' professional experience, I got hired by a leading-edge company as a Java guru. In fact, I did know the technoology backwards and forwards, despite my lmiited experience, and it was a great career move.
Joshua Fox