I want to add a slightly different point of view from what has been previously answered.
First, I disagree that gameplay is the only important thing in a game. Visuals sell, and you will most likely have your game played by other people if you show a pretty screenshot that catches their eye. Because of this, I do not recommend you disregard art, or use stock or placeholder art for your game. This also goes for sound and story (if your game has one).
Second, I wouldn't recommend you work on a project alone. Having more people in your project is a great way to stay motivated, and also by sharing ideas with other members you are more likely to get a better game.
So what you have to do is gather people who are interested in making a game, and making a project with them. It sounds hard, but it is actually very easy, if you approach the problem from the right angle. I've done several indie games with other people, and I've had really good experiences doing so.
Let me tell you that you are in a very privileged position, being a programmer. There are lots of people in the world who love games and would want to make one for themselves, but only very few know how to code. Even though it is technically possible to one-man-army a game project being a programmer, it is simply impossible being an artist. You would be surprised to know that for every "how do I make a game if I'm a programmer and not an artist?" question, there are a dozen "how do I make a game if I'm an artist and not a programmer?" questions.
So, people are there. There's a lot of artists and musicians and game designers who want to make games, and would do them for free. Unfortunately, pretty much everyone who is able to competently participate in the development of a game will most likely not be interested in joining your game, so that's the problem you want to attack if you want to successfully make indie games.
In few words, it's (good) programmers that are scarce, not artists.
In my opinion, there are two ways to solve this problem. I've done both, and I can assure you both work.
If you're interested in making games, but don't have the specific requirement that they have to be your games, you can offer people to make their games! If you can prove you're a competent programmer, there are lots of artist forums you can lurk, and if there's an interesting idea, you can contact the artist by telling them you're interested in making their game. If you say it right, it is almost guaranteed they will say "yes".
If you can prove you can make and complete games (for every finished indie game, there are thousands of projects that will never end), and if you have a good idea, you can hit the forums and propose that idea. Maybe the first time only one person will join you, but if you can deliver a finished product, and make sure you publicize your progress and success in said forum, you will gain credibility and more people will be interested in joining you for your next project.
For my latest game, I was able to convince two graphic artists, one musician, one writer and nine voice actresses (two of them who are actually professional) to help me for free. Of course it is crucial to actually deliver. I did, and because of that I'm confident that I will be able to get their help, and other people's help for the next project.
Keep in mind both of these options are viable only if you're serious about making games. If you stop halfway, or if they sense you're not being serious, you will lose reputation, and people won't join you in subsequent projects, so proceed only if you're actually capable, and willing to walk the walk.