LOL are you me, because that sounds very familiar. I cruised along at Google for many years, got bored, quit to try my own startup idea, didn't work out, now working in some SV startup. (Can't say I'm getting better challenges, but at least I'm tackling them better.)
I think you got enough advice, so I'll just add a few points:
* Challenging oneself to try harder is itself a skill. Don't lie to yourself that you're only using 10% of your capacity - it implies that given the right condition you'll be 10x as productive, but we all know "the right condition" never happens. Truly productive engineers (and I saw a lot of them at Google) bring the right conditions to themselves. At best, you will be something like ~2.5x productive, if you try your damnest.
* Google still has tons of different projects. I don't know how easy it is to transfer internally these days, but at least try to find something that sounds interesting to you. A lot easier than changing the company.
* Googlers have complained that "all we do is moving protocol buffers from one place to another," since forever. That's part of the job: truly interesting stuff doesn't happen that often. And yes, I think the problem is more pronounced at Google, because really interesting problems were already solved by much better people, so you end up moving protobufs. But all other places have similar issues, more or less (see point 1 above).
* If you decide to change places, do NOT look for higher hiring bars. (I'm not telling you to avoid them: I'm just saying they're irrelevant.) Google already has a pretty high bar, and tons of incredibly talented engineers. Having extra hoops during the interview did't motivate anyone, and it wouldn't you, either.
I'd say moving to a different company/team every few years is a very useful way to keep oneself motivated. I personally make it a habit to look for different opportunities every few years. Even if I decide not to move after evaluating options, it helps me keep motivated. And when you do move, there's nothing like the excitement of learning new things and feeling a bit nervous/anxious in a new field and having/wanting to prove oneself that will keep you motivated and focused.
As for "moving protocol buffers" - indeed, all code does, at the smallest level, is just moving bits and flipping bits. There's no amazingly interesting things in computer science when broken down. What's interesting is what happens in between and what the combination of all of those accomplishes together. What it accomplishes is what matters. We're all just standing on top of the shoulders of giants that is collective human knowledge, adding tiny bits of our own contributions on our luckiest days, and just barely holding onto the shoulders in our normal days. If you're not advancing human knowledge, keeping some tools used by millions working is useful and meaningful. Keeping millions of people entertained is useful. Providing tools for other thousands of engineers is meaningful. The meaning of a job is what you define it to be.
Even if you decide you won't find meaning in the job itself and decide to take it purely as a "to-make-a-living", necessary-evil endeavor, what you achieve through it can be personally meaningful (provide for your family, for your personal experience, for society, etc).
I think you got enough advice, so I'll just add a few points:
* Challenging oneself to try harder is itself a skill. Don't lie to yourself that you're only using 10% of your capacity - it implies that given the right condition you'll be 10x as productive, but we all know "the right condition" never happens. Truly productive engineers (and I saw a lot of them at Google) bring the right conditions to themselves. At best, you will be something like ~2.5x productive, if you try your damnest.
* Google still has tons of different projects. I don't know how easy it is to transfer internally these days, but at least try to find something that sounds interesting to you. A lot easier than changing the company.
* Googlers have complained that "all we do is moving protocol buffers from one place to another," since forever. That's part of the job: truly interesting stuff doesn't happen that often. And yes, I think the problem is more pronounced at Google, because really interesting problems were already solved by much better people, so you end up moving protobufs. But all other places have similar issues, more or less (see point 1 above).
* If you decide to change places, do NOT look for higher hiring bars. (I'm not telling you to avoid them: I'm just saying they're irrelevant.) Google already has a pretty high bar, and tons of incredibly talented engineers. Having extra hoops during the interview did't motivate anyone, and it wouldn't you, either.