Developing Perspective

#75: Rates and Contracts


00:00:00   Hello and welcome to Developing Perspective.

00:00:02   Developing Perspective is a podcast discussing news of note in iOS development, Apple, and

00:00:06   the like.

00:00:07   I'm your host, David Smith.

00:00:08   I'm an independent iOS developer based in Herndon, Virginia.

00:00:11   This is show number 75, and today is Thursday, August 30th.

00:00:15   Developing Perspective is never longer than 15 minutes, so let's get started.

00:00:18   All right, so first, I just want to point out yesterday I released the third in my interview

00:00:23   series with Rob Rhyne.

00:00:24   If you didn't catch that in your podcatcher or iTunes, definitely check it out.

00:00:28   It was a really good discussion of design

00:00:31   and how that informs your development.

00:00:32   So I highly recommend checking that out if you didn't catch it.

00:00:36   All right, so for today's show, I'm going to be--

00:00:38   it's a bit of a follow-up or a companion show for this topic

00:00:42   that I talked about on Tuesday, which is all about consulting

00:00:45   and making the transition from one platform to iOS or Mac.

00:00:50   Today I'm going to talk a little bit about rates

00:00:52   and a little bit about the way you bill for your time

00:00:55   if you're doing consulting.

00:00:57   So a couple of sort of basic premises that I'm going to be sort of using for the purposes

00:01:01   of my discussion.

00:01:02   I'm assuming that you are doing consulting for the purpose of making a living, or at

00:01:07   least to increasingly make it your living in terms of the way you cost things, the way

00:01:13   you price things, the way you organize things.

00:01:16   If you're doing it as just like a side thing for fun, it's probably different than if you're

00:01:19   actually expecting to at some point make that your job, to make that how you make your living.

00:01:24   So I'm just going to be starting from an assumption that this is where you're trying to go.

00:01:27   That doesn't preclude you working on your own apps and those types of things.

00:01:31   But I'm kind of getting at it as if you're going to be doing this professionally,

00:01:36   you kind of approach it slightly differently. So I just wanted to set that up.

00:01:39   So generally when you're doing consulting, there's two different ways that you can price your work.

00:01:44   There are probably other variants, but for true consulting it's either going to be paid hourly,

00:01:49   so you're exchanging your time for money, or it will be on a project basis,

00:01:54   basis or often called firm fixed price or just fixed price, where you say, "I'm going

00:01:59   to get paid a certain amount of money to deliver a certain amount of functionality."

00:02:03   How long that takes is irrelevant.

00:02:06   You can get into other kinds of big sort of pseudo-consulting where you're not necessarily

00:02:11   paid all up front.

00:02:13   Maybe you're paid in revenue or royalties or you're paying kind in other kind of things.

00:02:20   It's like if you could potentially imagine you're doing work for something in exchange

00:02:23   for something else.

00:02:24   There's a variety of other things.

00:02:26   They start to get really complicated.

00:02:28   And especially things like revenue share and things, to my mind, those aren't really consulting.

00:02:34   Consulting is coming into a project and saying, "I'm an expert.

00:02:38   I'm a third party.

00:02:40   Have no vested interest in the outcome other than I want to improve my reputation.

00:02:45   I want to do a good job.

00:02:46   But I'm not financially invested in the outcome.

00:02:50   I'm financially invested in the production."

00:02:53   So that's kind of the two ways that you can get paid though.

00:02:56   You're exchanging your time,

00:02:58   or you're exchanging functionality for money.

00:03:00   And they're slightly different,

00:03:02   and it's always hard,

00:03:04   the most common question I ever get is which one's better.

00:03:08   Should I charge hourly,

00:03:10   or should I charge on a firm fixed price basis?

00:03:12   And there's no right answer.

00:03:14   And a lot of what that comes down to is

00:03:16   you're taking different risks in each case.

00:03:20   If you are doing the firm fixed price approach,

00:03:25   your risk is that the client will never accept the work,

00:03:28   and you will do hours and hours and hours and hours

00:03:33   and hours and hours and hours of work

00:03:35   and never get paid for it.

00:03:37   To only get paid partially or typically a firm fixed price

00:03:38   is something like maybe you're going to get,

00:03:41   a common one I've seen is half up front

00:03:44   and then 40% on delivery and 10% on acceptance

00:03:45   into the app store or after a certain maintenance window,

00:03:50   something like that, you kind of space out the payments.

