If you are looking to be a great general purpose software engineer then the skills for the next 5-10 years are very similar to the skills needed in the last 5-10 years.
- Higher level languages such as Java and even the latest, greatest C++ which has some very nice features. Get comfortable with these suckers, they’ve been around for a while, they’re going to stick around. Python is also useful. The jury is out on other very cool but not very broadly adopted languages.
- Get comfortable with big data. It’s not for everyone, but there’s big money in it, and it’s incredibly useful for business, digital assistants, and human-computer interfaces. Intelligent agents – software which learns your preferences and finds things on your behalf – will come sometime soon. Big data – processing an Internet worth of data to understand what you like, and are likely to like – will be a part of it. Get comfortable with SQL and distributed analogs to SQL for querying and transforming data.