What is Larry Thinking? #76 => Freelancing, Part 3

May 13, 2015

In this edition…

About This Newsletter

Howdy, hey! This newsletter is about two months late in coming…but that’s how it’s going for me lately. On the other hand, the price (for you) is right, no? Anyway…

This is the final issue in my three-part series on the business of freelancing. The first part spoke about starting out. Part two focused on working with clients. The most important concept explained in that newsletter is to rethink how you think about clients.

In this newsletter, I’m going to speak to what freelancing is in actuality, while you’re doing it. Well, what it was like in my experience anyway. (For context, I freelanced for 14 years before stopping in 2013 when I joined Stripe).

As always, questions, comments, and all feedback are much appreciated. And thanks for your interest in what I have to say and do!

On the Web => Real Working Hours

One of the tricks with freelancing is how you plan, and account for, your hours. You’ll inevitably do lots of work for which you cannot bill any single client:

  • Marketing
  • General email
  • Skill building
  • Accounting and paperwork
  • Drafting proposals

More dangerously, you may even end up working hours for a client that you don’t properly account for or bill. One of the biggest surprises when it comes to freelancing is that you can easily work 60 hours/week just to bill 40. There are so many non-billable things you’ll need to do.

One possible solution to this dilemma is to make your billing hours more effective. That could be achieved by adopting the Pomodoro technique, or by focusing on outcomes not output. This latter idea is explained in an article titled “Real Working Hours”.

On the Blog => How to Screw Up Professionally

In 2013, I had two experiences with two different business that screwed up. In both cases, these are business to which I have given a substantial amount of money. What was notable, though, is how professionally both of them screwed up. Which is not to say that they screwed up in a more advanced manner than the amateur could, but rather that in both instances the business responded professionally. So professionally, in fact, that not only would I willingly give them more of my business, I’d happily recommend those businesses to others. Even though neither of these businesses is remotely involved in technology, the pattern demonstrated by them is something that any business or consultant should take to heart.

This lead me to think about the importance of screwing up professionally, which I wrote about on my blog.

What is Larry Thinking? => The Pros and Cons of Freelancing

I’m not sure how it happened, but some time ago I was asked to answer on Quora the question “What’s life like as a freelance programmer?”. Unfortunately I think you need to be registered at Quora to read it, so I’ll recap my answer here, and elaborate some. I’ve got some pros, some cons, and some tricks to freelancing that will hopefully help you should you choose to pursue this life.

The benefits of freelancing are pretty obvious. First and foremost, you can work as many hours as you want, whatever days you want, and take as many (unpaid) vacation days as you’d like. Second, you get to work at home, so you can kiss that commute goodbye! Third, you’ll have no more annoying coworkers.

Those are the obvious but, frankly, trivial benefits. When I first started, before I had kids, I loved being able to sleep until I woke up. I also loved, loved, loved not having to commute (this is when I lived in Washington, D.C., where commuting slowly sucks the life out of you). However, the rewards of those benefits wear off in time.

The biggest benefit to freelancing, in my opinion, and the one that you can continue to appreciate, is that you have ultimate flexibility as to the types of work you do. Many jobs, if not most, have a high propensity to pigeonhole employees into roles. You’re the e-commerce person; they’re the CMS person; those two are the database people. When you work for yourself, you don’t have to be the person that only does X or Y, you can do whatever you want. When new technologies surface, you’re free to pursue them. I thought this was the biggest appeal of freelancing, and the best way to have longevity in the role.

If those are the pros, what are the cons? Again, starting with the obvious: you have no guaranteed salary and no benefits. Perhaps you can cope with the lack of salary, but the lack of benefits is hard. In America, you can get somewhat mediocre health insurance at a rather high cost. And you’ll need to do your own retirement program. When you’re saying goodbye to that commute, also give a hearty “ta ta for now” to paid vacations and sick days. And plan on making less money than you were for the first X number of years (could be 1, could be 5+).

Not only will you (in all likelihood) make less money than you were, you’ll spend more, too. A computer, desk, chair, printer…all coming out of your pocket. You want the latest version of some software? You’re paying for that, too. You want business cards? You’ll have to buy them. You’ll also find yourself paying for things you didn’t realize you need. For example, I spend $1,000-$2,000 per year on accountants, accounting software, and payroll services. And that expense is relatively fixed whether I earn $30k or $300k (note: I have never ever ever made anywhere close to $300k; I have often made around $30k).

A pro mentioned already is no more annoying coworkers, but you’re losing the good coworkers, too. And the social component. A coffee run or lunch with a friendly colleague? Not so much.

On a professional note, there’s no longer an in-house expert that can teach you the ropes or a peer to sound something out with. Using a colocation work space (also a cost) or getting involved in user groups can help in these areas.

As I wrote earlier, you’ll spend a lot of time doing non-billable things, or unpleasant things, such as chasing down dead-beat clients. And did I mention some people will stiff you? Yes, they will. And it really sucks. Contract or no, in 14 years I still had 2 clients stiff me (for different reasons) and it’s infuriating.

The major pro for freelancing, in my opinion, is the ability to learn about any technology you want and work on any type of project you want. The con is this clause: “in theory”. The fact is you’ll probably make more money if you specialize, if you become an expert in a thing. Yes, you can start learning Node.js tomorrow and decide you’d like to do Node.js projects, but it doesn’t mean you’ll be able to make money doing so. At least not at first.

