What is Larry Thinking? #53 => Writing and Working

April 2, 2012

In this edition…

On the Web => Follow Me on Twitter! Redux

To reiterate something I said in the previous newsletter, I am now officially on Twitter. You can follow me using @LarryUllman. In the three-ish weeks since I started using it, I’ve only sent out maybe a dozen group tweets (not counting the ones directly to specific people), but at least there have been no “I am now having a sandwich.”-type tweets. Not by me anyway.

So far, a nice ego bump when it comes to Twitter is seeing people mention me (yes, yes, I am an idiot regarding Twitter; I didn’t know about that aspect at all). The annoying and stunning thing is that I’m occasionally getting hit up for technical support. It really quite amazes me that one would think I could provide free, instant tech support, and within 140 characters! Of course, I’m happy to provide free tech support, which is why I created my support forums, but I just don’t think Twitter is the best medium for it.

On the Web => Three JavaScript Articles I Wrote

In support of my “Modern JavaScript: Develop and Design” book, I wrote three articles to be published online by Peachpit Press. All three are now available:

The articles don’t require that you have the book. And, of course, they’re free, so check them out when you get the chance. Thanks!

On the Blog => MAMP without MAMP

For a couple of years now, I’ve used, and advocated using, the MAMP application as the easiest way to run a Web server on a Mac. I’ve started to change my thinking about that, as discussed in a recent blog post.

Q&A => Can I Make a Living as a Writer?

“Can I make a living as a writer?” is one of the more common questions I get, and one I never mind answering. Both Helmut and Scott recently asked me about the logistics of being a writer, so it seems like a good time to rehash the topic.

In terms of hard numbers, how lucrative writing a book is all depends upon how well the book sells. As a reasonable basis number, assume you can get $10,000 (USD) to write a book, which is the advance. Some publishers will pay more, some will pay less. It also depends upon who you are and what the book is. But $10,000 is fair. And that money is yours to keep, no matter what happens (assuming you complete the book to the publisher’s satisfaction). If you can write two books per year, that’s $20,000. If you can write three, that’s $30,000. In the past, there have been years in which I wrote three books in a single year, and it’s really hard to do, not just because you have to have three good ideas and enough expertise on three subjects, but because writing a single book is quite draining.

Added to that, write an article a month, just to get some extra income and to help promote the books. Let’s say you’re paid $500 each for those. Most of the articles I write pay less than that, but the occasional article pays dramatically more. One article per month at $500 per is another $6,000. Keep in mind that, as with the books, you have to have the ideas, have the knowledge, and then put forth the effort to get someone to buy the article. That’s all time consuming, but the actual act of writing an article isn’t that hard. It’s really just a professional blog posting.

So now, with a fair amount of work and effort, you’ve managed to bring in $26,000. At least in the United States, from this income you have to pay all the taxes and such, so the actual net may be more like $20,000. Does that constitute a living for you? I’m sure some of you would be losing a lot of money to take that deal and others would be fine with it. But I think that’s what you could reasonably expect as a bottom line if you’re a good writer and put in the necessary work. The other end of the spectrum depends upon how well your books sell.

A good seller in computer books is around 10,000 copies. Different titles have different expectations, but my understanding is that if you sell 10,000 copies, you’ve done well. This number varies greatly, but a decent expectation is that you, the writer, will make $2 per copy sold. If you sell 10,000 copies, that’s $20,000 on that one book. Minus the $10,000 advance, there’s another $10,000 for you. But that $10k will be spread out over some years. In my last statement, I received $11.19 in royalties for my first book published over a decade ago (with three new editions since then). The best part is that you’ve done no extra direct work for that money above and beyond the advance, but you can’t count on it, and you’ll likely have to do a lot of marketing work to help make that happen. Still, by earning advances for writing new titles and hopefully getting royalties on existing titles, you might be able to bring your total yearly writing income up to $30,000 to $40,000. Eventually.

