The challenge and the prize

There are many reasons some developers decide to choose being an independent programmer over working on any company: big or small. First of all there is a much longed for creative freedom: you get to choose in which project to work on. You might try to copy a successful project by someone and fix their mistakes or, probably, just come up with your very own idea.

Besides the creative freedom, there are other kinds of freedom: you make your own schedule, for example. You can work from home or from anywhere in the world. You set your own goals and, quite possibly you’re the only one to receive the prize (a.k.a. profit) from your endeavor. It’s like a dream come true.

But, if it is so wonderful… why so many Indie Developers fail? Why so many projects are unsuccessful?

Mostly because they underestimate the challenge that they are facing.

There are many steps to make your project successful

You can either take care of everything yourself...

... or invest money paying someone else to do it:

You will code, oh yes, you will code a lot. But you also need graphic assets like game’s sprites and UI buttons or screens. You will also need a website, a website’s hosting and many other things like sound effects for games or social media presence for apps, for example.
  • 01. Plan
  • 02. Plan some more
  • 03. Hardware and Software Requirements
  • 04. Knowledge and Expertise
  • 05. Marketing

01. Plan

First of all, it obviously takes some time to develop an original idea. Game or App, entertainment or business, it doesn’t really matter. So the first questions that you should ask yourself are:

  1. What is my level of knowledge and experience in the required language (or languages)?
  2. Do I need to learn something else related to that technology? Like APIs or Databases?
  3. How am I going to support myself during the learning phase? Will you be using your savings account or counting on someone else’s financial help?

Each and every project has its unique set of requirements. Maybe you will need to learn some basic Sysadmin stuff. Maybe you’re comfortable with relational databases and you’re making a leap for Big Data and non-relational databases.

If you’re already familiar with the programming languages, tools and skills needed for the project: either way you’re probably building something new. So you should definitely take that into consideration when you’re planning how long it will take and when considering how you’re going to pay your bills during that time.

02. Plan some more

If this is your first time as an Indie Developer, you should definitely underestimate your ability and overestimate the challenge. Most people tend to think that they’re faster than the average and that is statistically false (by definition).

Think about it

If you underestimate your speed and expertise and prove yourself wrong (you are better than expected), you’ll be hitting the market sooner than expected. Everything will be fine.

If you overestimate your speed and expertise and prove yourself wrong (you are not as good as expected), you might run out of resources before hitting the market: you might even need to abort your mission altogether.

The most easy way to be safe is to restrict the scope of your project. Don’t try to reinvent a better Unix O.S. (at least not as your first project). Don’t try to make a FPS game right now. Start with something easier, deliver that and slowly build up the momentum.

03. Hardware and Software Requirements

When calculating the money needed for this journey, you should also take into consideration if you’re already properly equipped for it or not.

When developing for iOS, you will need a Mac computer, there is no escaping that. And that computer should be able to run the latest xCode version as well as some other (much less hardware demanding) software.

If you’re developing a 3d game, the requirements can easily go up. If you want to create your own visual assets, it is going to take that much time for that. And, depending on your needs, you might consider using some SaaS like Adobe’s Creative Cloud (Adobe Illustrator and Photoshop) or buying alternatives like Sketch.

04. Knowledge and Expertise

As you might have noticed, building a complete game or a complete app is a task usually done by groups of several people: Graphic Designers, Project Managers, iOS Developers, Android Developers, Database Administrators, System Administrators, Marketing Managers and more.

Did you know that over 50 people worked on Fallout 3?

Obviously (we hope) you’re not aiming for such a big challenge. Either way you’re going to need those same skills to some degree in order to make your software a success.

05. Marketing

We have a specific blog post about how to market an app. Things like a Website, a Media Kit, and taking care of your first release in order to have better overall ranking are all covered there. You can also find even more detailed information about mobile apps marketing here.

Marketing in itself is a completely different area of study but part of becoming an indie developer is related to being at least familiarized with the must-have tools and best-practices in this field. Having a good Marketing strategy might define the success or failure of your project.

It doesn’t matter how well coded you app is or how interesting your game is. If no one ever downloads it, it is easily forgotten.