"You become the people you spend time with...Here's a heuristic to keep yourself honest: if you were competing with a somebody for a job, would you be scared? If so, you want them as a co-worker."
IMO, framing the question of "where should I work?" from the perspective of "what will develop me into a better engineer/person in general?" is a really good idea. The time you spend at your job should be an investment in becoming more knowledgeable/thoughtful/capable, so you can better pursue your professional goals in the long run.
I like your framing.
There's just one thing that you missed - mentorship. The first job does disproportionately put someone on a career trajectory based on how they learn to operate. 10 years later, your first boss will have a higher impact on your career than your undergrad degree. This means that it is more important to pick the right first manager at a startup, then getting the firm right. Finding a boss whom you respect, that will give you time is the most important thing for a new grad.
"If your manager is stellar, at a minimum, you will learn and stretch your abilities. Moreover, if your manager is an outstanding engineer or director of something or first-class entrepreneur, he will have many exciting opportunities in next 1–10 years and if you are talented and display an outstanding work ethic he will be begging you to join him at his next endeavor."
From: http://www.quora.com/Startups/What-is-the-best-way-to-evalua...