Solving artificial problems
Too much software engineering work is busywork. My definition of busywork includes solving artificial problems, problems that we created for ourselves. They should have never existed in the first place.
Just like data structures are central to programming, the shape of data is central to some of these problems. Data is provided in some way (sometimes ridiculously obscure or obfuscated), but it’s just not possible to work with it in that way, and we have to figure out a way to transform that data so we can begin actually doing some work with it.