There is a third option that is more accessible than building your own products - consulting.
Clients seeking consultants have different interviewing tactics, even though the clients themselves have an engineering background. A good consultant is too expensive / too busy to be asked about detecting loops in linked lists or about how many balls can fill a bus. Therefore for a consultant references and a portfolio are what's taken into account.
And these can be built through hard work. At first you could build something for demonstration purposes and open-source it. Or you could work on a project pro-bono. Of course, consulting requires good marketing skills - but we are talking about generalists here.
That's a really good point, and reminds me of some thoughts I had last time I was at the white board explaining the difference between composition and inheritance. I was irritated as crap to be doing it, but I also realized that my irritation should be with myself. Even if I'm not a rock-star programmer with huge contributions to open source, I should, by this point, have a body of work that speaks louder than a technical interview.
Part of the problem is that many programmers still don't get to do open source work (I couldn't have revealed the source code to what I was working on at the time in an interview), whereas many other fields (design in particular) provide more opportunity to show off your work publicly. But there is a choice here, and as you've pointed out, it's important to make sure that at least some of your work is publicly available.
Even "demo" sites don't strictly need to be demo anymore - a small "real" app can be created, deployed, and used, even if the main purpose was to show off skills.
Clients seeking consultants have different interviewing tactics, even though the clients themselves have an engineering background. A good consultant is too expensive / too busy to be asked about detecting loops in linked lists or about how many balls can fill a bus. Therefore for a consultant references and a portfolio are what's taken into account.
And these can be built through hard work. At first you could build something for demonstration purposes and open-source it. Or you could work on a project pro-bono. Of course, consulting requires good marketing skills - but we are talking about generalists here.