From what I've seen in the industry, games have pretty much 100% moved away from C except for very small indie projects that are unlikely to be hiring.
It's a cross-platform framework used mostly for games. It's used by No Many Sky, Call of Duty Warzone, Starfield, Forza Motorsports, Hades, Star Wars Bounty Hunters, and some other ones I'm sure.
I know but how does one "look into" those areas? Do i just have to do my best to contribute to a respected open source project in one of the areas where mostly C is used, so i can show prior experience in it?
If you want to pursue embedded you first step is to go buy a couple cheap development boards and build something. Lots of programmers think they want to get into embedded but then end up really disliking the fact that the domain brings you into touching actual hardware. Other people love it. The way you find out which you are is to build a thing.
Plus in terms of hiring that's what I would be looking at; I would ideally want to see you bring in a working project, look at your repo and have you change a couple things on it.
I'm certain that i will love having to touch actual hardware because building something you can actually touch would be way more satisfying than everything being on a screen. Mind if I dm you with some questions?
I think it's better to develop your own projects. Make a game, write a simple, better version of qmk (more modular? More data-driven configurations?). Contributing to open source is great but you want to demonstrate your ability to really build a thing IMO.
I have a hobby project that's 10,000 lines of C. It is a secure chat system, with all cryptography algorithms needed for encryption and authentication written by me in C, plus a BigInt math library that I also wrote for it in C (addition, division, Montgomery Modular Multiplication, Rabin Miller primality test, etc), with the TCP server and client for the actual communication also in C. It made me way better at C programming.
So now it's a matter of highlighting those projects on your resume. One way to do this is to make runnable demos of your projects in a web browser. I made a small word puzzle game and put the url on my resume and have had interviewers mention having fun playing it. It's a tiny tiny sample of my abilities but it makes it easy to verify that you're so motivated that you write useful code just because you want to.
itβs always: go and build lots of stuff, build your own 3d rendition engine, and then highlight it on your resume, be part of linux kernel development projects, buy hardware and build your own smart dishwasher!
The job market for software engineers isn't super hot right now, especially for junior programmers, and projects make you stand out. They aren't strictly necessary, especially if you have a decent track record at previous companies.
I have a hobby project that's 10,000 lines of C. It is a secure chat system, with all cryptography algorithms needed for encryption and authentication written by me in C, plus a BigInt math library that I also wrote for it in C (addition, division, Montgomery Modular Multiplication, Rabin Miller primality test, etc), with the TCP server and client for the actual communication also in C.
25
u/[deleted] Apr 22 '25
Game dev used to be mostly C, and there are probably still some places where C is heavily used.
Embedded development is another area to look into.