PodSearch

Developing Perspective

#15 - Counting your Time

 

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

00:00:02 ◼   ► Developing Perspective is a near-daily podcast discussing the news of note in iOS, Apple,

00:00:06 ◼   ► and the like.

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

00:00:08 ◼   ► I am an independent iOS developer based in Herndon, Virginia.

00:00:11 ◼   ► This is show number 15, and today is Wednesday, August 24, 2011.

00:00:16 ◼   ► The format of Developing Perspective is that I'll cover a handful of links, articles, things

00:00:20 ◼   ► I found interesting since the last show, and then move on to a more general discussion

00:00:23 ◼   ► towards the end.

00:00:24 ◼   ► The show will never be more than 15 minutes.

00:00:26 ◼   ► Let's get started.

00:00:27 ◼   ► All right.

00:00:28 ◼   ► The first thing today is an interesting post

00:00:30 ◼   ► that I came across via a friend of mine, Mike Ash.

00:00:34 ◼   ► It's talking about Plausible Labs.

00:00:36 ◼   ► And Plausible Labs is essentially a software

00:00:39 ◼   ► consulting company.

00:00:41 ◼   ► The interesting thing about them is

00:00:42 ◼   ► that rather than being a typical company where

00:00:46 ◼   ► there's sort of an owner or a founder or something like that,

00:00:51 ◼   ► and then everyone works for them, they're a cooperative.

00:00:54 ◼   ► And they have this article that's

00:00:56 ◼   ► describing how that works and what that looks like for them.

00:00:59 ◼   ► Essentially, it's an interesting prospect

00:01:01 ◼   ► whereby the developers that join the cooperative

00:01:04 ◼   ► have to buy into it.

00:01:06 ◼   ► And then they share evenly in the benefits thereof.

00:01:12 ◼   ► And the interesting thing about that, I think,

00:01:14 ◼   ► is it's a very good way potentially

00:01:16 ◼   ► of being independent, but not necessarily

00:01:18 ◼   ► being totally independent.

00:01:20 ◼   ► So being fully independent has a variety of downsides,

00:01:22 ◼   ► specifically in the United States,

00:01:24 ◼   ► to things like insurance rates and overheads for accounting,

00:01:28 ◼   ► bookkeeping, those types of things,

00:01:30 ◼   ► where it's nice to be just an employee for a lot of that

00:01:33 ◼   ► so that you can just take advantage of those types

00:01:35 ◼   ► of benefits.

00:01:37 ◼   ► But then at the same time, it also

00:01:38 ◼   ► is nice to be independent in the sense of sharing richly

00:01:42 ◼   ► in the rewards of your work.

00:01:44 ◼   ► So if you do good work, you really get excellent work done

00:01:48 ◼   ► and are making great progress to actually benefit directly

00:01:51 ◼   ► from that.

00:01:52 ◼   ► I remember one of the most frustrating things

00:01:54 ◼   ► being a sort of salaried software engineer,

00:01:57 ◼   ► was that I would feel as though there

00:01:59 ◼   ► was no real connection between the quality of the work

00:02:02 ◼   ► that I did and the effort I put into that and the outcome

00:02:05 ◼   ► that I got financially.

00:02:06 ◼   ► And since I was there primarily for financial reasons,

00:02:10 ◼   ► that was always a bit frustrating.

00:02:11 ◼   ► It would always kind of be like, this work I do here

00:02:13 ◼   ► may in some amorphous way benefit my bonus, for example,

00:02:18 ◼   ► at the end of the year.

00:02:19 ◼   ► But typically, even there, it's like my bonus

00:02:21 ◼   ► is capped at a certain amount.

00:02:22 ◼   ► And after I've done a certain number of things

00:02:24 ◼   ► that I think are worthy of getting a full bonus,

00:02:27 ◼   ► it starts to become very counter motivating,

00:02:33 ◼   ► whereby rather than me feeling like everything that I do

00:02:37 ◼   ► to constantly be better for the business,

00:02:38 ◼   ► better for the business, better for the business,

00:02:40 ◼   ► is always better for me.

00:02:41 ◼   ► And that just creates a strange tension

00:02:43 ◼   ► that is part of why I like being independent.

