Earlier quoted context omitted.
For kernel dev and eBPF, what kinds of resources or tutorials have you tried in the past? Have you ever tried building something small or contributing to an existing project? Curious to hear what hurdles you ran into.
For kernel, I have tried to write simple modules and it's okay. But when I am going deep in the internals, things become really complicated and my memories from OSes exam are rusty. For eBPF, I wrote a quite simple DNS visibility tools and while I am okay with the logic, I struggled on writing low-level C code that parse the network packet. Moreover, I found documentation incomplete and really confusing, for example:…
From there, what’s helped me most is a cycle of reading new material, building prototypes and exploring how an open source system solves similar problems. I've definitely hit that wall as systems programming can get confusing fast.
I’ve also noticed that I sometimes get stuck trying to make something perfect before I’ve even started experimenting. Forcing myself to build the lowest-effort version of an idea has been surprisingly productive. Debugging things that don’t work is frustrating, but that failure often reveals insights I wouldn’t have discovered if I were overanalyzing.
You’ve probably seen some of these resources already, but just sharing in case any of it’s useful. I work with eBPF full-time and had many similar challenges along the way, but recommend jumping back in when you have the time.