Mike Acton, our gracious facilitator of #AltDevBlogADay, has given us a challenge; show your ignorance (in other words, write about what you don’t know). I’m going to turn that on its head a little and instead write about what I didn’t know when I became an indie, so that you can have more of a head start.

For those of you that made the switch to indie (and those of you who are just about to), that’s great! That’s an important first step towards taking charge of your own destiny. Good for you!

I have been an independent game developer for over 11 years. Out of those 11 years, I have worked from my home office exactly 100% of the time. I’m still learning from my mistakes, so I thought it would be a good idea to point out some things you might not have thought about and give you a few warnings to help you better prepare for your new life as an independent game developer/contractor.

Since I am a software engineer by trade, I normally write about technical/geeky things (like, with source code). I’m starting my #AltDevBlogADay series with something a little different:

Fellow indies/contractors/others with a home-based business, this article is for you…

The Reality Check

First, I’ll come right out of the gate with a little reality check for you (and you might not like to hear it): life as an indie is really, really hard work. At your previous job, you might have been responsible for just programming or art or whatever it was that you specialize in, but when you’re an indie, you now have to think about everything else as well. Things like harvesting work, creating proposals to get that work, knowing how to create a budget for that work, invoicing so you can get paid for that work, and so on. Oh yeah, you still need to do the actual work too.

I’m not telling you this to discourage your decision, far from it. I’m simply reminding you that life as an indie isn’t all about “the 10-second commute” (though that is great), “working in your underwear” (more power to you), and working whenever/on whatever you want (while that is certainly true, there are certain aspects of that to consider which I’ll get to next).

These next few are somewhat related, but they’re important enough topics to stand on their own.

Know What You Need

What I mean here is know what your overhead is: rent, utilities, equipment and so on. You have to know what your outlay is every month so you can make sure you’re covered by the work you take on.

Remember, you don’t get paid time off or sick days any more, and you don’t get handed a benefits package. You need to be able to pay for all of these things as well.

Define Your Worth

Once you know what your minimum costs are, you can start figuring out what to charge your clients. Most of the time this will boil down to an amount per hour. Working at home is a nebulous thing with no set hours; you work when you want to, so it will often make sense to charge by the hour. Even if you can charge per-job or if the job is large enough, break it down into milestones. Even those kinds of budgets are based on an hourly rate, so know what yours is.

Don’t Forget The Tax Man

Most contractors, in the US at-least, have to pay their taxes via quarterly estimates (as well as filing at the end of the year). This means that you need to give the government and state a check every quarter. Whenever payment arrives, it’s a good idea to set aside a percentage of that (put it in an interest-bearing account in escrow, for example) to pay your estimates with. The last thing you need is to get hit with a huge tax bill and you’re not able to pay it, or get fined a big penalty.

Check the tax laws in your state to see what is required. I recommend finding a good accountant and work with them every quarter so they can calculate your estimates. It’s an additional cost to you but I feel they more than pay for themselves for piece of mind, plus they’ll know all about the nuances of what is and isn’t a tax deduction.

Cash-flow is King

Maintaining a healthy cash-flow has got to be the hardest part of life as an indie. This is something I struggle with all the time. Sorry to be Captain Obvious here, but payments need to arrive (actually in your hands, not just invoiced) before you need to pay for things. You do that by managing your cash-flow.

When you create your budget for the work/project, you have to know the payment terms of your client. Will they pay half at the start and half when complete? Weekly? Monthly?

Tightly coupled with this is how and when are they going to pay you? Sometimes it’s Net-15, where they have 15 days to pay upon receipt of your invoice. Sometimes it’s Net-30 for the larger clients (Net-60 in some cases!) If you have a client that pays within days of you invoicing, cling on to them tenaciously. Clients like that are rare. Also, try to get a wire payment; you won’t have to wait for a check to clear.

Once you know when (and how often) payments can arrive, you’re better prepared to make your work plan and will know how to break it up into chunks of payments.

Also, you’ll sometimes need to remind your client that payment is coming due. Don’t be rude about it (yet), sometimes your clients get just as busy as you do and they need reminding; just expect to sometimes have to do this. If you can, write a clause into your contracts that enforces a penalty for late payments. Of course, this is the first thing they want cut, but try to lobby to keep it in.

