Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Just wondering how everyone keeps up with it. I mainly work with ASP.NET and Windows form, but I'm stuck using 3.0 for business reasons. So most of my self education is on my own time (weekends, which I like to do game programming, so I only have 3-5 hours a week to learn something new)

How do you keep up with the never ending supply of new content?

share|improve this question

closed as not constructive by ChrisF Feb 13 '12 at 11:41

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

2  
This is just a "List of X" question (as currently phrased) and therefore not that constructive. –  ChrisF Mar 20 '11 at 17:41
add comment

11 Answers 11

IMHO programmers put too much emphasis on the latest technologies. It's important to have heard of them so you know what to look up when necessary. However, the latest technologies change so fast that it's not worth learning about them in any detail unless/untill you actually need to use them. Instead, focus most of your learning efforts on the fundamentals.

share|improve this answer
    
+1: I totally agree. Concentrate on general concepts and paradigms, not on individual languages or frameworks. E.g. if you know Java, it is probably useless to learn C# (and the other way around). Try to concentrate on something that is really new, not on a technology that introduces lots of small features while using a paradigm that you already know very well. If you concentrate on new concepts instead of new languages, the number of new things goes down by a factor of 10 or even more. –  Giorgio Apr 10 '13 at 17:20
add comment

Experiment constantly

Reading is good, but it's no substitute for doing. If you read about something that you find interesting, say, Mercurial as a version control system then go off and attempt to use it in a project at home.

If it's a total headache to get it working to your satisfaction then you can reasonably expect the idea to wither and die, if not (like Mercurial which is a breeze) then it's likely to gain traction and you're up on the game.

Try to pick technologies and approaches that augment what you're trying to do on a daily basis. For example, Spring Roo shows promise as a rapid application development tool.

Remember that anything you learn typically has a half-life of 18 months so don't keep your knowledge to yourself.

share|improve this answer
6  
I've heard many people indicate that the half-life of 18 months isn't valid. I know most of the things I've learned over the last 10 years still apply to what I do today. –  Kenneth Mar 20 '11 at 15:47
    
@Kenneth I think your comment justifies a question unto itself, so I've put one up: programmers.stackexchange.com/q/60216/7167 –  Gary Rowe Mar 20 '11 at 16:29
add comment

Reading all the time. I get a pretty good dose of .Net and related technologies just by working in it every day, so most of my off hours reading is in completely unrelated technologies. The hardest part is the desire to master everything. You just can't. So, you pick your technologies based on what is applicable to your current work or what you simply have a strong interest in and accept that just having a passing knowledge of the rest is OK.

My goal is to be a jack of most trades, master of some.

ETA : I have a long list of blogs that I read, that I've collected over the years by finding a blog that interest me and then using their blog roll or links to other blogs to find new ones. You follow that practice long enough you'll find some really great reading.

share|improve this answer
add comment

Since there's an infinite amount of information for us to learn, it all comes down to determining the trade-off between time and the outcome (of spending the time to learn new concepts).

To discern what is worthwhile is a valuable skill that most of us are continuously striving to achieve. A simple starting point would be following blog posts by renowned people in the target field. I find that checking the popular questions on SO gives me great results in a short amount of time. Anything that I feel should be delved into further would be followed up by copious amounts of Googling.

share|improve this answer
add comment

READ!

Find any sources you can to read constantly. When new technologies are mentioned that you don't know about, go and research those specifically. Sites like this are great because there are such a wide range of people on here who are constantly mentioning different technologies. Other sources could be technology news feeds, programming magazines, conferences, etc.

EDIT: I guess I never explained why completely. I think this is the best approach because it allows you to get exposed very quickly (and for free most of the time) to lots of different technologies. Then you can briefly review those technologies for a general idea of what they're about before actually investing huge amounts of time learning them. Not all technologies will be of interest/use to you so this allows you to filter fairly effectively IMO what you'll invest time in and what you won't.

share|improve this answer
    
Reading is not enough. You must actually try out the things you read... –  user1249 Mar 20 '11 at 19:12
    
You can't try everything. I mentioned that it was a means to filter what you do spend time on. –  Kenneth Mar 20 '11 at 20:59
    
Read, and then 12 months later when you have the chance to experiment you have to read again... –  Mantorok Feb 13 '12 at 11:43
add comment

I tend to practice just-in-time learning. I apply the YAGNI principle to new technologies. At this point, there has to be a valid business case for learning a new technology. There are only 24 hours in a day, and I need to make the best use of my time.

share|improve this answer
    
totally agree! when you are under pressure to learn - you do it better! Yagni - is #1 for coders –  ERJAN May 4 '13 at 6:26
add comment

There are several ways I stay always bombarded with information:

  1. Subscribe to the most influantial programmers blogs http://www.noop.nl/2009/09/top-200-blogs-for-developers-q3-2009.html
  2. Follow them on twitter.
  3. Read stackoverflow and other stackexchange websites, don't forget to read most voted questions http://programmers.stackexchange.com/questions?sort=votes
  4. Go to local techmeetups and conferences.
  5. To be really bleeding edge, you can subscribe to mailing list, for example to know latest news about jQuery http://forum.jquery.com/developing-jquery-core

This 5 steps will keep you fresh and give you a huge amount of info! :)

share|improve this answer
add comment

I subscribe to Wired UK Magazine, read blogs, buy new books, listen to Podcasts, participate on forums.

Sometimes it feels like losing battle, but just keep going.

share|improve this answer
3  
+1 for feeling like a losing battle. I know that feeling. –  msvb60 Mar 20 '11 at 20:50
add comment

I generally follow-up on screen casts from conferences. You can always find relevant discussions on new langue features, tools, frameworks or other technologies, depending what the conference revolves around. This can give you some great insights into the new: the basic philosophy and the premise for the problem it addresses. This is like nurturing your panoramic view from the plateau.

If I'm familiar with a certain technology and have used it in the past, even briefly, I generally subscribe to the release notes, just to keep tabs on the latest events.

Afterwards, I'm with @Jonathan Khoo on the matter. I pay attention to new tags that pop-up on SO, since this is the most accessible way to recognize new trends in the developer community.

share|improve this answer
    
any links of screen casts conferences, where to find them when they happen? –  Spooks Mar 11 '11 at 0:09
    
can you give links to screencasts you watch? –  ERJAN May 4 '13 at 6:27
add comment

I mainly read up on technical news blogs. I especially like http://www.techmeme.com since it's an aggregator. If I then hear something interesting on there, like a new technology or language, etc. for example "adobe wallaby" I'll go and google and learn more about it.

Also every once in awhile I'll create a side project in a new language or technology. I'm a .NET developer by trade, but I've recently dabbled with iOS programming. And now things are pointing heavily to HTML5 so I'm going to look towards that.

share|improve this answer
add comment

When I get a chance, code up a small project using the language fad of the decade.

I wrote a UI simulator for an embedded device in Java to become more proficient in Java.

My current assignment is to write an application using C# to talk to a test fixture.

I've also dabbled a bit with HTML and my own website.

I still have yet to learn Python, Ruby, Ruby on Rails, ASP.NET, Objective C, etc...

Don't worry about fad languages. Become more skilled at your fundamental computer languages and learn the fad languages as you have time or get paid opportunities to do so.

share|improve this answer
add comment

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