Which techniques and technologies are here to stay, and which are passing fads? Which languages and techniques should software engineers learn if they want their careers to survive into the future? Should we all expect to work with strict procedures and formalized processes? Is software "maturing" (whatever that means), and if so, will it get more boring?
My own view is that software development will mature in the same way as electronics engineering matured about 15 to 20 years ago. I left electronics and became a software engineer because electronics (most electronics) became pretty dull. Software is, I think, going down the same route.
This realization has radically changed the way I'm thinking about my career and the skills I want to maintain.