00:02:45 ◼   ► If I do a good work, I benefit directly from it.

00:02:47 ◼   ► If I do bad work, I am hurt directly by that.

00:02:50 ◼   ► And that creates-- so if you're incentivizing the right things.

00:02:53 ◼   ► The things that I do that make me money

00:02:55 ◼   ► are good for the business.

00:02:56 ◼   ► Things that I do that don't make money

00:02:58 ◼   ► are not good for the business, and I share richly in that.

00:03:01 ◼   ► This is just an interesting thing I'd never really thought

00:03:04 ◼   ► about as a structure for a business

00:03:06 ◼   ► to have a little bit of the best of both worlds.

00:03:09 ◼   ► So definitely worth checking out.

00:03:11 ◼   ► Next, there was an interesting article by Benjamin De Cook

00:03:16 ◼   ► talking about his experience with writing an iOS app,

00:03:21 ◼   ► but doing it as a web app.

00:03:23 ◼   ► And essentially what he sounded like what he was doing

00:03:25 ◼   ► is creating some experimentation in really

00:03:28 ◼   ► what does that look like to make it HTML5, CSS3,

00:03:32 ◼   ► sort of awesome app.

00:03:34 ◼   ► And it's just interesting.

00:03:35 ◼   ► And I think his experience proves out

00:03:38 ◼   ► a thing that I suspected, where you can see that Apple really

00:03:41 ◼   ► is taking very seriously making web applications

00:03:45 ◼   ► first class citizens in the sense of attention

00:03:48 ◼   ► that they're giving to that.

00:03:49 ◼   ► They're making them as good as they can be.

00:03:52 ◼   ► And if you look at his application

00:03:54 ◼   ► and install it on your iPhone, it's

00:03:55 ◼   ► a pretty interesting application that is actually surprisingly

00:03:58 ◼   ► effective for web application.

00:04:01 ◼   ► And I think that's certainly encouraging that you can do

00:04:04 ◼   ► a lot with HTML5 in a way that you may not

00:04:07 ◼   ► have been able to previously.

00:04:09 ◼   ► I think it probably is getting even better in iOS5.

00:04:12 ◼   ► Of course, the challenge I think is still

00:04:13 ◼   ► there of the best HTML5 app is never going

00:04:16 ◼   ► to be as good as a native app.

00:04:18 ◼   ► That's just, I think, a given.

00:04:19 ◼   ► And so while this is very interesting,

00:04:21 ◼   ► and I think especially it's helpful for a more

00:04:24 ◼   ► corporate customer or corporate play,

00:04:27 ◼   ► where they're trying to create an application that

00:04:29 ◼   ► hits a lot of different people, I

00:04:31 ◼   ► think you'd probably in some ways

00:04:33 ◼   ► have more luck writing your application as an HTML5 app

00:04:37 ◼   ► than you would if it were using some

00:04:38 ◼   ► of these cross-platform tools.

00:04:40 ◼   ► Where the problem there is then you

00:04:42 ◼   ► have two levels of indirection.

00:04:43 ◼   ► A lot of them are still-- you're running

00:04:48 ◼   ► to their framework, which is then being interpreted

00:04:50 ◼   ► into the native.

00:04:51 ◼   ► And you have all these translations going on.

00:04:53 ◼   ► At least with HTML5, to some degree, most of them

00:04:55 ◼   ► are running WebKit.

00:04:56 ◼   ► For most modern-- at least most smartphones,

00:04:59 ◼   ► I think, other than Windows Phone 7,

00:05:01 ◼   ► I think are all WebKit-based.

00:05:03 ◼   ► And so you have a fair amount of consistency between them all.

00:05:06 ◼   ► And that should make your development much better.

00:05:08 ◼   ► Though I think native application development is

00:05:10 ◼   ► still probably the way to go for most customers.

00:05:13 ◼   ► And then thirdly, there's just a funny little article

00:05:18 ◼   ► that I ran across yesterday that makes

00:05:21 ◼   ► you think of it's like a Bond movie or something, where it's

00:05:23 ◼   ► talking about how Venezuela is trying to move $12 billion

00:05:28 ◼   ► in gold from Europe to Venezuela.

