Well, at this point, I don’t even know what to learn for getting an entry level CS job…so C is it. Reached chapter 17 of K.N.King’s C99, maybe read a little bit of C2x and C2y specifications, then I’ll probably start reading John Calcote’s Autotools and then metalanguage99. And I bet they won’t help me for my early career in any way or form.

  • AnarchoSnowPlow
    link
    fedilink
    English
    arrow-up
    16
    ·
    2 days ago

    I’ve been writing c my whole career. If you are interested in kernel/driver development or firmware development you’re on the right track. But once you have one language down it’s a lot easier to pick up others.

    At the beginning of your career I would worry less about theory and reading specs and worry more about design patterns, understanding computer architecture, and practicing writing code.

    • LalSalaamComrade@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      10
      ·
      edit-2
      1 day ago

      I’ve not worked since the end of Jan 2023, and that was a crappy internship with low salary for which I didn’t get any “certificate” or proof of claim. I’ve graduated almost two years ago with no job. Half-assed my way over libvulkan to create a simple 2D engine, didn’t learn shit. Did some open-source contributions to GitLab with Ruby, that also didn’t benefit me, because contributions have low value in CV, and recruiters don’t seem to give a fuck. Also maintaining a few packages on Guix atm, but no one probably cares about Scheme. Did a few low-quality projects on ExpressJS, NextJS and Svelte.I haven’t applied anywhere because I have failed take-home tasks on Flask/Django/other mainstream framework miserably, and it has tanked my confidence. Rest of the so-called interns are scammers demanding that I pay them to work. Yes, you read it right, not paid work, pay-to-work. The job market has still not recovered.

      • hypercracker [he/him]@hexbear.net
        link
        fedilink
        English
        arrow-up
        13
        ·
        1 day ago

        Damn don’t talk yourself down like this, maintaining guix packages is cool as hell. It doesn’t matter whether your internship gave you a certificate, it’s work experience on your resume.

    • hypercracker [he/him]@hexbear.net
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 day ago

      IME design patterns are useless and have heavily fallen out of favor in industry, especially in the past decade where there has been widespread realization that inheritance is absolutely terrible and should be avoided, with the exception of using interfaces.

  • brainw0rms [they/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 day ago

    I think learning and working with C was worth it for me. I however don’t still use it regularly (except in-so-far that I use C++ regularly, but they aren’t really comparable). I also didn’t start with it, but in retrospect when I finally did start learning C and using it in real projects, I’d say it was one of the times I significantly “leveled up” in my career.

    Its usefulness really depends on where you are already at, though. For example, I was already fairly proficient in other more abstracted languages like C#, and some scripting languages. But those don’t really give you a solid understanding of how things work on a low level, how they are implemented, what makes things go fast (or slow). I had no idea what a “pointer” was or what they are used for, for example, until I learned C. Stripping away all the abstractions that other languages offer you forces you to have to understand the basics and think about things in a different way than you otherwise would be allowed to.

  • hypercracker [he/him]@hexbear.net
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    Are you backing this up with like a general computer science education or is this language the only thing you are learning?

    Knowing C is good. Hell, all types of learning are good. And the more programming languages you learn the easier it is to pick up new ones. C probably is not the one I would pick as a first programming language to learn but your motivation to learn a specific topic trumps making the “optimal” choice for a career or whatever.

    • LalSalaamComrade@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 day ago

      I have a 4-year degree in CSE. I’ve come to realize that I suck at preparing for real-world jobs, because I am so distracted.

      • hypercracker [he/him]@hexbear.net
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 day ago

        That’s okay, it’s hard to get a good head of steam going before spending time in a job where you can grow and learn all the tiny things that go into being an effective software engineer. Being a self-starter here is very very difficult.

  • iByteABit [comrade/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    C is a great language to learn CS fundamentals, but in order to find a job I’d rather go for something like Java which is very versatile and widely used for web development.

    There are other domains than web dev that use different languages and frameworks etc. but I mention web dev first because it has a lot of demand in the market and should make job searching easier.

    I’d still recommend you learn C well first though, any other language you learn will make a lot more sense once you understand stuff with C.