When you keep jumping jobs, it means you haven't figured out what you want to dedicate yourself to because you easily get distracted by 'new and interesting' things. Truthfully, when anyone is really passionate about their job, they never see it as 'work', they naturally tend to stick to it for the next 3 or more years of their life - and those people are the ones who tend to naturally create "interesting" things (ex: 10gen, 37signals, Redis, NodeJS etc.)
I'm capable of being all those which you have said, but still not sure which :(
While that is effectively what you've been doing for the past three years, it'll come with a different mindset that might mean you're happier. (I'm assuming "help me" means you're not happy). For me, that's certainly one factor in why I prefer being an independent dev - but at the same time, I also get to enjoy working on good projects with great people for a run of time.
(Of course, being independent is for everyone, and has downsides, too)
Use the coupon MERRYCHRISTMAS at the checkout to get it for $0.
(The coupon runs out after five uses, in case other HNers get there before you.)
Edit : Thanks for the Christmas gift! :)
One option in your situation is making a virtue of it (my other reply), another is working out what's making you skip around. Indeed, I think that's pretty important for you to try to have a handle on so that you can make better decisions as you go. Tricky thing is, the WHY is not always easy to work out.
I learn fucking fast, so after some months in the job I know everything and it gets fucking boring and I start to get depressed :-(