

Ask HN: A company wants me to do professional training, how much do I charge? - ericmsimons

I had a very large firm reach out to me regarding professional training for AngularJS. The training will take 40hrs (15 live webex, 12 live Q&amp;A via WebEx, 13 providing e-mail support), and I have to write a curriculum around the specific topics they want me to cover during the live training.<p>This is the first time I&#x27;ve ever done professional training, and I don&#x27;t know the standard pricing for this sort of thing. Specifically, when do you typically charge by the head, by the hour, etc and how much for each?<p>(PS - if anyone here has done professional training before I&#x27;d love to pick your brain sometime)
======
patio11
You can charge them any number mutually acceptable to you. This is an
important lesson to get one's head around.

Some things which may help you calculate how to price and pitch this:

On-site training by an expert in an in-demand technology can very, very easily
hit $5k to $10k _per trainer per day_.

Sending an employee to a single conference on AngularJS would cost on the
order of $1.5k to $2.5k -- on the low end, $500 plane ticket, $300 hotel room
(2 nights), $350 conference ticket, $150 in per diem, etc etc. Seen in this
light, $1k per seat at the training is cheap at the price, _and_ they can
still get work done on days where they do training.

If it were me, I'd be shooting for anywhere from $25k to $50k for this gig,
depending mostly on a) how much I thought I could get and b) how tightly
scheduled the engagement was (an engagement which would get done faster would
counsel not being quite as aggressive on the quote, whereas one where the
email support dragged out over weeks would block other engagements and counsel
charging appropriately for that diminished productivity). It doesn't
particularly matter how you break that down on your invoice.

Remember, if you help a 5-person dev team bring in an application even 1 week
early versus having them self-study, the amount the company saves versus not
having you in is _considerable_. That dev team costs $50k+ every (two week)
payroll period.

P.S. A good question to solicit useful information from the client is "I want
to make sure that I have an appropriate curriculum given the group size, so,
how many folks do you anticipate attending?" If they quote a small number, you
can quote a per-project rate, if they quote a rather larger number, you can
quote a (smaller) per-seat rate which works out to a larger number.

~~~
ericmsimons
Thanks for taking the time to respond Patrick! I have two more questions:

