What is going to be the future of Computer Science?

8 points by askari01 ↗ HN
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.

thanks

9 comments

[ 3.1 ms ] story [ 29.6 ms ] thread
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.
thanks for the comment, I agree question and comment don't match. But I am confused when comparing my skillset to others. Main reason is too few opportunities with the current skill set I have. So, I wanted some guidance.
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.

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.

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.

And make good friends!

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 the 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.

(That's part of why I think cryptocurrencies are really exciting, but that's a longer and more tenuous argument...)

thank you for your kind advice. I am very motivated in following my heart. But sometimes I feel low comparing my work with my friends and seniors. I have embarked a journey less travelled by developers. There is very few demand of the work which I do which worries me. Which causes problems for me financially but I love my work. This is the very main reason I am looking to explore other options. But I fear I may end up jack of all trades but master of none. I will be waiting for your reply, need your honest opinion n guidance

thanks

Don’t compare ... imagine if you had the option to swap “souls” with those other persons - your job, your work, your family, your face, your friends, your spouse, and the other person won’t even notice, would you take it?!
But go open source only if it’s fun for you! If you’re more into closed source development, e.g. algorithmic trading, and competing against traders on the open market, go for it IMO! No need to force yourself to be more cooperative or competitive than you feel like at this moment, especially in your own time!
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.

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.

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.

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.

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.

thank you for taking out time and commenting. I love AR & VR. I believe they are the future and will become more mature with time. I am very interested in autonomous driving cars and want to explore them. But it is not possible and it discourages me to not being able to work on things you like.
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.

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.