If you actually want to enjoy your work, having a chance to create something new/different/efficient, in the environment where your "boss" is your peer, and your boss understand the value of 50% performance increase and is willing to spend time to understand why your backend is better than other's backend, then pick a startup.
I am not just saying pick my startup, no, pick any startup that fits you. There are so many companies out there, if you search hard enough you can find the product / team that interests you, and people you're willing to work with. That said, be prepared to work hard, to have to fix bugs on the weekends, to probably carry your laptop everywhere you go, and finally, to have a lower salary than before.
It's pretty simple, imho, you can't have everything all at once, but you can pick the combination that is right for you. All you need is to do it. Do or do not, there's no try. ;)