I think I made a mistake in specifying that I'd like to work at a big4 company. Sure, the prestige and the open doors that come with it are nice, but I'm much more interested in the type of people that these companies attract. I've found that I work best and learn the most when I'm around highly successful people in highly challenging environments. In my (admittedly limited) experience, some of the best engineers I know work at these companies. I want nothing more than to be able to work with people like this while solving interesting problems. If that means I work at a big4 company, great. If it means I get to work at a startup, even better; I've done a startup of my own and been a part of another that made a very successful exit.
The main point point I tried to get across (somewhat unsuccessfully) is that I need to work in an environment with a passionate, hard-working, highly-capable team in order to justify the time I have spent (and will spend) on software engineering.
The main impediment I've found in turning this goal into a reality is the technical interview. The way I see it, I either improve and make it happen, or I don't and move onto something else.