00:05:32 ◼   ► And specifically, I think this is a lot of nationalistic

00:05:35 ◼   ► reasons behind it.

00:05:35 ◼   ► He wants to bring all the gold in and so on.

00:05:39 ◼   ► But it's just kind of a funny thing when you think about the prospect of how you would

00:05:42 ◼   ► actually do that is kind of complicated.

00:05:46 ◼   ► That amount of gold weighs about 211 tons and has a value of $12 billion.

00:05:50 ◼   ► So if you were able to, for example, steal it in transit, that would make you, I believe,

00:05:56 ◼   ► one of the top 20 wealthiest people in the world, which is quite a remarkable thing if

00:06:01 ◼   ► you think about it.

00:06:02 ◼   ► And so it's kind of all this article kind of walks through kind of some of the funny

00:06:05 ◼   ► things about that for the different ways they could do it and kind of what that would look

00:06:10 ◼   ► like.

00:06:11 ◼   ► So just the words, just sort of worth reading for a smile.

00:06:14 ◼   ► And our last link today is a thing from over on the Brooks Review.

00:06:18 ◼   ► And specifically, he's actually, it's a Brooks Review commenting on Robert X. Kringley's

00:06:23 ◼   ► article about whether the Mac Pro will die or not.

00:06:28 ◼   ► And essentially what he is talking about is he is speculating about if Apple may be heading

00:06:32 ◼   ► in a direction whereby they use Thunderbolt or things like Thunderbolt to be able to sort

00:06:38 ◼   ► of mix and match your, the fastest computer. For example, you would buy, you know, four

00:06:43 ◼   ► Mac Minis and daisy chain them together in some interesting way. You then take advantage

00:06:48 ◼   ► of the fact that Thunderbolt is essentially a system bus. I think it's, you know, sort

00:06:53 ◼   ► of PCI Express on a wire or something like that. And so you can actually get away with

00:06:57 ◼   ► with quite a lot of sharing between resources.

00:07:01 ◼   ► So you can have a machine where it has all of its processors

00:07:04 ◼   ► talking together and showing up as different cores

00:07:07 ◼   ► for the central processor.

00:07:10 ◼   ► They're sharing RAM, those types of things.

00:07:13 ◼   ► And I think I agree with Ben Brooks's take on that,

00:07:17 ◼   ► and I just don't see it.

00:07:18 ◼   ► I think the thing that is ultimately

00:07:20 ◼   ► where the Mac Pro falls into is the Mac Pro creates

00:07:24 ◼   ► a great bookend for the Apple line, where it is that is,

00:07:29 ◼   ► if performance is what you're after, buy a Mac Pro.

00:07:33 ◼   ► And it is priced accordingly.

00:07:35 ◼   ► They probably make good margins on it.

00:07:37 ◼   ► But it's also targeted at a very specific type of user.

00:07:41 ◼   ► And it's someone for whom their time is worth more than money.

00:07:46 ◼   ► Or if you look at it that way, they make a lot of money

00:07:49 ◼   ► with their time.

00:07:50 ◼   ► And so for them, spending $6,000 on a computer that

00:07:54 ◼   ► is the absolute fastest thing that money can buy

00:07:59 ◼   ► is totally worthwhile to them.

00:08:01 ◼   ► They make that back very quickly.

00:08:03 ◼   ► And in a way that--

00:08:05 ◼   ► also, I think it's important that--

00:08:06 ◼   ► I think what Ben talks about here

00:08:09 ◼   ► is that a lot of the people who buy Mac Pros,

00:08:12 ◼   ► as best as I understand it, are people who are,

00:08:15 ◼   ► for example, creative professionals.

00:08:17 ◼   ► Let's just say.

00:08:18 ◼   ► They aren't necessarily software engineers, they aren't hardware designers, they aren't

00:08:22 ◼   ► things like that.

00:08:23 ◼   ► There are a lot of photographers, videographers, graphic designers, those types of applications.

00:08:29 ◼   ► And the thing about them is those aren't especially technical people.

00:08:33 ◼   ► They're very technical in their particular sort of niche, whatever that may be, you know,

00:08:37 ◼   ► Photoshop or photography or those types of things.

