Stackoverflow helps, but what else you suggest to keep your skills fresh, even if you try hard to invest part of your free time studying the new technologies, If you want to move on, recruiters used to focus on your immediate previous laboral experience and it becomes hard to demostrate that you are updated
views:
326answers:
8I'd recommend working on side projects, or contributing to open source projects, that use cutting-edge technologies.
Its a great way to learn the new technologies, and have something to show for it.
Hobby applications or work on an open source project are handy but there is another approach that I often take. Consider creating a code generator or other tool that helps automate and improve your actual work (e.g. a tool to generate DAL code from a db structure). This needn't be anything too elaborate but, because it is entirely yours, you'll be free to approach the design, language, framework, etc. any way you want. As a bonus, you'll end up improving your work productivity.
I have been in a similar position in the past. One thing I often did was build two versions of whatever feature it was I was working on - one using old tech and one using new. This allowed me to both come to grips with the new tech and get a feel for how well it worked against a real-world problem.
Of course, you should implement the old-tech solution first. And you may need some level of buy-in from your employer.
HTH, Kent
Find a project that you feel passionate enough about that you would complete it and then work on it in your spare time. I have created a bunch of little utility applications and websites over the years, all of which have been great learning tools and have been helpful to me or my family. Not only can you learn new technologies this way, but you can hone new techniques in technologies you are already familiar with. On more than one occasion I have applied a different technique or style from a personal project at the office.
After you get the basics of what you are learning down, open source would be a great way to continue to learn.
Pick a technology (or technologies) that you want to learn about and start a blog. Write about your topic once or twice a week. This will help you organize your thoughts and focus your learning. At the end of a year (or some other arbitrary time period) you'll have documented evidence of what you've learned.
Identify the most tedious hateful and repetitive part of you job and find a way to automate it.
Not only will this keep you interested but you will be surprised how many brownie points will accrue if you do it well.
First, I know it's hard to convince recruiters of anything (like, that experience with C++ does go a long way when they're asking for experience with Visual C++), so I'm looking at this from the perspective of the person who's interviewing you. You should be able to convince a recruiter that you have had experience with XYZ if you've worked with the technology in your own time.
Anyway, following an established magazine like Dr Dobbs Journal to work out what people are working with is a good way to work out which technologies are actually being used and have potentially migrated from the buzzword stage to the stage where they're actually being used. Plus of course looking at the usual suspects like stackoverflow.com, possibly slashdot etc.
I would certainly suggest that a hobby project or three are a good idea, possibly better than contributing to an open-source project. Keep in mind that there is nothing stopping your hobby projects from being open source projects, though!
The main reason why I suggest a hobby project of your own instead of contributing to another open source project is that it's a lot easier for an interviewer at any potential employer to look at the quality of what you do. Contributing to an open source project is great, but if it's a reasonably big project the issue is that it's hard to find out what your actual contributions were without digging through the version control system etc. Given that I as an interviewer am probably looking at interviewing 10-20 people for the open position, I've only got limited time to look at your blog (if you have one), your website (if you have one, and potentially all those embarrassing photos on Facebook - well, I don't but a lot of people do) and code you wrote if it's available somewhere online. So having a project all of your own or one where you are the lead developer makes it easier for me.
I definitely don't put a lot of technical backing behind your average recruiter. It's their primary interest to find you a job, not necessarily a good fit. I think they want to find you a good fit, but at the end of the day, it's their job to find you a job. Everyday that they spend looking for you, they're losing money. Anyway, enough about that.
From the potential employer perspective, working on side projects, programming for fun, community involvement in sites such as Stack Overflow, and open source are all excellent ways of keeping yourself up to date and showing your interest in the field. I've actually had interviewers ask me what my alias on Stack Overflow was. And it makes sense. You can grasp a sense of someones knowledge by their "body of work" on a site like this.