00:03:53   And that works.

00:03:56   It's good, but you're always relying on the customer,

00:03:57   your clients saying it's done and signing off on it.

00:04:00   Hourly is a little different, because hourly you're saying,

00:04:04   you have a contract saying they're going to pay you

00:04:07   for so many hours of work.

00:04:09   And if you've worked those hours,

00:04:10   you're entitled to that money.

00:04:12   Versus in firm fixed price land where you can quibble about,

00:04:13   Did you finish?

00:04:15   Is it ready?

00:04:17   Those types of questions are a bit more abstract.

00:04:20   Usually what I'd say is-- and also it's probably

00:04:22   worth saying hourly contracts are almost always

00:04:25   sort of fixed price.

00:04:27   And by that I mean usually there's an hour cap.

00:04:29   So a client is going to say, I'm going to pay you,

00:04:33   for argument's sake, $100 an hour.

00:04:35   And you can spend up to 100 hours on this.

00:04:38   So it's a $10,000 contract.

00:04:42   And if you spend less than that number of hours,

00:04:44   you won't get paid for it.

00:04:46   Or you won't get paid $10,000.

00:04:48   If you were able to complete the work in 80 hours,

00:04:51   you're only going to get $8,000.

00:04:53   And so that's one tricky part of working hourly,

00:04:56   is you're potentially leaving money on the table

00:04:58   if you're truly doing it hourly.

00:05:01   Usually how that works in reality

00:05:03   is that the two are very similar,

00:05:06   because you're usually going to take up your full amount.

00:05:09   And if you're not, then you should probably be ready--

00:05:11   you're probably ready to transition into firm fixed price land.

00:05:16   I don't really know where I'd often recommend people start out.

00:05:20   And I say that because it's simpler.

00:05:23   You don't have to scope the work quite as aggressively.

00:05:25   The actual way you do your billing and the invoicing and everything

00:05:28   is much more straightforward.

00:05:32   It's just you start a timer when you start working,

00:05:33   and you turn off that timer when you stop working.

00:05:36   It's also probably worth noting, it's really important that you define

00:05:37   and how you're going to record your time in your contracts.

00:05:42   It's just, there's lots of different ways to do it.

00:05:44   You just kind of have to decide how you are going to do it.

00:05:47   Are you going to keep track to the hour rounding up or down?

00:05:50   Or are you going to keep track to the,

00:05:53   I think a lot of the lawyers in legal profession,

00:05:56   you keep track of time in six minute increments,

00:05:57   so you essentially tenths of an hour,

00:06:00   and you keep track of it that way.

00:06:02   You just have to make sure that you and your customer

00:06:03   are okay with the way you're doing it.

00:06:05   The actual method you use doesn't really matter.

00:06:05   Usually what I do is half hours,

00:06:10   half hours rounded correctly,

00:06:14   in terms of rounding up or down based on where it ends,

00:06:17   except for always rounding up the first half,

00:06:19   rounding up for the first half hour.

00:06:23   So that's usually my approach, but it varies a little bit.

00:06:26   I have some contracts where I'm still working on

00:06:29   that are a bit to a tenth of the hour,

00:06:32   and you just kind of use a clock,

00:06:30   a stopwatch, it's not a big deal.

00:06:35   So usually I would say, I recommend hourly first,

00:06:37   and you want to move into firm fixed price.

00:06:41   Firm fixed price has the big advantage of being very clear

00:06:43   and defined for what you're going to get paid,

00:06:47   and how much work you're going to do.

00:06:50   But moreover, what I really love about firm fixed price

00:06:53   is it incentivizes a behavior that I strongly encourage,

00:06:55   and that is efficiency and quality of workflow and development.

00:07:00   And by that I mean, if I have a firm fixed price contract for $10,000 to deliver this

00:07:04   app, the quicker I can develop that app and the more efficiently and effectively I can

00:07:08   do that, the more money I make.

00:07:11   Essentially, the higher effective hourly rate I'll receive for that work.

00:07:15   And so I'm incentivizing the right things.

00:07:17   The thing that I always struggled with with hourly consulting is that you end up with

00:07:22   this weird incentive that if I get towards the end of a project, say in that example

00:07:28   I said before where I have 100 hours, I'm basically wrapping up and I've hit 80 hours

00:07:35   of my contract.

00:07:36   I have this weird psychology of, are you going to start chasing down work that isn't really

