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.

  • worldofbirths@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    A lot of performance intensive software is still written using C/C++. Beyond gaming, you’d be looking at other GPU/CPU heavy stuff like CAD, video processing, music production, cryptography. Those fields tend to be math heavy and might not be a good starting point.

    That being said, there are a lot of applications that are simpler. Those tend to be written with languages that are arguably easier to work with: Swift, C#, Java, Rust, etc. Electron/React Native also made it possible to use TS/JS in desktop/mobile apps, which makes a background in web development a lot more marketable.

    Web development is definitely the easiest way to enter industry. Data science is also very popular and your Python experience would definitely help there, along with a good handle of statistics.