Another helpful tip is to ask your client at the start of a project and also somewhat regularly if anyone that needs to approve invoices, approve payments, or make the actual payment will be out of the office at any time during the project and try to plan your deliveries around that. If you’re waiting for a payment, one of the worst things that can happen is a delay caused by someone not doing their part. My experience is that they don’t temporarily assign someone else to fill in for them…you always have to wait (this has happened to me more than once). The biggest out-of-office minefield is Thanksgiving week to just after New Year.

Make Sure You Both Agree

When you take on client work, make sure that both parties are absolutely clear on what the work actually is. Make no assumptions, and spell everything out. Usually this takes the form of a Game Design Document (if you’re very lucky) or at least a Concept Document. When you submit your proposal, spell out every item the budget was based on and, more importantly, explicitly list everything that would change the scope and budget of the project.

Biz Dev, Biz Dev, Biz Dev!

You never know when your next project will be, so you should always be “selling”. Always try to find new leads and potential clients. If you can, set aside an amount of time a day or per week just where you focus on finding new leads. One way to do that is to reach out to past clients. If you don’t have any, introduce yourself to a company that you’d like to work with. This is effectively a cold-call (or email) so be careful not to turn people off. Perhaps go through your LinkedIn contact list. Another way to find clients is to have them come to you. You can do that by starting a blog or at least guest posting on another blog and public speaking. Don’t forget about local meet-ups too. Introducing yourself and expanding your network works wonders. You can use Twitter and Facebook to your advantage as well, but it’s usually the face-to-face meetings that really resonate with potential clients.

Before the economy took a down-turn, the lead-time for a project was quite long. Now it’s even longer so you need to start pounding the pavement early to line up your next projects. You can’t wait until the last minute or you’ll have bigger gaps between projects than you anticipated.

Work Hard, But Take Breaks

I am usually really busy all day (and very often into the night…like now) and some would definitely call me a workaholic, but I don’t consider myself one. I am blessed with doing a job that I absolutely love doing, so it’s also my hobby. This manifests itself as wanting to always ‘be working’. Since I’m a programmer, it means sitting for long periods of time; that’s not too healthy. (Some colleagues work standing up. I haven’t tried this yet but it’s an interesting idea.)

What I have to force myself to do is step away from the computer and take breaks. That includes lunch (yes, I used to always eat lunch at my desk). I also take some time for myself and go on the treadmill at a certain time every day. This allows me to ‘turn off’ and read a novel or some other non-manual kind of book. I always feel refreshed and focused. The fact that it’s also exercise is merely a bonus.

Eliminate Distractions

I can only talk about programming, but I imagine it’s the same for other lines of work: when you’re in the zone and really jamming and things are flowing freely, what’s the worse thing that can happen? You’ll get a phone call (or DM, or “urgent” email, or…) and you instantly have to slam on the breaks and deal with that interruption. When the phone call is done, you have to remember where you were and ‘ramp up’ again to get back to the same level of productivity.

It takes longer than you might realize for you to get back into that zone. Studies have been done that show this, something like 45 minutes if I remember correctly, but I don’t have any links to that research.

The metaphor I like to use to describe coding is REM sleep. It takes time to first get to sleep, and then even more time to get into REM sleep. When you’re jolted awake, adrenaline kicks in to wake you up, and it keeps you up longer than the event actually needs…so it takes time for that to wear off so you can get back to sleep, and then back again into REM sleep.

Where I’m going with all of this is that you need to set some boundaries when you work at home. For example, when the office door is closed, don’t open it (or knock on it). You might also consider turning off the phone, email app, and Twitter client for large blocks of time so you can concentrate on your work. This allows you to answer emails and voice mails when you are ready to answer them.

If the boundary is crossed (say, by a spouse or other family member), remind them that you’re working and it’s nothing personal, you just need to concentrate on what you’re doing.

Do Your Homework

There’s quite a lot to digest here, but hopefully I have highlighted something that you overlooked or didn’t think about.

Keep up the good work!