At the No Fluff, Just Stuff conference I attended last week, I managed to talk to a couple of the presenters and quietly ask about the rates they charge.
That’s always a dicey subject, of course, but it’s very hard to get good information about that. Software trainers don’t have a union, or anything like that. We also tend to be a pretty independent lot. Also, software developers are almost always highly opinionated, and trainers can be even worse since they have a soapbox to stand on. It’s easy to see how egos can bump into each other when we get together. The result is that my “market research” consists of talking to a few, trusted individuals and then negotiating with my favorite training companies as a subcontractor.
Those can be unreliable sources of information, though. Individuals can exaggerate and claim that they gate a particular rate when they rarely see it. Training companies want to minimize their costs so they may claim they can find someone else for a lower price.
My original approach was to talk to a good friend who was a trainer and adopt his price as mine. It also fit my budget, which is based on invoicing a certain minimum amount per month. Based on that amount, I know how many days I need to teach. I’ve learned over the past couple of years what my upper limit is before I start to get really tired and my quality starts to suffer.
For me, though, I still get many more requests than I can honor. Without any marketing at all, my schedule can get booked solid for months. It’s probably inevitable that I start wondering whether I’m undercharging for my services.
At the NFJS conference the presenters are among the leaders in the development industry. They consequently are in serious demand for their services, but mostly in the form of contracts. Most of them also do training, though, and they charge a premium for it.
Comparing my rate to theirs, though, is not so easy. I’m a trainer first and a developer second, though writing code is very important to me. I can’t imagine I’d ever be happy without being in a classroom occasionally, for reasons I’ve detailed here many times. Since I spend much more time and effort teaching than writing code, it’s also very unlikely that I’ll ever come up with some fundamental framework that everyone adopts, so I’m unlikely to be the sole or original source of some highly sought-after technology.
Still, it’s hard not to get greedy. I spoke to a couple of presenters at the conference, as I said above, and what they said gave me the feeling I was significantly underpaid.
Now, I’m not a presenter at NFJS. I don’t have major book publications to my name.
(Aside: I once read that Bruce Eckel, author of Thinking In Java — now in 5th edition, but whose first edition was my first Java book — said that the book didn’t make him a lot of money. Instead, being the author of that book helped him increase his rates considerably, and that made him a lot of money.)
I don’t run a consulting firm with lots of employees. I also don’t run a training firm with lots of employees. I occasionally work directly with a client instead of as a subcontractor to training companies, and that’s both much more lucrative and much more work.
Greed is a great motivator, though. So is jealousy. I don’t like either one, but it’s hard to ignore them. I suppose they’re acceptable if I use them as motivation to work harder and improve myself. I’m now thinking I should get more involved in book projects, for example, and become a better developer by doing more project work.
In the meantime, though, I prodded my clients by asking for a slightly higher rate. One client accepted without a second thought. Another pushed back, and I compromised. A third said fine, charge anything I want, but that it will affect what work is offered to me later.
I also had a change to talk to one of my friends at a training company and discovered that one of those presenters at the conference was lying to me, or at least exaggerating.
The upshot of all of this is that I have to periodically remind myself what’s important to me in this business. I want to work with clients I like. I want to work on state-of-the-art technologies using state-of-the-art tools (I’m never going to be a Microsoft Word trainer, for example). I want to make money for people I like. I want to help students do things they couldn’t do before. I’d also like to make a million dollars, but only if I can still do all the above.
Money isn’t the most important thing, not by a long shot. I need to have enough that it’s not an overriding issue, and there’s a certain amount of pride involved, too. I believe I am a very good trainer and I’m always working to get better. I think that’s worth a certain amount of reward and a certain amount of respect, a respect in this culture is often given in dollar amounts. Still, the key is to do what I want to do with the people I want to work with, and that’s awfully valuable. I spent years and years in other jobs where I didn’t get any of that.
My route to making money will be to learn what’s both popular and enjoyable and cutting edge and do a lot of that. That’s why these days I teach a lot of Hibernate, Spring, JSF, and Ajax classes. I also happen to like EJB3 and think it’s going to be very big.
In the meantime, I’m going to spend this afternoon digging into Dierk Konig’s Groovy in Action book some more and get ready for next week’s class.