ydrol writes "How do developers progress from fairly simple integration work — eg moving and manipulating data from one system to another in a typical corporate environment — to more challenging algorithm development. Over the years I've done the former, and the challenge was usually due to time , money or resources but the actual problem space was algorithmically simple — move data from here to there — reliably. How do people get out of that environment to work on more innovative things like the Google car etc. Has anyone progressed from a corporate integration programming environment to a more R&D based environment in their mid 40s? Whats it like? I'd like to think I would have excelled in my youth with less real world distractions, but not so sure now after years of 'dumbed-down' development."