I should have spent some more time on job hunting, in retrospect. At my current job as a consultant I am back-end code-monkeying in a large team where most developers don't have a technical background - it's not very challenging from a technical perspective (even though I like the working environment in other aspects). My current employer pushes me to get certified for some front-end technologies, which I don't find interesting (and have no value for the gig I'm currently assigned to).
My true interest are OSes, drivers, optimization, FPGA's, electronics, compilers, assembly, microcontrollers, graphics... But I can't seem to find a job in that field, mostly because I don't have work experience in those fields. I also have a tendency to be very humble about my experience, which I think is a good thing in general, but I think sometimes people wrongly classify me as 'very junior'. On top of that, everybody seems to be looking for C# programmers, but the pay seems to be a bit lower in more technical fields. I don't care that much about my salary, but right now I am the one with literally the best background (4 academic studies), and the lowest income (basically every time I talk about it with someone, he/she goes "hm, that's pretty low"). I have had some good offers (about 15% more than I currently earn), but they came with a traineeship which seemed not very challenging and would force me to stay with that company for 2 years.
A very common scenario I end up in is that I'm talking to a very enthousiastic HR person ("I think you're a very good fit for our company!"), but the offer ends up very low ("Well, you're a junior after all.").
I am thinking about quitting my current job to brush up some skills (mainly Python, Vulkan, OpenGL, and some OS API stuff) and build a portfolio, but I'm too afraid to be unproductive and end up in a worse situation than before (about 1 year of working experience and a giant gap in my CV after that). Has anyone been in a similar situation? Any advice?