For example on a modern PC you can write terrible code to access files, on poor hardware you really start worrying about file layout (i.e. file packs), access patterns, streaming, async (DC has DMA, even to VRAM), preprocessing before deploying and the tooling for that, asymmetric compression to improve CD read speeds, locality, file caching, etc.
The CPU also only has 1 level of cache and it is directly mapped, so you’re forced to learn about data oriented programming (SOA/AOS, hot/cold data, DC has some SIMD), tiling loops, CPU cache invalidation management, etc.
Nowadays I write software that blows the performance of the competition out of the water before I even start optimizing. It’s great fun in a challenging way and sharpens your skills. You should try it sometime.
We get to be all practical and stuff at our jobs.