4 answers
Asked
502 views
If I am looking at majoring in Computer Science, how do I know which specific type/branch is right for me?
I don't have time to take a class for every specific branch of computer science to give things a try, but I do know my interests lay mostly on coding(still very broad), such as web development. It can also help if I know what are the various branches of Computer Science. #computer-science #choosing-major #college
Login to comment
4 answers
Updated
Jason’s Answer
Create a list of the pros and cons for each branch of CS that you might be interested in and pursue the one that provides the most pros to you and that excites you the most. The important thing to understand is that you're not locked into anything for the rest of your life. There's enough overlap in the core CS fundamentals that you can always move into other opportunities within the field if you so choose. In fact, it's fairly common that software engineers move around to different technology stacks and problem spaces throughout their careers. When I started studying CS I was sure I wanted to be a web developer, today I find myself working on low level bytecode instrumentation for JVM frameworks/libraries. Embrace the adventure, stay curious, keep an open mind, and you will always find exciting opportunities to explore.
Updated
June’s Answer
Great question! As a person who hires interns who major in STEM in university, I can tell you, internships will definitely help you decide. You could also go to websites like CodeAcademy, etc. and do/learn some other areas of CS to see what you like, enjoy. Our company has a rotational internship program which allows college students to do various 'rotations' or internships which last about 6 months to a year (they are with us for two years minimum) and then they try another team so that way, they can get a feel of other areas of CS or the company in general.
Within CS, you could be a software developer, code on projects but you could also be a consultant and travel to customers and provide expertise but also use your technological background and support them. You could go into Data Science or do a mix of business/technology which we have. I find when my students are interning and they do software development year one, they realize, they do not want to code, then they do something different. I think if you can have multiple internship opportunities or even project work in school, you will start to see what you like and what you don't.
Good luck!
Within CS, you could be a software developer, code on projects but you could also be a consultant and travel to customers and provide expertise but also use your technological background and support them. You could go into Data Science or do a mix of business/technology which we have. I find when my students are interning and they do software development year one, they realize, they do not want to code, then they do something different. I think if you can have multiple internship opportunities or even project work in school, you will start to see what you like and what you don't.
Good luck!
Updated
Sharon’s Answer
The great thing is, you do not need to decide before college. Some options would be to take some short summer courses to give you an idea or explore the different programs offered at different colleges. Many have virtual tours where you can even speak to students in the major of interest. Keep your options open - once you start getting into it, you will be led to what intrigues you. It is a field that is never boring. There is always something new to learn! Best of luck!
Updated
Scott’s Answer
I agree with the other answers regarding how to find your passion. The one thing I would add is to find an open source project and start small by contributing a patch or fix. Some communities are easier to get started in than others but find one that sounds interesting and give it a go.
With regards to some of the branches/disciplines that involve coding (and they almost always cross-over), here are a few.
* Web development
* Mobile development
* AI and ML development
* Mainframe development
* Game programming
* Robotics
* Control systems
* Computer Graphics
Hope this helps.
Find an open source project to contribute to. Likely many of the technologies you use every day are open source or have open source components. For example the React project is used by Facebook and most of the major browser engines are open source (Chromium, Mozilla, etc).
Post a patch or fix
Read about different programming disciplines
With regards to some of the branches/disciplines that involve coding (and they almost always cross-over), here are a few.
* Web development
* Mobile development
* AI and ML development
* Mainframe development
* Game programming
* Robotics
* Control systems
* Computer Graphics
Hope this helps.
Scott recommends the following next steps: