PodSearch

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.