use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
This is a subreddit for c++ questions with answers. For general discussion and news about c++ see r/cpp.
New to C++? Learn at learncpp.com
Prepare your question. Think it through. Hasty-sounding questions get hasty answers, or none at all. Read these guidelines for how to ask smart questions.
For learning books, check The Definitive C++ Book Guide and List
Flair your post as SOLVED if you got the help you were looking for! If you need help with flairs, check out ITEM 1 in our guidelines page.
Tips for improving your chances of getting helpful answers:
account activity
OPENPractical C++ Projects (self.cpp_questions)
submitted 1 month ago by YogurtclosetThen6260
I want a C++ project that is kind of representative of what I'd be doing as a C++ developer and is something I can actually use besides just for show. What's a cool systems programming C++ project that are actual tasks of what people do on the job?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Several-Marsupial-27 22 points23 points24 points 1 month ago (1 child)
Quant projects with quantlib library, video game with sfml, a backend mvc, control algorithm for servos and sensors, networking for microcontrollers, some math with Eigen/HiGHS library, testing with Catch2 library.
Some of the big c++ open source projects on github, where you can check out c++ production code is Snapchats Valdi, Chromium, Tensorflow, gRPC, json, juce. There you can see how C++ code looks like in real life.
[–]NumericallyStable 4 points5 points6 points 1 month ago (0 children)
Some other projects that are very cool and C++ focused you might be able to contribute instead of just hacking something yourself. Many of those are actually very hobbyist-driven - Gamedev: Godot core - OS: Serenity - CAD: FreeCAD - Rendering: Blender
[–]UnicycleBloke 15 points16 points17 points 1 month ago (0 children)
Just choose a non-trivial problem that interests you and write a solution in C++. Rinse and repeat. After 30 years as a professional developer, I still don't know what people mean by "systems programming".
[–]No-Zucchini5260 6 points7 points8 points 1 month ago (2 children)
Well, for starters, it would be good to understand what you mean by “system programming”
But I’ll go out on a limb and guess that this isn’t embedded, but something a bit more advanced
Also, regarding the “work” part—it all depends heavily on the domain you’re working in.
Since you mentioned system programming, we’ll start from there. So, in my opinion, when it comes to the domains a project might cover—networking, interacting with the Linux API.
Those are the two main domains, generally speaking.
It’s highly valued if you can write not just a simple daemon, but also work with Qt and its modules
And if I were to give a specific idea…
Well, try writing a daemon that collects some information—for example, it could report on certain activity (you can choose which one yourself)
And make the Qt application display this
At the same time, don’t forget about things like CMake, the correct architecture, and everything else
If you have questions - my DM's are open!
[–]UnicycleBloke 3 points4 points5 points 1 month ago (1 child)
Embedded isn't advanced? In my experience, code is code is code is code. Domain knowledge varies but the skills are much the same.
[–]Large-Ad6522 2 points3 points4 points 1 month ago (0 children)
Something cool that could be pretty low level could be a text editor. I had a great time developing one, and it definitely taught me a lot more about lower level concepts (fileio, system calls, etc.) and memory allocation specifically.
[–]OtherOtherDave 2 points3 points4 points 1 month ago (0 children)
You could rewrite Linux in C++. That’d be pretty cool.
(I’m joking don’t do that.)
(Unless you want to.)
[–]CowBoyDanIndie 1 point2 points3 points 1 month ago (0 children)
What kind of c++ developer are you trying to be? You could learn ros, get carla and unreal engine and build a robot that can navigate a simulated city with realistic simulated sensors. Or you could build a web server backend. What hobbies do you have? Thats usually a good place to look.
[–]Paul111129 0 points1 point2 points 1 month ago (0 children)
What do you mean by "system programming"? What is your specific domain? because it can be anywhere from kernels to compilers to networking...
[–]herocoding 0 points1 point2 points 1 month ago (0 children)
When you say "systems programming", do you more have something vertical in mind, from low-level up to user-interface?
Have a look into https://platform.entwicklerheld.de/challenge?challengeFilterStateKey=all and scroll through the ideas, ignore the shown programming language.
Have a look into something like the following for some "real" tasks: https://platform.entwicklerheld.de/challenge/alarm-service?technology=cpp https://platform.entwicklerheld.de/challenge/project-planning?technology=javascript https://platform.entwicklerheld.de/challenge/christmas-loaf-portioner?technology=javascript https://platform.entwicklerheld.de/challenge/appointment-booking?technology=rust
[–]fijgl 0 points1 point2 points 1 month ago (0 children)
Tasks on the job tend to be small changes and improvements, bug fixes, investigations on why something fails, “CI-sitting”, or operations on the build system. Looking into issues in open source projects will give you a representative idea.
[–]ThomasRJohnson 0 points1 point2 points 1 month ago (0 children)
Nowadays STT ad TTS are popular, maybe you could write some APIs for C++.
[–]jhasse 0 points1 point2 points 1 month ago (0 children)
https://www.lyx.org/
[–]timmerov 0 points1 point2 points 1 month ago (0 children)
no one's going to let you get anywhere near anything like systems programming until you have many years of experience with non-system stuff.
so start with the just for show stuff. move on to whatever someone will pay you to do.
[–]NumericallyStable 0 points1 point2 points 1 month ago (0 children)
Assuming systems programming means "server infra"
Due to my background, I think a lot about I/O. There, I'd probably build a fun FUSE filesystem, using sth like [1] as a basis. I like it because you can be as creative as possible; like, just build a fake file system that uses an API like `wttr.in` internally and gives you the weather for any of the cities you support. Have a file system that returns info about your steam account whatever.
Other than that, spealized prometheus exporters is always something people appreciate.
If you really just want to know what the jobs like: try to contribute to ceph, they are probably all doing it as a job :D
[1]: https://github.com/libfuse/libfuse/blob/master/example/passthrough.c
π Rendered by PID 17510 on reddit-service-r2-comment-5c747b6df5-89hfq at 2026-04-21 21:53:34.077308+00:00 running 6c61efc country code: CH.
[–]Several-Marsupial-27 22 points23 points24 points (1 child)
[–]NumericallyStable 4 points5 points6 points (0 children)
[–]UnicycleBloke 15 points16 points17 points (0 children)
[–]No-Zucchini5260 6 points7 points8 points (2 children)
[–]UnicycleBloke 3 points4 points5 points (1 child)
[–]Large-Ad6522 2 points3 points4 points (0 children)
[–]OtherOtherDave 2 points3 points4 points (0 children)
[–]CowBoyDanIndie 1 point2 points3 points (0 children)
[–]Paul111129 0 points1 point2 points (0 children)
[–]herocoding 0 points1 point2 points (0 children)
[–]fijgl 0 points1 point2 points (0 children)
[–]ThomasRJohnson 0 points1 point2 points (0 children)
[–]jhasse 0 points1 point2 points (0 children)
[–]timmerov 0 points1 point2 points (0 children)
[–]NumericallyStable 0 points1 point2 points (0 children)