00:07:42   needed?

00:07:43   Are you going to start finding things to do?

00:07:44   Are you going to slow down a little bit, be a bit more distracted?

00:07:49   I don't want to incentivize myself to not be working hard and working efficiently.

00:07:55   That's why I tend to like firm fixed price.

00:07:56   Usually I only do firm fixed price with clients I trust, so that's why I say you often start

00:08:01   with hourly because the people I do consulting with these days, which is pretty few, a lot

00:08:07   of my consulting is kind of behind me at this point, but the people that I do it with, I

00:08:10   trust that they're not going to be trying to string me along and pulling me out, sort

00:08:15   of, "Well, it's not quite ready.

00:08:17   Could you do a few more things?

00:08:18   Could you do this, that?

00:08:20   Could you add this feature?

00:08:21   What about this?

00:08:22   Could we squeeze that in?

00:08:23   I know it wasn't really part of the scope, but the app's really important to do with

00:08:25   this."

00:08:26   You have this weird thing that people end up with that,

00:08:29   for the clients that I use, I'm very confident

00:08:31   that's not going to be the case.

00:08:32   And usually what you really want to do is end up in a place

00:08:34   where your client wants to make you happy,

00:08:37   in addition to you wanting to make your client happy.

00:08:40   And so often this works out great for me,

00:08:41   you find a really good client, they want to keep you.

00:08:44   Hopefully they love the work you do

00:08:45   and really want to keep you working for them,

00:08:48   so if that's the case, you're doing well.

00:08:51   So that's once you kind of work through

00:08:53   you're going to invoice and contract the work, the real question is then what are you worth?

00:09:00   What rates should you charge?

00:09:01   How do you kind of work that out?

00:09:04   So first, it's kind of like they say in the housing market, your time is worth whatever

00:09:09   someone is willing to pay for it.

00:09:11   And by that I mean don't get too wrapped up into what your rate is so much as each project

00:09:16   in each negotiation is a new opportunity

00:09:21   to understand how valuable you are in the market.

00:09:25   And so don't get too wrapped up into,

00:09:30   "Well, I charge $150 an hour.

00:09:32   I charge $80 an hour.

00:09:35   I charge $20 an hour."

00:09:36   Like, whatever that rate is,

00:09:37   what's your goal when you're starting a consulting project

00:09:39   is to try and find that sweet spot

00:09:43   where you're being, you're charging

00:09:42   or making as much money as you can from the client, and the client is happy to do that.

00:09:48   Your goal is to try and make it so that both parties, both people, you and the client,

00:09:51   are happy and excited for that amount of money.

00:09:55   I had a friend of mine who was starting out consulting and he was asking me, "What is

00:09:58   your charge?"

00:09:59   And I was like, "Well, the thing is," I answered him at that point, "What do you need to live

00:10:05   on?

00:10:06   What would a reasonable salary be if you're going to be doing this full-time?

00:10:10   You have to cover those expenses.

00:10:12   And I think what he found was helpful is if you're starting off from that place of like,

00:10:19   "How much do I need to live on?" and then you're kind of working backwards potentially

00:10:23   is often a good starting point.

00:10:25   Because if you're not making enough to live on, what's the point?

00:10:29   Why are you doing what you're doing and spending all this time and effort building something

00:10:32   and working for somebody if you're not able to live on that income?

00:10:36   So at the very least, you're going to need to look at it in that way and say, "I need

00:10:40   whatever, $50,000 a year, $60,000 a year.

00:10:43   I think I'm probably going to be able to be working 75% of the time to account for time

00:10:49   in between projects."

00:10:50   And you kind of reverse engineer from that to a rate.

00:10:53   I'm not saying that's what you should bid or offer, but that's a good place to start

00:10:58   as a floor.

00:10:59   Because if you're not making sort of your floor amount, you're just hurting yourself

00:11:04   and you're hurting others.

00:11:05   I mean, it's kind of a funny thing to say,

00:11:10   but it's a common thing where you don't want to charge

00:11:12   too little because you're not just undervaluing yourself,

00:11:15   but you're also potentially hurting your peers,

00:11:18   your other developers, people, by setting up false

00:11:21   and unrealistic expectations for customers.

00:11:24   And so basically, the good rule of thumb,

00:11:27   if your customers aren't complaining or negotiating cost

00:11:30   with you, you're probably not charging enough.

00:11:31   Simple as that.

