r/C_Programming • u/AffectExtension2399 • 20h ago
I want a career in C/low-level programming, but the path feels invisible compared to web dev. What do I build?
TL;DR: I’m learning full-stack (Vue/Go) because the job path is obvious, but my true passion is C, C++, and low-level systems. I want a career in low-level programming, but I have no idea what projects to build or what jobs to aim for to actually get hired.
Disclaimer
I'm not really good at structuring my thoughts to words & English is my 2nd language. I'm sorry if there are weird sentences that are present in this post.
Background
I'm a 3rd semester CompSci major student in Indonesia. My campus isn't really know for teaching low level programming rather it's known for their competitive programming & CTF team (Jollybee & PETIR).
My first language was C++ & Pascal, I learned C++ because of a course in my middle school requires me to learn how to use Arduino. That was the first time i got introduced to programming & i got hooked.
At high school, i was trying to participate in the OSK CompSci subject. Though i failed miserably, i got even more hooked with learning C++. After i tried learning C++, i found out that C++ is actually an extension of C & learning this makes me want to learn more about low level programming.
At uni, there are courses that focuses on using C & C++ though they are strictly for competitive programming. The courses are Algorithms and Programming (C), Data Structures (C), and Algorithm Design Analysis (C / C++). I've already completed the first 2 course that I mentioned & I'm on my way to do the 3rd course.
Because of those courses, i've been trying out more competitive programming even though i still suck (Codeforces Rating: 858, Leetcode: 89 solves; 66 easy, 23 medium). but in the span of those years, i've only been taught on how to do competitive programming & not actually building apps.
I got some exposure on how to make apps & participated in hackathons (even though i don't even have any knowledge on how to make apps). Because i don't even know how to make apps, i vibecoded. Everytime I vibecode I would feel nausea and just feel guilty because i don't even understand what am I doing, i felt the whole app is just a blackbox. I am also tired of "AI slop" that is present in this current era, i see every hackathons are just Business Case Competition but with a webapp MVP. I've never seen any new inventions or something that came out from hackathons that i participate in, all of them are just purely B2B or B2C SaaS.
After that 1 whole year, in this 3d semester i decided to stop & i wanted to dedicate myself to go back to my roots to learn C & low level programming. One of my friend recommended me to try CTF with Reverse Engineering & Binary Exploitation topic because it covers low level. I've also tried finding resources on my own (OSTEP, Beej's Guide, CSAPP). And I already took a step to learn How to make a 4-bit Adder in Minecraft.
Dilemma
But i'm still confussed. What am I learning C for? Rn I'm also learning Fullstack using Vue + TS & Go + Gin, with these 2 I understand the direction: making web apps. but with C / C++, there isn't any problem that I can solve yet using C / C++. Most projects that I've seen are making a "web server from C", "making a database engine using C", "making a redis clone". My last attempt at using C / C++ to solve my problem is by making an ESP32 send a WoL Packet to wake my PC for RDP.
The reason that I'm stuck is because I need to find a job & in the future I want to use low level for my main job. My knowledge right now by learning low level & C gives path to making tools, CTFs, and competitive programming.
What i wanted to know from this community is:
- What does a junior portfolio for a low-level/systems developer actually look like?
- Aside from writing database clones or making web servers or doing CTFs, what practical C/C++ projects actually get you hired?
- What specific job titles should I even be looking for if I want to work close to the metal?
Thank you for your time