You have to start analyzing, what is it that you really want out of your career? Mastery of a development stack? Creating a start-up company? Project Manager? Set a goal, start with the end in mind and from there you can dedicate your steps towards that.
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.)
Thank you for the advice! I'm confident about my coding skills and have done few interesting freesoftwares that people have appreciated, but not really like those you have mentioned, the thing is I don't feel people whom I work with are up to the mark and that make me feel low and all people target me and wait to bring me down at times....this makes me feel sick!
I'm capable of being all those which you have said, but still not sure which :(
Why not go freelance? Or - a bit better - take medium-term contracts? That way you get to dive into things long enough to enjoy them, learn something new and (just as importantly, IMO) contribute something meaningful to the company you're at, then you move on as part of the agreed plan.
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)
Thanks, I'm not happy, first few days would be a good feeling and later on....doh! As a hooby I do work on freesoftware and contribute a lot via github.
Being independent is indeed the best thing to happen, but as you said it has it's own downside.
As a separate response, I think it's worth seeing if you can pinpoint WHY you're not happy after a certain amount of time. As kombinatorics says, you risk looking unemployable if you flit around a lot.
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 expect to see people change jobs often early in their careers. But once they've been in the business for a few years, changing jobs or projects that often is a bad sign. It's not just the fear that they'll leave quickly, but it's a sign that they possibly can't get along with anyone or aren't competent. It also means that they've never been on a project long enough to experience the results of their decisions on architecture, coding, etc.