Career Independence: Managing (And Avoiding) Feast and Famine Cycles

It's been an interesting 3 months since I decided to gamble away my Professional Career by leaving the cushy Desk Job, and becoming an independent, freelance software developer. And while spending the first two months totally goofing off is a great way to blow off some steam, it definitely takes a toll on the finances.

Now it's February, and I'm finally back behind my trusty computer console - focused on hashing out a handful of ideas I've toyed around with in the past. Unfortunately, I'm still at least 8 weeks away from having anything “presentable” to the public in Alpha or Beta form.

It's time to curb the excess spending and manage the burn rate until the expenses are within the means of the cash flow. While I'm not giving up a good Steak and Wine dinner for some Cup-o-Noodles, I have resorted to a whole bunch of “frugal living” changes that I haven't used since.. oh... college.

Managing the Burn Rate (expenses) to fall within the projected Cash Flow (income) is an essential skill that separates the successful freelance consultants from the rest of the pack. And boy, let me just say, it's been TOUGH to take the Burn Rate down from a once cushy Software Engineer's salary to, well, “zero with a handful of deals in the pipeline”.

This is the classic “Feast and Famine Cycle”, and I'm knee-deep in the Famine cycle. It'll remain a Famine Cycle until a few of those deals close and the payment checks are banked. 

How to Survive the Famine Cycle

Being in a Famine Cycle can be scary while you're in it, but it's pretty common when you're just starting out. The main things to focus on:

Exploring Opportunities
If you aren't networking and actively seeking work or sales leads, you are, effectively, out of business. Being able to network and explore opportunities is the other essential skill that successful consultants need.

Minimizing Expenses
You don't want to live on credit cards, so keep those expenses down to stretch out what's left in the bank.  Pay particular attention to the recurring expenses, as they will slowly eat away at your bank account.

Avoid Big Purchases
As above, if you can survive without it for a while, you can wait until your sustainable cash inflow can accomodate those big purchases.  Remember to pay attention to minimize those recurring expenses -- especially leases on these big-ticket items!

How to Survive the Feast Cycle

Being in a Feast Cycle is, well, pretty darn awesome. You get a feeling of empowerment, accomplishment, and you're ready to take on the world. And most of all, you're BUSY doing all that paid work. Despite the busy rush, however, you need to be mindful of some important things:

Continue to explore opportunities
Just because you're overwhelmed with work now doesn't mean that it'll always be that way. To avoid dropping back to a Famine Cycle, you need to be constantly networking and exploring opportunities. Set aside some time every week to focus on your marketing efforts. Think of it as time spent communicating with your customers to keep them happy. 

Schedule to Spread Out The Workload
If possible, try to spread out the workload through creative (negotiated) scheduling. You'll be more effective by focusing on fewer concurrent jobs, rather than spreading yourself thin and doing a lousy job across many concurrent jobs. KNOW YOUR LIMITATIONS.

Project Your Cash Inflows
If you've got scheduled deliverables tied to payments, keep it all organized so you know how much you'll be earning, and when you expect to receive payment.
Once you're satisfied that you have a sustainable cash inflow, you can consider those big purchases, or expanding the business.

Don't Go Overboard With Big Purchases
Just because the money is rolling in doesn't mean it's a good idea to lease a Porsche as a company car.  Your local Porsche dealer may disagree, of course.    Disregard this if you have a ridiculously high, sustainable cash inflow.

Grow The Business Responsibly
Sometimes the work comes in with an aggressive deadline. The first temptation (which is usually a bad idea) is to throw bodies at the problem. I'd avoid hiring unless I could reasonably project long-term income that can sustain those extra Salary expenses.  With additional bodies, you might need consider increasing your office floor space.

On the other extreme, being unable to say NO to new business when you can't handle the workload is equally detrimental.  If you're hiring Junior Developers, you need time to train them up.  Training time takes away from your development time.

These are just a few of the things I'm facing as a newly independent developer.  I'm having a blast learning the new technologies out there (IronPython,JRuby, GlassFish, Rails 2, Merb,  Django, YUI, and Dojo).  I'm still about 8 weeks out from putting anything out in the public, but as you can see from my R&D list, I'm working with some cutting-edge stuff.  I may continue with the HOWTOs on these bleeding-edge technologies, but I'm really leaning toward writing my own books on these topics.  (Anyone know anyone at Pragmatic Programmers, O'Reilly, Wrox, or Microsoft Press?  )

Of course, I do write some software too.