Whether you can make money depends on whether the market is willing to pay.
You have technical skills, were a top student, and got high exam scores—so why aren't you making money? It's simple: your boss isn't making money. If he can't even make money, how can you? Note this: just because he can make money doesn't mean you will, but if he can't, then as his developer, you definitely won't be able to either.
The key to making money comes down to one thing: are you needed? If you're needed, you're the boss. If not, you're squatting in the corner.
Observe your company's sales model: is it technology-driven or channel-driven? If it's the latter, the boss might make money while you don't. (Channel-driven means the key advantage lies in distribution channels, not in the technology itself.)
Be realistic. If you can see through this and are willing to accept how the world actually works, then it should be crystal clear which industries you should do R&D in, which you should do sales in, and what stage of each industry calls for R&D versus sales.