When I quote them, how should I be breaking down the quote? (I'm thinking the
different price breakdowns would look something like "curriculum creation,
live training, email Q&A," etc?)

They're planning on having 23 devs in this online training session, do you
think that's enough where I would want to quote per seat?

(I'm a total noob at this, thanks again for your help!)

~~~
patio11
I don't think the mechanics of how you quote it to them matter all that much,
to be honest. They're more concerned with a) what they get and b) what the
cost is than how you break down your line items. Instead, I would prepare a
few backup plans such that you can negotiate scope rather than negotiating
rate if they come back with the answer that your initial quote is out of the
budget.

Example:

Proposal A: Curriculum creation + 15 hours live training for 23 attendees =
$25,000

Proposal B: Everything in A plus (fill in the blank) = $35,000

Proposal C: Everything in B plus (fill in the blank) = $50,000

So you could potentially have a conversation like "Alright, the budget is only
$40k, so we can't afford the proposal." "No problem, we just move the (email
support or whatever) out of scope and then we can do the $35k option." "Oh
great." or "$50k sounds a little steep." "If you'd like a less expensive
option to get started, we can just move (the email support or whatever) out of
scope and do the $35k option." "Well we really want the email support." "Sure,
that makes a lot of sense. After all, you have 23 developers working on this
project, so if we shave a day off your delivery timeline that saves you, hmm,
$23k or so, right?" "Sounds about right." "I think its quite reasonable to
expect that personalized email support about their _exact_ blocking issues
might let us shave at least a day off delivery timelines, don't you agree?"
"Plausible." "So seen in that light, it's virtually guaranteed ROI for you to
go for the email support in addition to the training, right?" "Alright, sure,
let's do it."

------
davismwfl
Just thinking out loud, but if you are going to have 23 students to 1
instructor in a single class, it may be hard to manage depending on how you
setup your curriculum. Having done a few of these types of things on large dev
teams (not 3rd parties really), the number of questions can get overwhelming
quickly even if you try and set aside question time separate from lecture.
Specifically, I am thinking if you are doing a hands on training versus pure
lecture.

Not saying it can't be done, but I would think for teaching a programming
language or a framework that a ratio of 1:10 would be more manageable when
doing hands on training. If purely lecture than it is likely not an issue.

I'd defer to people who have done more of this though as my experience is
limited. As for pricing, to me it is all about client value, and you already
got awesome advice.

------
darbelo
As ussual, patio11's "charge more" advice applies. You should bill at a rate
proportionate to the value provided, not the effort required from you to
deliver it. Your client knows what value they expect to get out of the
training, but they most likely have no idea of how hard you have to work to
deliver it to them (and even if they are inclined to guess, they will
underestimate it). Listen to Patrick, use a ROI argument and negotiate on
scope.

With that out of the way, I'm going to throw some caveats at you. The idea is
not to discourage you, just to make sure you realize the effort that will go
into preparing for those 40 hour of training you will deliver and price
yourself accordingly.

As a first timer on professional training, be aware that 20+ people to train
is a large number. You won't be able to achieve much personal interaction with
each student, and you might find a great deal of variance in their backgrounds
and skill levels at the start of the course. Be prepared for outliers, at both
ends of the spectrum, they can chew through time that would be better spent on
topics for the bulk of the class.

You will also find that large firms can be notoriously bad at gauging the
needs of their teams, you could deliver exactly what is asked of you by the
management without meeting the dev team's needs. Take a moment at the start to
gauge the team's expectations, explicitly ask them what they want to get out
of the training and try to work some of that into the lessons.

You will have to take some time to learn about the team you will be training:
Are they distributed? Do they all work together? Are they already working with
the thing you will train them on? Are they building line of business software?
Are they being rented out to third partys? All of this will influence what the
team and what management expect to get out of you, and therefore what you
whould deliver. Be ready to manage expectations from both ends.

Does it sound like a lot of work yet? This is just the start.

TL;DR be prepared for pathology on your first engagement. Charge more.

------
atsaloli
If you enjoy training, you could make a "Fundamentals" course you could
deliver to other clients.

I charge by the day for my CFEngine trainings: USD 2,500 to 5,000.

I also recommend you survey what your competition is charging - don't
undervalue yourself.

Is this a distributed team you'll be training?

------
zhte415
To add a little to other commenters: Make sure the goals of the training are
clear, with a checklist/scorecard agreed in advance, and proof of achievement
and development areas on culmination. An applied project is one way to do
this.

Doing so moves the focus from selling learning as a service to achieving a
framework and how to achieve that as a product. Most large corps I know use
SMART goal setting in their annual staff appraisals, which is extremely
compatible with this kind of approach goal-based approach to training, and is
a nice strategy to turn the proposal from a 'this is what our [client] idea of
an hourly rate is' to 'this is what I'm [training provider] giving you'.

------
taprun
Repeat after me: I am not selling training. I am selling a more capable, more
efficient development shop.

If you're teaching a group of twenty developers and you're going to make them
just 10% more efficient, then guess what. You've just made the company
AVERAGE_YEARLY_SALARY * 20 People * 10% == AVERAGE_YEARLY_SALARY * 2 (that's
the benefit to the company).

The better question to ask is, how much do I charge for handing the company
$300,000 (or whatever it is you're saving them).

------
debacle
If the training is going to take 40 hours, that means you're likely going to
spend close to 80 hours all told (prep, making up lesson plans, unexpected
overages, etc). I would recommend you plan accordingly.

10k per person per week isn't out of the ordinary (I don't charge that, but I
know those that do, or more), but if it's your first time to the rodeo, 2k per
would be much more reasonable.

------
nthj
I've taught a Rails 12-week bootcamp, delivered on-site Ruby on Rails
trainings for various Fortune 100 companies, and in a past life spent a
considerable amount of time teaching in another field.

Patrick covered the "charge more" side of things much better than I could, so
I'll say "what Patrick said times ten" and talk about things from the teaching
side. Here are some of the things I wish I'd known when I started:

* Both the trainees and the suits upstairs are very happy with “And here is the finished product we shipped to Heroku during our class”, even if this approach means you can't cover quite as many theoretical concepts. Think back to when you first start with a new framework: you're not sure how all the pieces fit together, yet, and until you ship a project or two you're not sure what you don't know. If they're sharp, they can fill the gaps in theory on their own—your job is to help them gain the confidence that they can ship.

* In my experience, trainees' eyes glass over after 6 hours straight or so, and covering new concepts is moot. If you have the freedom to mix up the training with 4-6 hours live, then drop down to QA, that should help keep their attention longer.

* I love mixing smaller exercises into the curriculum pretty regularly. Letting them actually try out the concepts helps them feel like they own it in their own minds.

* This may seem obvious, but schedule more breaks than you initially think you'll need. Your trainees will want a chance to get coffee and let things settle down in their minds. I'll usually give the trainees a full hour for lunch. I'll give myself at least 20 minutes away from the trainees to breathe, then I'm around to answer their questions during lunch before we start up again.

* You need two computers. One for WebEx, and one to run Google/Stack Overflow/debug quirky things off screen. It's much less confusing for your trainees, and far less stressful for you, to solve something on your own and then walk the trainees through how you solved it, than for them to try to follow everything you're trying in real-time.

* I'm not quite sure how WebEx works, but you need some form of group chat room if WebEx doesn't offer that already. A lot of your trainees are developers, and a lot of developers are introverted, and a lot of introverts will feel more comfortable asking questions via chat rather than piping up on a large conference call. Also, providing code samples and URLs orally is awful. Group chat solves that.

* If there are any tools or apps you recommend or require, make clear all trainees are expected to have them installed/compiled before class starts.

* This shouldn't be a problem since it's remote, but make sure all trainees have access to a computer. (You wouldn't believe how many of my trainees have shown up without computers...)

* I've taught anywhere from 3 to 20 developers at a time. 8 or so is my favorite. Any more than than and I highly, highly recommend you hire a TA for the live portions. The TA will be able to help you answer more questions, buy you a few minutes to get coffee and recover your own sanity, and if a trainee ends up with an issue that is halting the class's overall progress, the TA can focus on that trainee exclusively while you push forward.

(This is another reason to charge high rates: it allows you to do things like
hire TAs and deliver a much better experience.)

I'm nj@third.io. If you'd like to talk more, I'd love to hear from you.

------
jdawg77
I've done professional training, but never in a programming language. Having
helped to hire trainers before in front end engineering, CSS, Javascript, HTML
5, etc, I know that their billing rates were very similar to other
professional services providers. Specifically, their rate was whatever they
felt reasonable. When I traveled for on site training, I would charge $2,500
to $5,000 per day, depending on how far I was traveling, etc. Local on site
training was a different story, normally billed at the same exact hourly rate
as I provided other clients.

