I see tons of people shifting towards AI, Machine Learning (ML), Big Data & Mixed Reality(MR). But what I am failing to understand is decide which one is that I should choose, like there are plenty of options I like MR, ML & Big Data. But I can't do all. I want to evaluate them before going down a path.
Comments, suggestions, opinions, criticism & advice are all welcomed.
feel free to comment.<p>thanks
I don't think you'll find a single branch that's "the" future. Science is always branching and there's always many things going on.<p>And what if you find the biggest and most important branch, and go all in, and then it turns out that everyone else also had the same idea? You'll probably still be useful, but maybe you could be even more useful with another specialty.<p>It's why I think the cliché "follow your bliss" is a pretty good heuristic. Another way of putting it: follow the gradient of your own intrinsic motivation, and try to have fun along the way.<p>And make good friends!<p>My own prognosis is that open source development is going to play a huge role in the future, and that participating in the open source commons is <i>the</i> way to "network" in the software world. If an employer won't let me work openly, I'll consider that a major downside for many reasons. So I would bet on open source involvement as an important career investment.<p>(That's part of why I think cryptocurrencies are really exciting, but that's a longer and more tenuous argument...)
Choosing a path just means choosing a path for now - maybe for the next 5 to 10 years. Assume that you will have at least four such paths over the course of your career. So you don't have to get it "right" - you don't have to pick a path that you will enjoy for the next 40 years, or pick a path that will still be a viable career in 40 years.<p>Pick what looks best to you right now, and for the next 5 years. As you walk down that path, learn as much as you can, not just about that path, but about neighboring things. Sometimes learn them in a targeted way, because you think they may be things you need to learn to keep your career viable, but always learn something about whatever you're coming into contact with.
Keep in mind that many of the areas you state will mature and you will not need to be a subject matter expert to use them.<p>Take for example Hadoop. 5 years ago you had to be able to code to use Hadoop effectively and many people were convinced their big data careers would collapse if they didn't immediately learn to code in the Hadoop ecosystem. Today people are starting to use GUI tools (e.g. Pentaho) for ETL and SQL is replacing writing map-reduce code for many people. Proper Data Engineers with solid technical skills are still heavily in demand, but many of the pseudo-technical people are finding their jobs are changing.<p>You see something similar with AI and ML. 10 years ago AI was "dead" and ML/Stats was for expert CS and Stats people. Now you can do a lot with a few lines of code or API calls. What makes a good Data Scientist/Machine Learning person is not so much understanding every aspect of an algorithm, but being able to understand what is takes to quantify a business problem into a form that is suitable for ML/AI. That requires a blend of technical and business skills.<p>I'd echo what mbrock says. Look at these areas and others (example - The Blockchain: the next thing that is supposedly going to solve all the problems in the universe). Get a solid foundation in CS, find an area that interests you and pursue that with focus. Realize that every 5-10 years you'll need to update your skillset to the next big thing in your area of interest.<p>I'd say that out of all the areas you've listed MR is the newest. There's going to be a lot of hype around that for a few years, and hype = companies want to spend money = jobs.
The question of the post and the post itself are not the same imho. I think Post-quantum cryptography has a great role in the future of computer science.