There are six things every independent developer (or any entrepreneur for that matter) needs.
This is a list of what I believe these things are.
6) Goals and Rewards
Goals give you something to shoot for then provide gratification once achieved. In my experience it is best to have at least 3 goals at any given time; 1 small, 1 medium and 1 big. For example your small goal might be to complete the first 10 levels of the game you’re working on, the medium goal could be to complete and publish it and the big goal might be to get X number of downloads.
You should also try to reward yourself each time you achieve a goal. This will vary greatly depending on the person and their lifestyle but for me I like to reward a small goal with a pizza, a medium goal with a night off to watch movies and a big goal with a day off to relax playing games and catch up on some reading.
Guidance is vital when you are starting out. A voice of experience to help steer you in the right direction or map out the way from point A to B means you are not left feeling uncertain because you only have your own experience to rely on.
You can find guidance from all kinds of people in all kinds of places – many people find it in the Corona forum or on social networks after connection with other developers. Some people have found it from me and I have found it in others.
At the end of the day it doesn’t matter where it comes from so long as you have someone to talk to about your ideas who might be able to offer some new insight and encouragement.
It takes a lot of passion to get up and spend hours upon hours doing the same thing all day, every day for months at a time. Without passion this is a grind and will drain you until you hate what you do. (This is something I have experienced first hand but that’s another story.)
With passion the long days and nights spent dreaming of code are all worthwhile because you believe in what you’re doing, you care about it – it means something.
Friends are important regardless of your job but if your life is stressful they are the ones to get you through the hard times – and a developers life is nothing if not stressful, especially early on.
Your friends don’t have to be developers, (although most of mine are,) they just have to be people who are supportive of you, who can nurture you, prop you up, give you confidence, people you can trust and who you know, no matter what, have your best interests at heart.
These kinds of relationships will keep you sane.
2) Self Certainty
You must be sure of yourself, of your abilities and of your character.
There will always be people who will seek to make themselves feel superior by bringing others down. This has never been more true than in the internet age where people who feel threatened by you can hide behind a screen and talk a bunch of a crap.
Sometimes you may even do this to yourself – we all have doubt sometimes even if we’re confident 99% of the time.
When this happens you need to be able to see it for what it is, laugh and move on – without ever getting brought down by the negativity. (Even if that negativity happens to be your own.)
1) The Best Tools
If you want to be a builder you need tools. If you want to be a painter you need paint. If you want to be a pianist you need a piano. If you want to be a developer, you need the Corona SDK.
The best tools will give you the best chance at success – and that is what everyone needs at the end of the day.