In terms of harder numbers, you could probably consider me to be fairly successful as a computer writer (I mean in terms of actual sales, not necessarily the quality of the books, which is a different criteria). My first book came out almost exactly 11 years ago and I’ve now written 22 books, including revisions. I’ve sold approximately 325,000 copies in sum, for approximately $577,000. That may seem like a grand sum of money (and, to be clear, I’m happy to have earned it), but that’s over 11 years, which is about $52,000 per year during that time. Again, many of you would probably be thrilled with that number (and I’m okay with it), but remember that taxes have to come out of that and I get no benefits whatsoever. In the United States, benefits are normally estimated to be equivalent to the salary itself (i.e., if you’re being paid $40,000 per year, the company is probably spending another $40,000 for your retirement, medical, and other benefits). So one could look at that $52,000 per year as really being more like $26,000 per year, gross, plus benefits. And, again, I do fairly well for a writer. I’ll add that I’m just starting to make money through my blog, but right now that’s a few hundred dollars per year. Perhaps one day I’ll get that to a few hundred dollars a month, but I don’t envision this avenue to be a significant form of income.

There are some very hard numbers for what it might mean to make a living as a writer. For some people, the idea of making, say, $30,000 to $40,000 (USD) per year as a writer would be great. And there are intangible benefits. I work for myself, at home. I don’t commute. I don’t do many meetings. I learn and write about things I’m interested in. And there’s a lot of flexibility in my schedule which helps out tremendously considering the personal demands that I have. For other people, the idea of making that amount of money, with no guarantees, regular paychecks, or benefits would send them screaming to the nearest stable job.

I should add that writing does allow you to make good money doing related things. For example, I also do Web development and other programming, consulting, training, and speaking. My writing does act as a marketing agent for these avenues, meaning it’s easier for me to get work and I can charge a premium for those services.

All things considered, the general advice I have is: while it is possible to make money writing books (and/or articles), I wouldn’t recommend anyone to go into writing for that purpose. The odds of making money, let alone sufficient money, are slim. There’s a lot of competition, the publishing industry is definitely down, and the best payoffs are definitely in the long term. Also, in case I didn’t make this clear, writing a book is really quite hard. If you’re looking to go into business for yourself, there are certainly more stable, lucrative routes. It’d be much better to pursue writing only because you like to write and share what you’ve learned. And I’m not just saying that to cut down on the competition!

What is Larry Thinking? => Competing for Work

Some time back, William asked for my thoughts on how to compete for work, considering foreign competition and a tough economy. Two weeks ago, I was on the other side of the equation for the first time, as I ran a 99designs contest to have a new logo and business card created for me. I’ve been sketching out a blog posting tentatively titled “How Not To Get Work” about that experience, but I’ll toss out some thoughts here, too. (As an aside, the contest went great and I’ll post the details about it on my site soon. I got a great logo and business card, which are currently being used as the basis for a revamping of my Web site.)

This problem—a bad economy and competing with foreign developers who can offer bargain prices—is not new, although it may be new to those who haven’t been freelancing for that long. Just after I started in this line of work, the “dot com” bubble burst. At the time I was getting work through online freelancing sites like elance and guru, sometimes losing out to people that drastically undercut my price. For example, there was a big banking job that I lost out to a company in India that underbid me. That project would have been huge for me—around $22,000, I think, when I didn’t make that in a year, but on the other hand, I wasn’t really prepared or qualified to do that job at that time, so it was probably for the best. In any case, how does one compete?

In my opinion, you have to first accept two facts:

  • Just because a competitor is in X country and is willing to do the job for much cheaper, it doesn’t mean that developer won’t do as good as a job as you.
  • For the person buying the services, price is logical, significant factor.

I mention these two ideas because you can’t succeed if you get bogged down in excuses. The cost of living in X country may be a fraction of what it is in your country, which makes it possible for developers in X to offer what seem like cut-rate prices. But that doesn’t mean that developer can’t do the job. So the arguments for hiring you instead of those cheaper developers can’t be based upon that assumption. Second, while it is often true that you get what you pay for, it’s also true that business fail when they spend more than they have to. Accepting a cheaper bid doesn’t mean the client is cheap, it means the client is making a sound business decision (hopefully). So what can you do?

