I’m a junior in highschool and will be graduating next year, and the degree that makes the most sense to me is computer science. I’ve always loved using and tinkering with technology, and learning about it when I can.

I’ve taken the CS50p course as an introduction to coding, and have really enjoyed the problem solving nature of programming. I just don’t know what the industry is like, and people keep saying the job market for CS majors is terrible. so I’m not 100% sure that a computer science degree would be right for me. any advice?

update: I’ve gotten a lot of good advice from comments and have decided to start a personal project of some sort, to test the waters and see if this is something I can do and enjoy as a hobby outside the CS50p course. thanks to everyone who responded!

  • 0x01@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    24 days ago

    Nobody knows the future, but we can definitely speculate. Programming is still a good career if you’re talented, but it may no longer be the golden standard of well paying jobs that it has been for the last few decades.

    More important than anything, if you want to program, then do it. Don’t wait for university to tell you how, get your hands dirty and start making something cool, a game, a web app, whatever.

    Getting a job is hard for junior devs right this second for largely macroeconomic reasons, that may change in the future or it may not. You can sidestep that issue entirely with a solid portfolio.

    Learn to use the latest ai tools, but don’t rely on them to do the work and learning for you, “vibe coding” may or may not be a future career but if it is the salary will likely be significantly lower than software engineering.

    A degree does not make a programmer, but programming does.

  • Mikina@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    24 days ago

    I did Software Engineering Bachelors and then gamedev masters, and while I didn’t really appreciate it at the start, since it felt like I’m learning a lot of stuff I’d never need, I’ve eventually come to be really glad that I did it.

    Throughout the classes it felt pretty meh, I didn’t understand why I have to do so much stuff that I’ll never really use, and always felt like I’m just forgetting 90% of what I was taught the moment I was done with finals for that class. Why do I need to learn Smalltalk? Why Lisp? What even is Prolog? Does anyone even do UML anymore? I want to be a C# programmer, I don’t need this.

    And it was true. From most of the languages I’ve had to go through, I don’t remember almost anything. But that’s not what it was about, and that’s something I only came to appreciate with time - it was not about learning Pharo or Prolog, it was about overcoming the initial learning curve and getting somewhat familiar with OOP or formal-logic style of languages. And while you forget the details, the familiarity will stay with you. The goal is not to make you a Prolog programmer, but to make you a programmer.

    I’ve eventually realized that I can pick up any language pretty quickly, no matter what it is - because I’ve already seen and learned all of the different styles or types of languages there are, and no matter what it is, it’s similar to something I vaguely remember seeing somewhere. And that’s an immense help. I picked that up naturally, I’ve kept hearing the question “what programmer are you? What language you can program in?”, and it felt weird - sure, I do know the most about C#, but I never had issues with picking up whatever was close at hand or needed, and writing anything I needed with a little bit of documentation and googling. And it was thanks to what I learned in school.

    And the same applies to the math and data structures that they hammer into you. Do I remember the difference between red and black tree, or a min-heap, and can I prove it? Not really, but I know they exist, and when I see a problem that sounds like it could use some obscure data-structure, it comes to my mind and I know what keywords to look up. And that’s a skill that I’ve notice is missing from most of the people who didn’t have formal CS background. Same goes for algorithms like FFT - you know it exists and what it’s used for, and seeing a problem that could use it will trigger your PTSD.

    So, I highly recommend giving college a try. You will learn a lot of cool algorithm, and some of the classes were fascinating, and it will give you a vague overview that will stay with you throughout your carreer, feeding you with keywords about stuff that might be usefull for the problem at hand. It’s the best thing I’ve done in regards to programming.

  • AMillionMonkeys@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    24 days ago

    Just a heads-up that Computer Science is a branch of mathematics, and some schools lean into that more than others. There’s a lot of theory in addition to the practicalities of writing programs. I’d assess how comfortable you are with math and abstraction, then try to figure out where the schools you’re looking at place their emphasis. Since you want work as a programmer, make sure the school offers some software engineering classes in addition to the theory.

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    24 days ago

    Honestly I think the complaints about the job market are overblown. If you are good then there will always be a job for you somewhere.

    If you’ve already tried programming and you enjoy it then it is a really great career. Crazy money (especially in the US) for low effort and low responsibility.

    Just be aware that CS is usually a lot more theoretical than most programming. You’ll be learning about things like Hoare logic and category theory. Tons of stuff you only really need in the real world if you’re doing formal verification or compiler design.

    Still, I kind of wish I did have that theoretical background now I am doing formal verification and compiler design! (I did a mechanical engineering degree.)

    Also you don’t need a CS degree to get a programming job. I did a survey of colleagues once to see what degree they had and while CS was the most common, fewer than half had one. Most had some kind of technical degree (maths, physics, etc.), but some had done humanities and one guy (who was very good!) didn’t have a degree at all.

    I wouldn’t worry about the market. Maybe take a look at the syllabus for places you might apply to, e.g. here’s the one for Cambridge. Also I guess an important question is what’s the alternative? What would you do otherwise?

  • I Cast Fist@programming.dev
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    22 days ago

    Get certifications, those end up being worth more than degrees

    Also, friends in high places. Anyone that can help you skip the bullshit automated job market (filling infinite forms and tests for 1000 openings, only to never get any reply) is extremely important.