00:08:40 ◼   ► But if you're talking about a system whereby you're daisy chaining different machines together

00:08:43 ◼   ► and building all this complexity, I don't think that would be especially appealing to

00:08:47 ◼   ► them. All they want to do is to go into the Apple store and say, "Hey, I'm a very successful

00:08:52 ◼   ► video maker. I want the fastest machine that you have." And to walk out with that, they

00:08:56 ◼   ► plug it in, and that's that. Rather than having it be this kind of niche thing that I think

00:09:01 ◼   ► a lot of geeks like myself, I could see enjoying that, kind of playing with it. It reminds

00:09:06 ◼   ► me a lot of the days back on the PC when I would tinker and build my own PCs. I'd be

00:09:14 ◼   ► different configurations, changing the CPU, changing the RAM, those types of things.

00:09:19 ◼   ► But I think for a lot of people, that just doesn't appeal.

00:09:21 ◼   ► Anyway, so I'm going to move on to our more general discussion today.

00:09:25 ◼   ► And today I'm going to be talking about billing hourly.

00:09:28 ◼   ► So if you do any amount of consulting, which if you're an independent iOS developer or

00:09:32 ◼   ► something like that, you've probably either done that or thought about doing that.

00:09:36 ◼   ► One of the sort of common ways that you will earn your money is that you will have a contract

00:09:40 ◼   ► with a customer whereby you are charging them per hour.

00:09:44 ◼   ► So say, for example, you're charging them $100 an hour, $125 an hour, $200 an hour,

00:09:50 ◼   ► whatever it may be.

00:09:51 ◼   ► And that's sort of the way that you quantify the work that you're doing for them.

00:09:57 ◼   ► And specifically, I'm not going to go too much about rates or negotiations, those types

00:10:00 ◼   ► of things.

00:10:01 ◼   ► What I'm mostly interested in talking about today is how you actually count your hours.

00:10:05 ◼   ► And this is, I think, something that I've talked to a lot of different people about,

00:10:08 ◼   ► And it's a very tricky and nuanced subject.

00:10:11 ◼   ► Because at the end of the day, you have to decide what's your goal.

00:10:14 ◼   ► Is your goal to get the most money out of your client that you can?

00:10:18 ◼   ► Is your goal to accurately represent the work that you do?

00:10:23 ◼   ► Is the goal to get a fair value for the attention and your XP expertise that you're giving that

00:10:30 ◼   ► client?

00:10:31 ◼   ► And it's kind of important to make sure you understand that.

00:10:33 ◼   ► And then I think beyond that, it's the importance of actually putting that into the contract

00:10:38 ◼   ► that you're entering into and be talking about why you're charging hourly, what is the purpose

00:10:45 ◼   ► behind that, what it is that you're expecting to be giving them in exchange for that money.

00:10:51 ◼   ► And then I'll also just point out is that hourly contracting often will almost always,

00:10:57 ◼   ► in my experience, be also joint with an hourly cap. So essentially, you're working fixed

00:11:05 ◼   ► price, but the client would get a discount if you don't use all your hours.

00:11:08 ◼   ► And that certainly gets tricky for if you don't finish the work and the hours are allocated

00:11:13 ◼   ► and so on.

00:11:14 ◼   ► But those are many, often very similar to things that you would have problems you'd

00:11:17 ◼   ► have with a fixed price contract.

00:11:20 ◼   ► Anyway, and so I always thought of recently thinking about this, I thought I'd go to the

00:11:25 ◼   ► place that probably does the most hourly billing and that is lawyers.

00:11:29 ◼   ► And specifically, I went to the American Bar Association and was curious about their policy

00:11:32 ◼   ► about it.

00:11:34 ◼   ► And they have a sort of a, I guess you could call it a best practices document that they

00:11:41 ◼   ► include in their sort of recommendations for attorneys.

00:11:46 ◼   ► And I'll link to it in the show notes.

00:11:47 ◼   ► But it has some very interesting things that I think are fairly sort of true.

00:11:53 ◼   ► And essentially what they're talking about is what your goal is to be reasonable.

00:11:56 ◼   ► Your goal is to represent your client's best interests in your hourly billing scheme.

00:12:04 ◼   ► So for example, they create a couple of different scenarios where one, for example, if you have

