I’m really enthusiastic about anything involved with Unix/Unix-like operating systems and their ecosystems (Mostly Linux and a bit of BSD variations). I also know a couple of programming languages including C, C++23 and OCaml. But other than doing a couple of tiny projects mainly to practice my programming skills in the languages mentioned above, most of my experience is theoretical and it comes from reading books, blogs and watching conferences.
I’m interested in gaining “actual” experience by doing systems programming related projects but I’m not sure how to get started. How do I decide on which topic to choose? A topic which would not be too overwhelming and actually achievable? And how do I gain the background knowledge needed to implement a project without ending up copying and pasting everything from existing implementations?
Thank you!
Making any polished/releasable project will teach you a lot.
To paraphrase it takes 20% of your time to do the fun 80% coding stuff and of your 80% time to do that last 20% polish etc.
You can look up anything you need as you go. Start simple and get core features going. Then add more once the core is totally finished.
Choose literally anything that interests you.