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

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Possible Duplicate:
How do I improve my coding skills?

I was asked this (What is the best way to stay on the cutting edge of Software Engineering?), and it's really bothered me that I didn't have a good answer. There are really two parts to this question:

  1. Where is a good place (websites - magazines) to go to learn about emerging technologies, frameworks, design principles, etc?
  2. How can I get a good feel on which emerging technologies will be adopted by "the industry?"

I realize the second will be harder than the first since no one has a crystal ball, but any advice would be welcomed.

share|improve this question

migrated from Mar 1 '12 at 3:04

This question came from our site for professional and enthusiast programmers.

marked as duplicate by gnat, ozz, ChrisF Mar 1 '12 at 12:05

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

Not really sure this belongs in the Java tag. – parioscreations Mar 1 '12 at 2:50
@jmquigley - we're trying to clean up the career tag - see this meta post please don't recreate it. – ChrisF Mar 1 '12 at 12:06

To stay on the cutting edge of software development you need to:

  • Have a very open mind and be willing to discard older practices.
  • Read new books continually. I read about 1 a week. Yes that 52 a year. Some I browse, others I re-read.
  • Join and attend local user groups.
  • Expand your network of technology professionals that you talk to to share thoughts and new knowledge.
  • Find the leading websites for the technologies you are interested. Read the spec, new bugs, documentation about new features.
  • Google the technology. For instance google "new java features". The results are great.
  • Use the Stack Exchange network of sites to see what the latest and current answers are.
  • Pay attention to how current answers are. Sites that have answers and guides that are more than 2 or 3 years old should be treated with caution as the current pace of change is blistering (but don't worry, it will speed up soon).
  • Buy at least 1 new pc every year. If you can afford it of course.
  • Use multiple technologies. I use Windows, a Mac and Ubuntu every day. The exposure to different technologies and different applications of the same technology is eye-opening.
share|improve this answer
How to know when Google gets updated? – Ubermensch Mar 1 '12 at 11:32
I am asking how to get updated when Google updates its technology, not its searches – Ubermensch Mar 2 '12 at 4:03
Google updates it technology constantly. You really need to be more specific about what you want addressed. As stated, this is a diversion from what you need. Move on. :) – junky Mar 5 '12 at 8:05

You can subscribe to industry journals such as ACM. They typically touch up on the latest ideas in the field.

If you are interested in a specific field, there is typically literature relevant to that sector of software engineering.

It is not always easy to determine where the industry will go, however you can generally tell which technologies show promise and which do not. Use this as a gauge to see which technologies you think the industry will adopt.

share|improve this answer
+1 for ACM. It is one of the best values in the industry. – jmq Mar 1 '12 at 3:56

This might sound corny, but answer or read questions here at Programmers or SO.

If you find something interesting that you have not encountered before: Bookmark the question and come back when there are some answers.

SO is the only site that I'm frequently visit and I've learn a lot by doing just so.

share|improve this answer

One good way is to look at relevant job descriptions, its a good way to get a broad view of what technologies and skills are being used or are sought after in the industry.

share|improve this answer

I personally like Hacker News - lots of interesting new ideas in software engineering / technology get posted here every day. It's worth noting though that the emphasis is much more on practical innovations that you can use in startups rather than academic theory, but I think that is a good thing :-)

If you are specifically interested in industry and the Enterprise Java space as suggested in the question and tags, I also find JavaLobby to be pretty good.

share|improve this answer

To learn more about emerging technologies and frameworks, look at the world around you. Engadget, Wired, you don't need magazines when you have the Internet. Subscribe to podcasts, like Engadget and Windows to learn more about emerging innovations in the world. Might even interest you too.

To get a good feel on what technologies will be adopted by the industry, think of a certain type of innovation and think, "How could coroporations around the world use this product?" For example, the Asimo, a robot. Robots can perform surgery in hospitals, as computers are very precise and Asimo could, if he was a robot nurse, also take human doctor's requests and store them to a database.

As you can see, all you have to do is open your eyes to the technological world around you. Go on websites and let your imagination run wild.

I'd start out by going on Engadget and reading some articles that interest you. A paper is more fun to right if you are interested.

share|improve this answer

I think one major thing you want to do is be active. Which is to say don't just go to user groups, but sign up to give a talk every so often. Don't just watch screencasts, make them. Don't just read books, write them!

I assure you that every editor at a major publisher (O'Reilly, the Prags etc) has a list of topics on which they would be thrilled to publish a book if only someone would approach them to write it.

This is of course work but it ensures that not only will you be on the cutting edge but that people will know that you are.

share|improve this answer

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