Great question. I have a few ideas that may help you come to a decision.
Comparison Matrix
The first suggestion is a bit anal & time-consuming. I've used this approach before for tough decisions and it's worked for me. But then again, that's just me. Create a matrix listing the pros & cons of each. For instance, column 1 is the startup. Column 2 is the large company. The first row could be salary. In each cell, you can give that item a score of 1-3 (1 being poor, 2 being okay, 3 being great).
In the first cell (startup's salary), you could list a 2. In the second cell (company's salary), you could list a 3. Then you continue down the list.
For extra geekiness, you could weigh each attribute. Perhaps the type of work is really important to you. You could multiple the numbers in that row by x2 or more.
Then you add up the numbers and see if one or the other has more points.
Earn or Learn
Mark Suster has another method: "Is it Time for You to Earn or to Learn?" The basic premise is that joining a startup isn't always an easy path to riches. A lot of hard work and time is involved. If you're looking for riches, to "Earn" (as he puts it), then you need to be a co-founder or high-ranking executive, not just an early employee.
Otherwise, you're there to "Learn," to grow your skills and your career. There's nothing wrong with this path. It just means your expectations change. You're not expecting to cash out and retire if you're on this path.
Opportunity Cost
Other consideration is the opportunity cost you will incur choosing one over the other. If you choose the startup, what will you have missed out on at the large company? I assume the answer might be:
- Working with smart people
- Having a stable salary & potential bonuses
- Career advancement
- Skill advancement
- etc.
What is the opportunity cost of choosing the large company over the startup? I assume it might be:
- Chance to steer the direction of a startup
- Leadership opportunities
- Potentially more interesting work (you alluded to not being sure of the large company's type of work, so I assume it's more interesting at the startup)
- Potential riches (though Suster's article dispels this belief)
- etc.
These are just sample bullet points. You can list the opportunity costs of each for yourself. Then look over the lists and see if one or the other incites a greater feeling of regret. It's my belief that one should never look back at life and have regrets. "It's better to have tried and failed, than to have walked away and regret never having tried at all," I always say.
It's All About The People
Job satisfaction is largely about the people you will work with. Which group of people can you see working with eight hours a day, five days a week (or potentially more)?
At a startup, you will see the worst in people. When times get tough, true personalities can emerge. Large companies tend to give people more room to hide this. Certain personalities thrive better in startups, other personalities thrive better in large companies.
One Last Point
This point is going to argue in favor of the startup, though I should state that I, in no way, am saying this is the better choice for you. I just wanted to share some of my personal thoughts having been in startups, Fortune 500 companies, and being a technical member of a startup.
The startup experience can be extremely harsh. As I mentioned before, all kinds of personality tics come out. There will also be disagreements that can reach personal levels. Being in a startup isn't for everyone. Be aware of this as you consider the startup.
At the same time, it gives you invaluable experience. You can't get this kind of experience at a large company at all. You'll be required to do a little of everything - from scaling the databases to setting up the servers to architecting the application code to dealing with cross-browser bugs. AND, you'll have to deal with marketing, operations, product management, product strategy, UI design, recruiting, customer service, and QA testing.
You can take this experience and get a job at a large company easily. This kind of experience is very desirable and quite transferable. It may even give you opportunities at other startups, opportunities that won't be open to you if you've only worked at large companies.
Being The Only Technical Member
Now, being the only technical member... this is an interesting role. You're going to be given a lot of power. They're going to trust you with the keys to the product, more or less. But you'll need to extend your influence further than just the technical realm in order to create a sustainable architecture. You'll need to know when to compromise and build it quickly (time to market is more important than scalability in an early startup), when to outsource or build it internally, and how to evaluate multiple technologies, and how to build a flexible architecture.
Many classically-trained developers that I know tend to get frustrated with ever-changing product specs. This is a fact of life in a startup, however. The best startups are the ones that can change on a dime (read about the lean startup practices for more info on being highly flexible & agile).
It can be stressful to not have anyone else to bounce ideas with, especially when dealing with architecture. This is where you'll need a good support system of peers. It can also be stressful to have product & strategy people imagining features that seem daunting to implement. This just requires an open, problem-solving mind, a lot of patience, and strong communication skills so you can explain to them the technical impact of their brainstorms.
One last point before I wrap up this novel. Just because their business model isn't great now doesn't mean they won't be successful as a team. I'm a firm believer that a smart group of people will be able to learn & adapt the business to the market. The lean startup practices are one way to do this. As their sole technical member, you'll be responsible for sharing your doubts, listening to their arguments, and helping them come up with a better business model.
I hope this helps. Good luck!