There’s only one thing you can control when competing for work: you. Focus on what you can do, not what’s wrong with the other developers or the client’s thought process. Towards that end:

  • Above all, be professional in every way. Every single thing you do should demonstrate professionalism on the highest level. This includes how well you handle not getting a job. You never know: your ability to handle failure professionally may just be the reason that the client comes back to you for a future project.
  • Communicate well, both in quality and in timeliness. Be prompt, responsive, and literate.
  • Offer the best, most appropriate price you can. Be aware of what other prices the client may see, but base your price on what you think is appropriate for the job. Do factor in how much you need the job, how much you want the job, and so forth, but try to strike a balance between asking enough that you won’t be annoyed if you get the job while still being as affordable as you can be.
  • Stress and demonstrate your less obvious strengths. While money is a mitigating factor for the client, it’s not the only one. If you can’t compete on a pure cost basis, work on other angles. For example, a developer in X country might be cheaper but may also be 12 hours away; a simple Q&A could take a whole day in that case. Or, if you will be available via IM or Skype, that’s a bonus.
  • Do the work in advance. The absolute best way to demonstrate that you’re capable of doing a job, and on time, is to do the job ahead of time. My second client ever, for whom I’m still doing work, was one I got when I did a bit of JavaScript for an elance project he was hiring for. During the bidding process, as part of my bid, I linked to a page where the client could see the finished work. It was easy for that client to hire me at that point. Yes, this means I did work for free, and because it was JavaScript, anyone could have stolen my code, but I had the free time and needed the money, so I went out on a limb. I did that many times when I first started and my success rate was high because of it.

William had also specifically asked about how to convince small business owners to start or revise a Web site. I will say that I’m pretty good at convincing someone to hire me to do a project, but I have no skill when it comes to convincing someone that a project is necessary. In short, I wouldn’t have the vaguest idea how to proceed here. I would guess that it’d be more effective if you tie some of your payment into the site’s success (i.e., establish quantifiable goals that trigger payments or bonuses). That would clearly convey that you believe in the project, but it is risky.

As a final piece of advice, I’ll add that getting the job (and the money) isn’t the only benefit to be gained from trying to get work. There’s a lot to be said for the experience gained by being involved in the process. Certainly that’s a “silver lining” perspective, but if you can handle the failure to win the job, you can learn a ton from just participating. With open eyes, you can see what clients are looking for and what winning developers are doing right. In thinking about my 99designs contest, which had approximately 100 designers, about a third of the designers really didn’t have the skill set to compete. But those designers did get to see what a winning designer does, how a client behaves, and how to manage the interaction. In my opinion, that’s all quite valuable experience.

Larry Ullman’s Book News => “Modern JavaScript: Develop and Design” and “PHP 5 Advanced: Visual QuickPro Guide” (3rd Edition)

The JavaScript book is done and available at a store near you. The early reviews seem to be good, for which I’m quite grateful. I already gave away half of the copies I had to people that replied to previous newsletters, so right now I’m not planning on doing another dedicated “Modern JavaScript: Develop and Design” giveaway. I might have a couple more copies to give away later in the year. We shall see.

Next week I begin writing the third edition of my “PHP 5 Advanced: Visual QuickPro Guide”, which will come out this summer. I’m finished the new table of contents and I’ll put that online soon. The current plan is to cut four chapters that contain material since covered in my other books. I’m adding four new chapters, too:

  • Debugging, Testing, and Performance
  • Design Patterns
  • A chapter that creates a complete example using OOP
  • Using the Zend Framework

There are also some minor cuts and additions. The general thrust in this rewrite is to expand the book largely in the areas of Object-Oriented Programming and advanced Web development. The OOP additions include design patterns, implementing MVC, using the Standard PHP Library, and an example application writing in OOP. For the latter, Im specifically thinking about things like using phpDocumentor, PDO, caching, and unit testing.

If you have any thoughts or suggestions, I would love to hear them. Thanks!