Instead of answering your question, I'm going to offer some generic life advice:
Figure out what you want. Even if it's just in the short term, but ideas of what you want in the long term are best. Use that to decide what you do month to month and year to year. I've noticed that most happy developers are only mildly interested in what their company does: they enjoy their work because it presents challenges and lets them work with people they respect. For these people, it's less about the salary than it is about the opportunity. The salary is important more for keeping your position in the market than to make you rich.
Do you have your own dream? If so, then it might be worth looking into entrepreneurship. Starting a business is less about being able to code your MVP than it is about learning what's available in the current market and being able to sell. Is your dream crazy? Is it crazy in terms of ambition, or crazy in terms of feasibility? The former is fine; the latter should make you step back and reconsider.
Your dream doesn't have to involve some engineering department at a corporation, either. You can be a developer in other settings. They're less obvious, but if you dig into your other interests, you might be able to find opportunities where your programming skill can contribute something huge.
If you don't have such a dream, you still have to make a living. Is it so terrible to contribute to someone else's dream in that case? You'll want to learn how to drive a hard bargain so that you can get the most from them out of the contract. Building someone else's dream starts looking fairly peachy when you're pulling in enough to not have to worry about money anymore.
Figure out what you want. Even if it's just in the short term, but ideas of what you want in the long term are best. Use that to decide what you do month to month and year to year. I've noticed that most happy developers are only mildly interested in what their company does: they enjoy their work because it presents challenges and lets them work with people they respect. For these people, it's less about the salary than it is about the opportunity. The salary is important more for keeping your position in the market than to make you rich.
Do you have your own dream? If so, then it might be worth looking into entrepreneurship. Starting a business is less about being able to code your MVP than it is about learning what's available in the current market and being able to sell. Is your dream crazy? Is it crazy in terms of ambition, or crazy in terms of feasibility? The former is fine; the latter should make you step back and reconsider.
Your dream doesn't have to involve some engineering department at a corporation, either. You can be a developer in other settings. They're less obvious, but if you dig into your other interests, you might be able to find opportunities where your programming skill can contribute something huge.
If you don't have such a dream, you still have to make a living. Is it so terrible to contribute to someone else's dream in that case? You'll want to learn how to drive a hard bargain so that you can get the most from them out of the contract. Building someone else's dream starts looking fairly peachy when you're pulling in enough to not have to worry about money anymore.