I have been working hard on a desktop software project. I have already invested 6 months of my time and effort into it and I don't know if I have even reached the half way mark.
Kindof getting discouraged from pursuing it further because:
- I have been reading articles that say that desktop applications are rapidly being replaced by cloud based apps, mobile apps etc.
- The market as such for this particular application is very small.
- I am a beginner and this is the 1st software that I am attempting. As expected in a beginner's project it is full of inefficiencies, hard codings and "what not to do"s. (though it does its job and I am rigorously testing it and would be surprised if someone finds a major bug)
- Professional companies have scores of talented and much more experienced programmers than me and I in my wildest dreams cannot hope to match up with the kind of applications that they develop.
Things in my favour:
- I have nothing much to loose. I have lots of free time at my disposal.
- I am a very stubborn person and I am prepared to face failures.
- If nothing works out, at least I will end up being more experienced.
Are those fears that I stated real? Have any of you come across similar situations/thoughts while working on a software project?
I think the experience you get from working on something like this (seeing as how it is your first project) is probably more valuable than any amount of money you could get from selling it. I personally would not really worry about whether or not it would sell, especially for a personal project. If you are really dedicated, you can build even more useful skills by going back through your work and fixing all those things you notice are wrong (refactoring poorly written code, etc.).
Getting discouraged because there are people better at something than you is absurd. There's always someone better than you no matter what kind of topic you choose to look in; focus instead on whether you are making progress and don't worry about how far you are from the best in the field. Instead, use that as motivation to become better; after all, if they could improve their skill to that extent, why not you too?
Let what defines you be your work itself, not the difference between your work and others'.