Now, having a four year degree in CS is definitely an advantage. I have one, and it has certainly made some things easier. However, I also know lots of successful and excellent developers who either have no degree at all, or only have a degree in an unrelated field. Some of them landed their first job by showing off their Open Source portfolio (even if it was very small), some by getting a job in an adjacent role like technical support first, and some just started with very small companies who couldn't afford to be picky. In all of those cases, after they had one or two jobs on their resume, nobody cared anymore what they went to college for or even if they went to college at all.
Computer science is a branch of mathematics. Software Engineering is an applied field that is lightly informed by computer science, and focused on building software systems that solve problems. A four-year degree in CS is unlikely to prepare you well for a career in software engineering. It'll qualify you for a graduate program in CS though.
This disparity between job skills and formal education is a major point of friction for recent college graduates. The best way to bridge that gap is to acquire the practical skills you need outside of the classroom, through internships, summer jobs, or other work opportunities.
Thanks for your question .
The answer to your question is that it will depend on what you plan to do long term.
If you want to be research oriented for long term then a minimum of Masters but if you plan to do research after a certain number of industrial experience then I would suggest to do a Bachelors and then work for 5 years, in the meanwhile you can choose to work for projects that have are research oriented in any given Corporate company.
I would highly recommend to have experience in the industry. It will surely help you more than anything else.
Hope this helps.
Thanks and Regards
Vijay Shankar’s Answer
That being said, it is always possible to start doing research earlier and based on your research output, obtain a position as a researcher without a formal degree.
If you are looking at becoming a software developer, a bachelor's degree in computer science is usually good enough. In fact, what counts is your ability to solve problems by writing code and you can always do that without being enrolled in a formal university program.
If you are unfamiliar with programming, I would absolutely start by learning to program. Python is a good default choice for a programming language, and there are some good tutorials. I would recommend A Byte of Python (https://python.swaroopch.com/) along with the official tutorial (https://docs.python.org/3.7/tutorial/).
It is often interesting to learn things by having a project to work and Pygame is a nice library to develop simple games using the Python language - https://www.pygame.org/docs/tut/newbieguide.html
I hope that helps you get started.
Vijay Shankar recommends the following next steps: