6 answers

Where can I expect to be in five years?

Asked Viewed 281 times

As a computer science student, the road to have a successful career are so uncertain because the field changes as the world is constantly changing. In five years, will I see myself be working for desired firms like Microsoft, HP, or even Google?
#technology #computer-science

6 answers

Eric’s Answer

Updated

You're right that the field is moving quickly. Eboni's point about an internship is a great one, because that will make things a lot less abstract.


In general, I would recommend trying to get as firm a foundation as possible. It's true, you don't know what languages companies will be looking for in five years, what platforms will be big deals, what companies will be hiring, and so on.


But you can be pretty certain that it will be valuable to be able to "think procedurally," to be able to break a task down into a series of smaller steps that a computer can follow. It will be useful to know standard algorithms and data structures and their tradeoffs (when should you use a hash table versus a tree? A set versus a list? and so on). The easiest way to get to know these is to try a number of concrete things out, but don't let yourself believe that you've stumbled across the One True Way that will never change.


Learn a few programming languages, ones that make it easy to do things you like. Swift or Objective-C if you want to write iOS apps, Java or Kotlin if you want to write Android apps, JavaScript or TypeScript if you want to write Web apps, Python if you want small, easy scripts that take in text input or files and process them, and other things that stand out to you. Once you've gotten a few, try branching out to try ones that make you think differently, like Lisp, Scheme, Haskell, or Erlang. By this point, you'll likely find that picking up new languages becomes very easy, just a matter of a few hours' work. Then, if you find yourself trying to work at a company in five years and they want some new language you've never heard of, you can know that you'll probably be able to pick it up quickly, and not be left behind.


Many tech companies (including Google, the one I can speak for on this) want to hire "generalist" software engineers, people who can be given a problem and solve it with whatever tools are appropriate. Sometimes that will be a brand-new framework just being tested, but just as often it could mean using something tried and true that was written in the 70s. In my day-to-day work, I use some of Google's JavaScript libraries, that are new and also impossible to learn outside of Google (so it's not like you could have prepared for it, and we know that), and I use old Linux shell tools that have existed at least since the 80s. You want to focus on the flexibility aspect, rather than doing some particular, concrete specialization that might not matter in five years. Nobody programs in HyperCards anymore, so someone who based their career around that might be in trouble. But someone who learned it and added it to their toolbox probably benefited from that a lot, because it was useful then and expands their mind now.


I hope this helps!

Eboni’s Answer

Updated

Because the field of computer science is ever changing, the best thing you can do is begin an internship. This will allow you to keep up with industry changes while gaining some great experience. It's also important to remember that software and internet companies are not the only options for computer science majors. Many industries are relying on computer technology to get things done faster, more efficiently, and without human interference. Think along the lines of mobile apps, self checkouts, drones, military defenses, etc. The wider you expand your search, the more you will find. Best of luck!!

Smaran’s Answer

Updated

Hi, The question is How much I can learn and grow in next five years, I can only speak from my experience. I have 5.5 years experience in IT especially in Networking domain.

I started as a network engineer in a small company with a very low salary per year. Now I am working in Cisco with the same salary I used to get per year, per month now. You know Cisco is a dream company for many Network engineers. The thing I am trying to say is, learn everyday, where do you start doesn't matter but how much you learnt and grew in 5 years and use your skills to the maximum extent that companies like Microsoft, HP or Google can see your value and hire for them.

I did wanted to work in Cisco one day, now I am in Cisco and for the next 5 years, I should be a key player in the role I was offered here and making sure Cisco see my value and learn new things one day at a time.

All the best!

Rafael A.’s Answer

Updated

My only recommendation here is to keep expanding your knowledge base while doing your homework in the sense of what new technology / software may be coming down the road. Keep your skills sharp and you should be fine.

Shagoon’s Answer

Updated

Hello Dat,

Learn and do not stop learning.

You can be anywhere you want to be in next 5 year, but you have to continue doing the hard work.

Choose the field that in terest you. Do not make your interest based on the company you want to go, rather find an interest and master the skill and eventually you will land up in your dream company.



Aman’s Answer

Updated

Hi,

Greetings of the day,

My recommendation will be to focus in your current day to day Job and try to upscale your performance everyday. Learn new things and enhance your knowledge.

What you do today will certainly have a positive impact on your future. So by the time you want to move to your dream company you would have acquired the necessary skills, experience and exposure to get that job.

So work smarter, learn and share your knowledge. Always be free to listen to others opinion.

Thanks & Regards,

Aman Chaudhary

Aman recommends the following next steps:

  • keep learning