00:11:32   If you say, "Hey, I'm going to do this project.

00:11:35   "I think it will be about 80 hours.

00:11:36   "My rate's $100 an hour."

00:11:38   And they're like, "Sweet, that's great."

00:11:40   You probably low balled yourself,

00:11:42   because what you really want is them to come back

00:11:45   and be like, "We're in the right ballpark,

00:11:48   "but it's a little high.

00:11:50   "Maybe we can ease that back."

00:11:52   That means you are in the right place.

00:11:54   Maybe you knocked 10% off, and everyone's happy.

00:11:56   They feel like they got a deal,

00:11:58   and you feel like you're in the right ballpark.

00:12:03   What you really want to have happen at the end of the day

00:12:06   is make both people happy.

00:12:08   And charging or really starting off

00:12:11   with a nice high estimate or high value

00:12:15   you're putting on yourself is also your first line of marketing.

00:12:17   If you come into a negotiation,

00:12:20   you're trying to present yourself with an expert

00:12:23   who really knows his stuff and is really worth it.

00:12:24   And so if you come in and you're saying,

00:12:23   and like, "Oh, man, I'm only worth like,

00:12:26   "I charge $50 an hour.

00:12:28   "Is that all right?

00:12:29   "Is that enough?

00:12:30   "Is that too much?"

00:12:31   You're totally undervaluing yourself,

00:12:33   and you're not doing yourself any favors

00:12:36   from a marketing perspective.

00:12:38   What you really want to do is to come in,

00:12:39   and if I come in and say, "Yeah,"

00:12:42   it's like, "Yeah, I'm $150 an hour.

00:12:45   "I'm $200 an hour."

00:12:47   And that's a pretty big number.

00:12:48   It's the high end probably of what I think

00:12:50   a lot of people charge these days.

00:12:52   And what I'm doing though is I'm establishing myself

00:12:54   as I'm worth it, I'm valuable,

00:12:56   and if I work my way back from that,

00:12:58   the customer sees it as they're getting a discount.

00:13:01   And that's a good thing for them,

00:13:03   but I'm started from a place of saying,

00:13:05   you know, that first bit of marketing is I'm worth it.

00:13:09   I'm worth a lot, and if you get me, you're winning,

00:13:12   and especially if you get me at a cheaper price,

00:13:14   that's gravy on your mashed potatoes.

00:13:17   The thing I want to say is it's really a bad place

00:13:21   to find yourself, if you're winning a competitive contract on price.

00:13:25   You want to win because you're excellent, because you're awesome, because you really

00:13:29   are doing great work.

00:13:31   You don't want to win because you're the cheapest, because that's not putting either you or the

00:13:34   client in a good position going forward.

00:13:36   So you always want to be trying to make sure you're winning on quality, not necessarily

00:13:40   on cost.

00:13:41   So if you're in a competitive bid situation, I would far prefer to lose that because I

00:13:46   I bid too much, then to win that and find out down the road that I can't do the work

00:13:51   for what I bid for, or that it's not going to be worth my time.

00:13:56   So then of course the last thing everyone always asks is, well, what should I charge?

00:14:01   Right now, it seems like in the iOS development world, these are just kind of like, there's

00:14:06   no science behind it.

00:14:07   This is just me and my experience and talking to friends and people and so on.

00:14:12   You're probably looking somewhere between 75 on the low end dollars an hour and kind

00:14:16   of extrapolate it out from there if you're doing firm fixed price.

00:14:20   Probably 75 is the lowest I'd probably go if you have any experience or expertise.

00:14:25   Common rates probably going to be getting into maybe 125, 100, 125, 130, something like

00:14:31   that.

00:14:32   My typical rate these days is 150.

00:14:34   That's usually what I say.

00:14:36   At this point though, because I'm not doing ... I don't have a lot of interest in consulting,

00:14:40   It'll probably be 1/5, maybe even up to 200.

00:14:43   But that's kind of the range you should be playing in.

00:14:45   Anything below that, and you're sort of hurting yourself

00:14:48   and low balling the market.

00:14:50   All right.

00:14:50   Hope that's helpful.

00:14:51   That's it for today's show.

00:14:52   As always, if you have questions, comments, concerns,

00:14:54   I'm on Twitter as _DavidSmith.

00:14:56   And otherwise, I hope you have a great weekend.

00:14:57   Happy coding.

00:14:58   Talk to you next week.