Of course, there's interesting work to be done at all levels of the stack. However, not every company will allocate time for solving frequently-encountered problems with creative solutions. Often, it's "ok, what's the minimum amount of time we can spend to fix this problem *right now*?", rather than "how can we make sure we don't have to re-solve this problem again ten more times in the future?"
Not me, but a friend described a whole team of engineers at his company hired to put out the fires caused by using database software that is a poor fit for the application, rather than biting the bullet and either 1) performing a migration or 2) rolling their own solution.