It's not just some "woot let's crush some code" and a weekend later everything works and that one difficult feature is working well enough for your live demo; this is having several different layers of functionality coming together and working in unison, each being relatively worthless without the rest of the whole.
When you're building something like a high-performance 3D pipeline, or a low-level embedded system, there's no MVP that really counts and there's seldom any little features to egg you on until these black triangle moments.
It's like being an aerospace engineer--the whole damn thing works, together and at once, or nothing does. That's why I've found web development to be such a nice break from the work I used to do: I can always make seeming progress, because I can always see the results of what I'm working on.
At the same time, I never get the same rush of accomplishment of seeing, say, a model loaded from a custom conversion tool rendered using multiple threads and being lit properly. It's a different sort of work.