00:12:10 ◼   ► simultaneous appearances on a client's behalf is one they have.

00:12:13 ◼   ► Or perhaps a more interesting one is say you're flying on a – taking a plane trip on a client's

00:12:19 ◼   ► behalf.

00:12:20 ◼   ► In your contract, you're able to allow yourself to bill for that.

00:12:23 ◼   ► So from the time you leave your house to the time you arrive at your hotel, for example,

00:12:27 ◼   ► is billable time.

00:12:28 ◼   ► That's just part of your contract.

00:12:29 ◼   ► Now, say if on that flight you say, "I'm going to work for another client.

00:12:34 ◼   ► I'm going to work on the brief for them or I'm going to write this app for them while

00:12:37 ◼   ► I'm traveling."

00:12:38 ◼   ► You get to count twice.

00:12:40 ◼   ► You get to benefit both ways from that.

00:12:43 ◼   ► And a similar thing.

00:12:44 ◼   ► So say I do work for one client that creates a library, for example.

00:12:48 ◼   ► They talk about doing research.

00:12:50 ◼   ► in the software engineers view, maybe it's like, okay, I worked on a library for one

00:12:54 ◼   ► client that benefits directly the other another client, can I get to build for the time that

00:12:58 ◼   ► I wrote the first one? And I think what they ended up saying here sounds pretty, pretty

00:13:02 ◼   ► accurate. It's the rather than you looking to profit, and this now I'm quoting from them

00:13:07 ◼   ► from the fortuity of the coincidental scheduling, the desire to get work done rather than to

00:13:12 ◼   ► watch a movie, for example, or the lack of being asked to identical question twice, the

00:13:17 ◼   ► has agreed to build solely on the basis of time is spent as a blind to pass the benefits

00:13:21 ◼   ► of these economies onto the client."

00:13:23 ◼   ► Which I couldn't agree with more.

00:13:26 ◼   ► I think so much of this ultimately comes down to, as you're looking out for the best interest

00:13:31 ◼   ► of your client, you'll ultimately be a better sort of consultant for them, and which is

00:13:35 ◼   ► going to do good things for your business in the long run.

00:13:38 ◼   ► And secondarily, it's rather than trying to find all these little ways that you can sort

00:13:41 ◼   ► of squeeze an extra hour out, it's just going to be bad for business.

00:13:45 ◼   ► And I think you're going to drive yourself crazier than you would otherwise.

00:13:49 ◼   ► One thing that I'll say is this is sort of my policy for how I handle this is all of

00:13:53 ◼   ► my consulting work that I do hourly tends to have whatever a minimum unit of time is.

00:13:58 ◼   ► And that's probably the only part where it gets interesting.

00:14:00 ◼   ► Otherwise, I record roughly the exact time that I spend on each project.

00:14:05 ◼   ► And I try and organize my activities so that I only work on one thing at a time as much

00:14:09 ◼   ► as I can.

00:14:10 ◼   ► So for a lot of projects, let's say to the quarter hour to the half hour.

00:14:14 ◼   ► And then I'll bill to a minimum of that per day.

00:14:17 ◼   ► So if I only spend five minutes on a project,

00:14:19 ◼   ► I will go ahead and bill whatever the minimum is.

00:14:21 ◼   ► But if I spend 30-- see, my unit of time is half an hour,

00:14:26 ◼   ► and I spend 31 minutes, well, I'll charge him half an hour.

00:14:29 ◼   ► And it's just rounding to the nearest sort of increment

00:14:32 ◼   ► that I met Bill to, and that seems to work pretty well.

00:14:35 ◼   ► Anyway, so let me talk about sort

00:14:37 ◼   ► of the other sides of this a little bit later.

00:14:38 ◼   ► But that's all I have for today.

00:14:40 ◼   ► Anyway, I hope you enjoyed the show.

00:14:41 ◼   ► And otherwise, happy coding.

00:14:43 ◼   ► If you like the show, make sure you tell a friend, tell somebody about it, and share

00:14:47 ◼   ► the word.

00:14:48 ◼   ► Otherwise, have a good day.

00:14:49 ◼   ► Bye.

00:14:49 ◼   ► Bye.