My final con when it comes to freelancing is that it’s very hard to not be “on the clock”. It’s virtually impossible to say “no” to projects when you work for yourself, as that’s effectively saying “I have enough money already.” Which you don’t. Also, there’s there huge fear that once you start saying “no”, the work will stop coming in. The end result is that–if you’re lucky–you’ll have way more work than you have time. And you’ll make more work time by working more hours and cutting out time for non-work stuff. Similarly, it’s hard to fight always being “on call”. You’ll check your work email in evenings, on weekends, and while traveling. You’ll feel like you have to: no one else is covering for you.

Those are the pros and cons of freelancing as I experienced it. I did learn some tricks along the way, though. Keep in mind a fundamental rule of freelancing is that your policies, rate, and, well, everything will change as your success ebbs and flows.

My first and most important trick is this:

Mentally and emotionally decouple “money” from “work”.

Doing this one thing will greatly improve your success (in the long run) and reduce your stress. But whatever do I mean?

For one, for all the clients that do pay, and pay promptly, there will be a delay between when you do the work and when you get paid. The end result will be that some weeks you’ll work really hard and see very little money (cash in hand that week) and other weeks you won’t work hard but money will come in. It’s weird, it’s annoying, it’s a fact of freelancing. Further, as already mentioned, you’ll do a lot of work for which there is no direct payment to be expected: marketing, accounting, personal development, etc.

For the things that have a direct payment associated (i.e., jobs!), when you’re starting out, a job will pay much less than you’ll earn later on for the same work. Which, ironically, you’ll be able to do faster and easier. If you remind yourself that jobs and clients aren’t just a way of making money–they also provide experience, help you build a portfolio, market yourself, and come back as future clients, disassociating money from work becomes easier.

In that same vein, do be in the habit of giving away your time for free, especially as you’re just getting started. My Quora answer focuses on this aspect quite a bit and I believe it to the core of my being. Volunteer your time, your services, offer your work for free: doing so will reap rewards that you cannot imagine.

The next trick is somewhat obvious: get your name out there. For me, the books I’ve written play a huge role in this regard. Because of the books, development and programming work came to me; I didn’t need to spend any time or money with marketing, bidding for projects, and so on. This was a huge advantage. Writing books isn’t a reasonable approach for…anyone…but giving away your time and effort for free does wonders in that same regard. Work on open source projects (your own, or created by others), actively blog, help in Quora, Stack Overflow or online forums: make a name for yourself in some way and work will come to you.

The next trick is to really manage your hours. Pay attention to how much you’re working and on what. Create routines and adhere to them. Early on, you’ll spend a lot of time learning and marketing yourself; as you get established, you’ll be doing paid work more, but build in time for continued education.

More importantly, build in downtime. Plan on taking vacations, even if those are just low work vacations spent at home. Build in time between projects! Projects will sometimes (often) take longer than expected. If you planned on having project A done by the end of May with project B starting on the first of June, your life will go downhill quickly when project A inevitably runs long. Believe me, I know! There’s a fine line here, as you don’t want too much downtime, although downtime is a great opportunity to improve your skills and catch up with things you always mean to get around to but never do.

The final trick to freelancing, which is the Holy Grail, is to find a way to make money while you’re sleeping. This is not easily done. Making money only through actual hours worked is fine, of course, but if you can make money through passive means, that can go a long way towards your mental and financial health. For me, the book sales generate some income on a regular basis. Other people create subscription services, Software As A Service (SAAS) platforms, rely upon advertising income, etc.

This can be hard to pull off, especially as a primary source of income, let alone a large amount of income, so I’d hesitate to recommend that anyone start off on such a path from the get-go. But once you have your feet under you, if you can find ways to passively make money, you’ll be in an envious position.

Larry Ullman’s Book News => Four Revisions Coming in 2015 and 2016

I just recently blogged about my forthcoming books for 2015 and 2016. First up is the second edition of “The Yii Book” (self-published), for version 2 of the Yii framework. I’m not providing an estimate of when that’ll be completed, but I’m making OK progress so far. I currently plan to release the book in three updates of about 8 chapters each.

Second, I’ll be doing the second edition of “Modern JavaScript: Develop and Design” (Peachpit Press). This is slated to be published by the end of the year (i.e., in 2015). I’ll post a revised table of contents in time, but the primary goals are to clean up anything not great in the first edition and to update/expand Part 3, Next Steps. Specifically I’m going to remove the discussion of the YUI framework (RIP), expand coverage of jQuery and jQuery-related things. Do more with the advanced material, and talk about the Node Package Manager, Grunt, and Bower.
Third and fourth, in 2016, I’ll be writing the fifth editions of “PHP for the Web: Visual QuickStart Guide” and “PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide”. I don’t know in which order I’ll be doing these, but both should be published in 2016. Both will be updated for PHP 7.
I continue to concurrently work 30–35 hours/week for Stripe (and don’t expect that to change), so I don’t imagine I’ll do much of anything else for the next two years. And then I’m never writing another book again. I’m kidding, but I’m going to need a serious break from writing by the end of 2016.
As always, thanks to everyone for your interest in what I say (er, write) and do! And, especially for reading my books!