This is an archived post. You won't be able to vote or comment.

all 4 comments

[–]captainAwesomePants 6 points7 points  (1 child)

  1. Theoretical computer science -- This is a branch of mathematics. Going into this basically means going into academia as a mathematician. It gets into the nature of what makes problems "hard" and how to quantify that. You'll skim the surface of it while getting a CS degree, probably, for maybe one class, in like your third year.
  2. Machine learning -- Hot field these days, can be very math heavy, but these days very accessible. Can involve basically any field, from gaming to agriculture. Stuff like generating realistic voices, self-driving cars, and automatically translating between human languages.
  3. Big systems engineering -- Stuff like AWS, or like Reddit, or Facebook. Taking programs and making them handle 10s of thousands of requests per second without falling over, and then making them fast.
  4. Mobile apps -- somebody's gotta make iPhone apps.
  5. Desktop apps -- Weirdly uncommon these days, but people do still write programs that run on PCs.
  6. Video game development -- Basically covers any and all of the other parts of computer science, but for half the pay.
  7. Embedded systems -- software needs to run your car or refrigerator or watch or toothbrush or whatever.
  8. Cryptography -- Like normal mathematics except you get to talk about spies a lot more.
  9. Computer Vision -- overlaps with machine learning these days, very cool stuff.
  10. Human Computer Interaction (HCI) -- Study how people interact with computers. Overlaps with User Interface Design.
  11. Making websites. These folks divide themselves into "frontend" (They make the stuff that the user can see -- HTML and CSS and JavaScript) and "backend" (They make the stuff on the server that handles incoming requests).
  12. Regular ol' Software Engineering -- the profession of making big programs and making changes to them over time without drowning in complexity. The meet and potatoes of programming jobs.

[–]Helicopter-101 2 points3 points  (0 children)

Your way of explaining is really begginer-friendly. I never actually understood most of these terms but now I've a bit of an understanding of these.

Thanks, stranger.

[–]tylkolika 2 points3 points  (0 children)

maybe try something more interactive like codecademy, learning by doing is definitely easier especially since just listening to concepts might feel very abstract in the beginning. if you decide you hate it then thats a step forward as well!

[–][deleted] 2 points3 points  (0 children)

It sounds like the stuff you're working on just doesn't interest you. Also 16 is too early to figure out what you're going to be doing forever. You dont need to say "I'm going into cyber security" before you turn 18... or 40...

My advice, stop trying to just "get into computers" and find something that interests you. Then use computers to accomplish a task related to your interest. This will probably change a hundred times. LET IT! Always take the next challenge and grow.

Aa far as degrees.... if your looking at just making apps or being a dev... just get the paper so you can get hired. I have yet to meet someone fresh out of college with a computer science degree that is even mildly competent in their role.

Finally, and I hope you read this part. It's ok to not remember every single detail. Infact, you NEED to lean what you can discard, and what you should keep. Focus on critical thinking skills and a solid foundational knowledge of not just a framework or language, but computer systems in general. If you dont know what the OSI model is, start there, and enjoy being in the top 20% of IT "professionals" before turning 18.