I don’t have a CS background (I graduated in Neuroscience) but now I decided I want to attempt a carrer in software development. When I looked at the possible different types of software developer I felt that the one I was most attracted to was desktop developer or system developer. In general, I like creating programs than run offline on a local machine, or even dealing with the low level operating system stuff.

I altready know how to program in Python so I decided to start learning C++ as well since it feels like exactly the language that can be used for developing desktop apps or working with kernels. In general, I like the level of abstraction at which C++ works and I would like to keep working at that level.

However, when looking around for some jobs or in general talking with people who work in the IT field, I feel like most of the work of a developer is polarised between two extremes: either creating web apps using tons of different front-end and back-end frameworks, or working with embedded systems for different kind of electronic devices. C++ specifically seems to be used nothing more than for gaming and embedded systems nowadays (according to my very subjective impression ofc).

So my question is: is it still possible to find a job were the main task is to develop and/or maintain desktop apps? And if so, is C++ (or other languages that work at the same abstraction level like Rust) the right language to do this? Or maybe, given my lack of a CS education, it’s easier to start as a webdev and maybe change later?

Sorry if I said some nonsense or trivial stuff but I just started to enter the IT world and I still don’t have a clear idea on how the job market for SWD works.

  • Shayreelz@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    11 months ago

    It’s definitely possible, especially if you look for jobs where the company sells a hardware product (e.g. Keysight) or defense contractors (there are many DoD applications where they’d prefer the PCs don’t connect to the internet. Basically hardware interfacing

    • breadcrumb@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      11 months ago

      Oh I didn’t consider these fields. When I see a company for hardware products I always think they’re gonna make you program some microcontrollers or similar, with no OS involved. But it’s true that many of them need to develop at least some software to interface with a OS. Thanks for sharing.