You find ten people in an industry, you ask them what sorts of problems they have, or whether and for what they're using Microsoft Excel. If four or five (or better yet all of 'em) have the same problem, or use Excel for the same purpose, you build software that solves the problem or replaces Excel.
In a vacuum, your ideas are things that you can come up with. Maybe they're problems you have, but those problems might not be problems you're willing to spend money to solve. Often the 'idea' is something you as a founder think will be credible, and you end up with a "sitcom startup" (http://www.paulgraham.com/startupideas.html), something that might come from a writer's room.
I've never built a startup. I worked at a consulting firm that took money in exchange for building the software that some sitcom startups tried and failed to use, and I've worked at two successful venture-backed startups that followed the pattern of finding a problem and trying to solve it.
First customer (and their problem). I'd recommend 'Wizard of Oz'ing a solution to their problem for them before even writing code, if possible. Consult for/with them for free. If you successfully solve a problem for someone without code first, writing the code becomes a whole lot more straightforward.
Well.. you're here now. Speak on it. Did you find a user? How? Did that user have a problem your product solved, or did you iterate on the initial product to solve that user's problem?
I am a wantrepreneur with 4+ failed side projects. These aren't only solo projects. Two founders: no customers.
What comes first: the first customer or the first iteration of "an idea"?
I yield the time.