Sorry for the burner account.

I have to figure out what to do with my life right now. I really enjoy programming, and honestly, of any kind. Haven’t really found a kind of developing I dislike yet. I have been doing stuff for around 4-5 years by now, so I have confidence that I’m a good programmer, with the huge caveats that I’ve never finished any presentable project and I’ve never done anything with a team, I’ve only done solo stuff.

It seems like the logical thing to pick for a job. However, I’ve heard experiences of people with programming jobs and CS degrees that they’re absolute hell to be in. Super long work days, absurd deadlines, crunch, and that doing a CS degree means you have absolutely zero time for anything else in your life.

Having a life like that really scares me. I’m not really a strong, disciplined person. I know I can’t handle living like that. I’m scared I’ll just realize I want to quit and end up having wasted years of money and work on a degree I don’t want to use for anything - and that’s even assuming CS college isn’t that awful.

My biggest dream is doing indie game development, and it has always been that since I was a little kid, but I know that’s not a safe prospect for a reliable living wage. At the same time, abandoning that dream completely would make me feel awful. So I NEED to have time to work on my own stuff.

I wouldn’t go to a CS degree purely for more job opportunities, I’m sure there’s a lot of things I’d be able to learn in one that I need. I just don’t want to end up living just to work. I’m really only going off on rumours and experiences of other people I know though - and I don’t have much of a chance of visiting a campus or talking to professors. Because of life reasons it’d have to be abroad and I’d have to do at least the first year online.

So… yeah. I’d appreciate hearing some experiences in CS degrees and in programming jobs. Is it really that bad time-wise? Is it something enjoyable?

  • MajorHavoc@programming.dev
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    4 months ago

    However, I’ve heard experiences of people with programming jobs and CS degrees that they’re absolute hell to be in. Super long work days, absurd deadlines, crunch, and that doing a CS degree means you have absolutely zero time for anything else in your life.

    These shitty teams exist, but they’re not the norm.

    They are the norm in certain sexy industries like game development. It’s pretty easy to pick something unsexy like waste hauling logistics (which is secretly even more fun than game dev - but don’t tell anyone, or everyone will want to do it.)

    Ask “what does your typical workday look like?” and “what are your typical daily start and end times?” during the job interview. Only shithead bosses will be bothered by the question.

    Many bosses will take every hour they can get until their staff tell them ‘no’.

    So learn to say “I have plans I can’t cancel.”

    A perfectly good reason to be unable to cancel a weekend plan is “I don’t want to cancel my weekend plan.”

    Beware that your desire to do weekend hobby coding will probably die out for a few years and then come back. That’s pretty normal. In my opinion, it’s worth it.

    Source: I’ve been coding professionally for decades, and I hire top developer talent. The talent I hire make and keep weekend plans. Sometimes they very politely tell me where I can stick my request for more of their time or focus.

  • 0x01@lemmy.ml
    link
    fedilink
    arrow-up
    11
    ·
    4 months ago

    Plenty of anecdotes out there, you’ll find people with every kind of experience. Don’t stress too much, the job itself depends entirely on the team, product, and industry.

    I work in a tucked away industry highly specialized in some random sector of manufacturing and service. I’ve worked at three different companies in the same sector and each was wildly different. In general programming in a professional setting causes a tremendous shift in the way you program no matter where you go.

    The things you focus on in a team are: how can I make this code resilient so none of my teammates can screw it up, readable so anyone can understand, and runnable so after every iteration it will function.

    Your style conventions and preferred way of programming may have to shift to accommodate working with others. No more super cool but impossible to read functions, no more 70 layer deep polymorphic chains, no more random spacing and inconsistent brackets.

    Programming professionally comes in different flavors. Young startups need hard hitting fast develpers who type 150wpm and munch through requests like nothing, leaving a trail of tech debt and bugs behind but getting the product to mvp status. Established companies need methodical, measured programmers who think through the consequences of their actions and write code that will stand the test of time, programmers who don’t say “we should just remake the whole thing” every tuesday.

    I’ve been programming professionally for about a decade and can confidently say I would be pleased to stay in the career for the rest of my life. I am not confident that the precise job I have today will even be available in that timeframe because there have been amazing leaps in technology that convert business logic into code, see copilot’s new workspace product.

    Go for it, if you find a business that feels like a bad fit move on. Plenty of businesses are itching for competent developers.

    • jjjalljs@ttrpg.network
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      programmers who don’t say “we should just remake the whole thing” every tuesday.

      We had a guy like that at the startup I work at. It was not a good fit and he’s no longer on the team.

  • hascat@programming.dev
    link
    fedilink
    English
    arrow-up
    8
    ·
    4 months ago

    I went to a top rated engineering school in the US and found the CS program easy. It helped that I enjoyed most of my classes, and that had been teaching myself for years before I got there. I had plenty of free time to spend with friends or whatever else.

    While I’ve certainly had jobs that demanded long hours, I’ve had others that are more reasonable, and with good pay. It’s more possible now to find a good paying job with good work/life balance than when I started working over 20 years ago.

    Don’t let the negative people scare you away from school or the industry. Ultimately your experience will be your own. If you find that the path you’re on isn’t working for you, just do something else!

  • tatterdemalion@programming.dev
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    4 months ago

    I’ve been a professional programmer for 10 years. While it’s possible to moonlight an indie game, it would absolutely consume your life. Hell, even if you do that full time, it’s such a time consuming process you might still feel overworked.

  • GeneralDingus@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 months ago

    Really not that bad when it comes to work life balance, really depends where you work at. However, I’d say if you decide to go this route, really make an effort to get internships as often as you can. The market is rough and if you don’t have anything to show for your time in college you’ll have a bad time when you graduate. I suppose this provably goes for most degrees, but also try to network so that you have options post graduation.

  • Oka@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 months ago

    I graduated with a Game Programming degree last year. I currently work retail and haven’t been hired in the industry yet.

  • jjjalljs@ttrpg.network
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    huge caveats that I’ve never finished any presentable project and I’ve never done anything with a team, I’ve only done solo stuff.

    These are moon sized caveats.

    If you can’t work with a team, you’re not going to make it.

    No one likes the guy who goes off on his own for four days and comes back with a massive pull request to review. Especially if it’s full of idiosyncrasies, doesn’t follow the team’s standards, and doesn’t actually meet the requirements because the guy didn’t talk to anyone. That person is often a net negative for the team because the rest of us have to spend so much time bringing them in line with everybody else. Don’t be that guy.

    I think it’s like a rookie developer rite of passage to go and make a huge, unsolicited, change request to the code and then having it get rejected. Get buy in from the team before you do stuff like that.

    Also don’t be the guy that never finishes anything at work. Management is going to expect you too finish the work you agree to finish. So is your team. If they ask you to add a date filter to the project page and you didn’t finish it because you decided it would be cool to rewrite some build scripts from bash to node (which no one told you to do), you’re not going to make friends.

    Do what you want in your personal time, but working professionally means having standards.

    Oh, and you’ll probably have to write automated tests. I mean, a lot of software jobs are trash and have trash testing practices, but many are good. “Trust me bro” isn’t usually good enough for a PR approval.

    Hopefully you’ll quickly figure out how to work with a team.

    As for your main question, I don’t typical work long hours, and the work is generally enjoyable. The pay is good.