PodSearch

Developing Perspective

#12 - Going on Vacation

 

00:00:00 ◼   ► Hello and welcome to Developing Perspective. Developing Perspective is a near daily podcast

00:00:04 ◼   ► discussing the news of Note and iOS, Apple and the like. I'm your host, David Smith.

00:00:09 ◼   ► I'm an independent iOS developer based in Herndon, Virginia. This is show number 12

00:00:13 ◼   ► and today is Friday, August 12, 2011. The format of Developing Perspective is that I'll

00:00:19 ◼   ► cover a handful of links, articles, things I found interesting in roughly the last 24

00:00:22 ◼   ► hours and then move over to a more general discussion towards the end. The show will

00:00:26 ◼   ► There will never be more than 15 minutes, and let's get started.

00:00:29 ◼   ► All right, first link I have today is an oldie but a goodie from Joel on Software.

00:00:34 ◼   ► It's called Camels and Rubber Ducky's.

00:00:37 ◼   ► And essentially, it's an excellent walkthrough back...

00:00:40 ◼   ► He wrote this in 2004, but I only recently came across it myself.

00:00:43 ◼   ► And it's an excellent walkthrough of principles of price theory.

00:00:47 ◼   ► And so, that's kind of the fancy economics speak for things like demand curves, incremental

00:00:53 ◼   ► costs, finding the optimum price, then you can scan other things like price segmentation,

00:01:00 ◼   ► and all kinds of other interesting things that you get into with the concepts of, "Well,

00:01:04 ◼   ► what do I charge for my software?"

00:01:06 ◼   ► You have a spectrum, say if you're an iOS developer, you can go for free ad supported

00:01:10 ◼   ► on the one end to all the way, I think the maximum price in the app store is $1,000.

00:01:15 ◼   ► You can also create in-app purchases to do things.

00:01:18 ◼   ► And this is just an interesting way to kind of look at it methodically.

00:01:22 ◼   ► Unfortunately, the end result, after all of the introduction

00:01:26 ◼   ► and theory, is that there's no right answer.

00:01:28 ◼   ► You're always going to be stuck between two worlds of trying

00:01:32 ◼   ► to find ways to have the people who really like what you do

00:01:37 ◼   ► to pay a lot and the people who are sort of interested

00:01:40 ◼   ► but not willing to really fork over a lot of dough

00:01:43 ◼   ► to give you something.

00:01:44 ◼   ► And this is why I would say right now it

00:01:46 ◼   ► seems like the most predominant and profitable method

00:01:49 ◼   ► to make money in the app store right now

00:01:51 ◼   ► to have a relatively low initial price, say $0.99, $1.99, $2.99,

00:01:56 ◼   ► something like that, and then have some kind of in-app

00:01:59 ◼   ► purchase that allows your small group of very committed people

00:02:03 ◼   ► who really like your app to give you more money for that.

00:02:06 ◼   ► Whether that's in a game where you

00:02:08 ◼   ► have some kind of consumable in-app purchase for coins,

00:02:11 ◼   ► money, upgrades, whatever it is, giving yourself

00:02:14 ◼   ► that kind of ability to be able to continue doing things,

00:02:18 ◼   ► to continue finding ways for people to give you money

00:02:20 ◼   ► just a great way to kind of maximize your profits. Of course, but you know, pricing

00:02:24 ◼   ► is always just a hard question and there's no one answer and I think that's ultimately

00:02:27 ◼   ► what makes pricing so frustrating. This is definitely a good read if you're not as familiar

00:02:31 ◼   ► with kind of some of the theory and fundamentals of pricing. Next, there's an article over

00:02:38 ◼   ► on Heroku. The actual article itself is talking mostly about their new CDER platform for hosting.

00:02:45 ◼   ► But what I was really struck by here is it's in their initial discussion talks about how

00:02:51 ◼   ► initially, so say in the days of yore and programming, often people were much more focused

00:02:56 ◼   ► on a single language.

00:02:57 ◼   ► You know, like, I'm a Fortran developer, I'm a C developer.

00:03:01 ◼   ► And they'd sort of run that for their whole career.

00:03:03 ◼   ► And it becomes something that was almost just sort of they would be a zealot for that language.

00:03:07 ◼   ► And I was kind of struck by how they were saying that increasingly, that's sort of the

00:03:11 ◼   ► opposite of the modern developer, where now most developers write in dozens of languages,

00:03:18 ◼   ► and sometimes even on a regular basis.

00:03:20 ◼   ► I was thinking to myself, in a typical week, I will write Objective-C, Ruby, SQL, HTML,

00:03:28 ◼   ► and CSS at the very least.

00:03:31 ◼   ► And then that's not even getting into sort of sub-languages within those things in terms

00:03:35 ◼   ► of you could say that in many ways, you know, that using Cocoa and the way that Apple does

00:03:39 ◼   ► those Objective C is a slightly different language

00:03:42 ◼   ► than just sort of C in and of itself,

00:03:43 ◼   ► or Objective C in and of itself.

00:03:46 ◼   ► And it's just kind of remarkable to think that your brain's

00:03:48 ◼   ► able to kind of be flipping between all

00:03:50 ◼   ► those different languages in a way that makes sense and works,

00:03:53 ◼   ► which is just kind of an impressive thing.

00:03:55 ◼   ► And they also have a few interesting pointers

00:03:57 ◼   ► in that article talking about just different ways

00:04:00 ◼   ► that you can improve your skills and learn more languages.

00:04:04 ◼   ► Next, there's an article-- well, it's

00:04:06 ◼   ► the latest episode of Put This On,

00:04:09 ◼   ► which is an excellent series about dressing appropriately

00:04:13 ◼   ► and dressing well by--

00:04:16 ◼   ► as it was just released, the last episode--

00:04:18 ◼   ► this is episode seven-- is about personal style

00:04:21 ◼   ► and definitely worth checking out.

00:04:23 ◼   ► Next, there is a great little library

00:04:27 ◼   ► that I just came across trying to wrap up the keychain access

00:04:32 ◼   ► to make it a much more straightforward to work with.

00:04:34 ◼   ► This is something that, if you've

00:04:36 ◼   ► worked at all with the keychain, you

00:04:37 ◼   ► just how much of a pain it is.

00:04:39 ◼   ► It's a very low level C API that's kind of clumsy

00:04:43 ◼   ► and often feels very strange coming

00:04:45 ◼   ► from using a lot of the higher level Cocoa libraries to use,

00:04:49 ◼   ► and especially to make sure you're using it correctly.

00:04:51 ◼   ► The whole purpose of the keychain

00:04:52 ◼   ► is to make sure that the data you put in it is safe

00:04:55 ◼   ► from prying eyes.

00:04:56 ◼   ► And so this is an excellent library that is, at first

00:04:59 ◼   ► glance, looks really good for that as a way

00:05:01 ◼   ► to keep that data secure, but have a really simple, easy

00:05:05 ◼   ► interface for it.

00:05:06 ◼   ► It basically just turns it into a plain key value store,

00:05:09 ◼   ► and that's awesome.

00:05:11 ◼   ► And lastly, the last link for today

00:05:13 ◼   ► is an article by Brent Simmons talking about how to make

00:05:17 ◼   ► less code with less effort.

00:05:19 ◼   ► And so this is essentially ways to simplify your applications

00:05:24 ◼   ► so that you can reduce the amount of code

00:05:27 ◼   ► in your application.

00:05:28 ◼   ► And it will likely mean that you'll write fewer bugs

00:05:31 ◼   ► and better code.

00:05:33 ◼   ► This talks about things like synthesized instance

00:05:35 ◼   ► variables, reference counting, blocks in GCD,

00:05:40 ◼   ► all those types of things are text snippets.

00:05:42 ◼   ► There's lots of ways that we can improve

00:05:44 ◼   ► the way we build things to write less code

00:05:46 ◼   ► and accomplish the same thing.

00:05:48 ◼   ► This is an excellent walk through on that.

00:05:50 ◼   ► I think it's one of the fundamental truths of software

00:05:53 ◼   ► that the less code you can write,

00:05:55 ◼   ► the more likely what you wrote is to be correct.

00:05:59 ◼   ► This is often expressed in things like dry development,

00:06:03 ◼   ► so don't repeat yourself.

00:06:04 ◼   ► Whereas if you ever have two lines of code

00:06:06 ◼   ► that say the same thing, you're likely to be doing it wrong.

00:06:09 ◼   ► And those types of ways of refactoring code down

00:06:11 ◼   ► to very small, simple, and easily understood components

00:06:15 ◼   ► leads to better code.

00:06:16 ◼   ► And these are some tricks and tips to help you do that.

00:06:19 ◼   ► All right, that's today's links.

00:06:21 ◼   ► And for today's general discussion,

00:06:23 ◼   ► I'm going to be talking about vacation.

00:06:25 ◼   ► And it's a bit more timely and relevant

00:06:26 ◼   ► because I'm heading out on a vacation myself.

00:06:29 ◼   ► This will be the last episode for about a week

00:06:31 ◼   ► of Developing Perspective.

00:06:33 ◼   ► next week I'll be down at the beach with my family and not working at all. And so hopefully

00:06:38 ◼   ► if you're a regular listener you'll just stay with me and pick right up a week later. But

00:06:43 ◼   ► otherwise I hope it doesn't mess with your day too much. But anyway, I just wanted to

00:06:48 ◼   ► talk a bit about going on vacation when you're independent. So if you're a 9 to 5 salaried

00:06:53 ◼   ► employee vacation is a fairly simple thing. You get a set block of hours that you're allowed

00:06:59 ◼   ► to take vacation for, plus a certain number of fixed holidays during the year that you're

00:07:03 ◼   ► allowed to use.

00:07:05 ◼   ► I remember when I was a salary programmer, I would know to the hour exactly, you know,

00:07:10 ◼   ► it's like I currently have 37.25 hours of leave available.

00:07:14 ◼   ► It was something that I was very aware of and very familiar with because I always looked

00:07:18 ◼   ► forward to taking vacations.

00:07:20 ◼   ► I would be planning them, kind of looking forward to it.

00:07:22 ◼   ► You'd have to plan out your year to make sure you didn't take vacation when other people

00:07:25 ◼   ► were on leave so you could cover each other and so on.

00:07:28 ◼   ► And it became kind of interesting when I became independent because all of a sudden I don't

00:07:33 ◼   ► have a bucket of leave.

00:07:35 ◼   ► I don't have a vacation allowance.

00:07:37 ◼   ► I can – ostensibly, I could work 365 days of the year.

00:07:41 ◼   ► I could work two days of the year.

00:07:44 ◼   ► And the spectrum between those is entirely up to me.

00:07:47 ◼   ► And it's essentially I'm just trying to find that sweet spot between not doing enough work

00:07:52 ◼   ► to not make enough money and working too much that I go crazy.

00:07:57 ◼   ► So essentially what I've ended up finding is that, A, it's important that you do take

00:08:01 ◼   ► vacation.

00:08:02 ◼   ► It's just one of those, it's a really bad habit that I've fallen into from time to time,

00:08:06 ◼   ► where there are, again, go six, seven months without any breaks.

00:08:09 ◼   ► I'd be working five days a week, every single week.

00:08:12 ◼   ► And the thing that you find is you usually lose perspective.

00:08:15 ◼   ► You lose the ability to really understand what's important, to kind of understand, sort

00:08:20 ◼   ► of gain that insight into, okay, this is worth my time, this isn't.

00:08:24 ◼   ► You kind of get stuck into bad habits and ruts.

00:08:26 ◼   ► And one of the best things to do is to kind of pull yourself out of that.

00:08:29 ◼   ► And then when you come back, you're like, "Okay, what should I do?

00:08:33 ◼   ► What is, you know, what's worth doing?"

00:08:34 ◼   ► And you're not just sort of continuing this bad cycle of, you know, you kind of get into

00:08:40 ◼   ► a project, get into a project, get into a project, and before you know it, you're, you

00:08:43 ◼   ► know, you're a mile deep in it, and you can't really get out very easily.

00:08:46 ◼   ► So definitely make sure you take vacation.

00:08:48 ◼   ► Also, I think it's an important thing as a service.

00:08:52 ◼   ► This is more of a meta thing, but it's related to this is that as an independent, it's very

00:08:57 ◼   ► easy, especially if you do hourly work, to start thinking about your time in terms of

00:09:01 ◼   ► your hourly rate.

00:09:02 ◼   ► So say, for example, you charge $150 an hour as an iOS developer, which I think is a fairly

00:09:07 ◼   ► common rate these days.

00:09:10 ◼   ► And so that means if you work 40 hours in a week, you make $6,000 a week.

00:09:16 ◼   ► But it's very, very dangerous if you start applying that to more sort of more generally

00:09:19 ◼   ► When you start looking at it and say, OK, I could take a week--

00:09:22 ◼   ► I could go to the beach for a week, or I could make $6,000.

00:09:26 ◼   ► That's a very expensive vacation.

00:09:28 ◼   ► There's very few vacations most people would go on that cost $6,000.

00:09:33 ◼   ► And so it's kind of a dangerous slippery slope, though,

00:09:35 ◼   ► because then you end up not taking vacation.

00:09:36 ◼   ► You end up working too much, and then you end up burning out,

00:09:38 ◼   ► and then you end up making less money because you're burned out.

00:09:42 ◼   ► And so it's just a dangerous game to get yourself into.

00:09:45 ◼   ► And so it's something that I definitely recommend you try and avoid that.

00:09:47 ◼   ► There are some places where thinking of your time as money is appropriate.

00:09:51 ◼   ► And I think for me that comes down to finding those activities that you do on a weekly ongoing

00:09:57 ◼   ► regular basis.

00:09:58 ◼   ► These aren't special activities, things like vacation.

00:10:01 ◼   ► These are ongoing things that you do where you don't add value, where you're not doing

00:10:05 ◼   ► something that someone else couldn't do better.

00:10:08 ◼   ► Hopefully if you're a developer, part of why you're an independent, part of why you do

00:10:11 ◼   ► what you do is that you're good and that you're doing something that no one else can do in

00:10:16 ◼   ► the same way that you do.

00:10:17 ◼   ► You have a distinctiveness about your ability that is worth money.

00:10:21 ◼   ► For example, I don't mow my own lawn.

00:10:23 ◼   ► And one of the big reasons why I do that is I don't really mow my lawn better than the

00:10:27 ◼   ► guy I pay to mow my lawn.

00:10:28 ◼   ► He probably actually does a better job than I do.

00:10:31 ◼   ► And by allowing him to do that, it means that every weekend in the summer, whereas I could

00:10:36 ◼   ► be spending two or three hours mowing my lawn, I'm spending that time with my family, helping

00:10:41 ◼   ► me be recharged and restored for my next week.

00:10:45 ◼   ► And for me, that works.

00:10:46 ◼   ► Some people love mowing their lawn, more power to them.

00:10:49 ◼   ► You could save all kinds of other activities, whether that's accounting, bookkeeping, operational

00:10:55 ◼   ► things.

00:10:56 ◼   ► For example, I have someone who does that kind of work for me, all the tax compliance,

00:10:59 ◼   ► accounting, those types of things.

00:11:01 ◼   ► I'm a developer, I'm not an accountant.

00:11:03 ◼   ► So I hired someone with a finance background to do those things for me.

00:11:07 ◼   ► It's all kind of related to the same kind of concept.

00:11:09 ◼   ► And then what you end up doing is you're optimizing your time.

00:11:12 ◼   ► When I'm working, I'm working and I'm doing the thing that I'm good at, the thing that

00:11:15 ◼   ► I am truly distinctive in and I can make the most money doing.

00:11:19 ◼   ► And then when I'm resting, I'm truly resting and I try very hard to do that.

00:11:22 ◼   ► That when I go on vacation, sometimes I'll – and that's the interesting thing there

00:11:25 ◼   ► is when I go on vacation, I'll often program the things there.

00:11:29 ◼   ► I'm not working though typically on work that I actually – that's my main stuff.

00:11:34 ◼   ► These are the side projects that I've wanted to do, that I've thought about doing.

00:11:37 ◼   ► The toy ideas I've had that I'll then work on and I'll have this opportunity to do it

00:11:41 ◼   ► when I'm on vacation where I'm relaxed, there's no pressure, I can just pick it up, put it

00:11:45 ◼   ► down, there's no deadline, it's just kind of, you know, I enjoy programming, that's

00:11:48 ◼   ► why I do what I do.

00:11:50 ◼   ► There's nothing wrong with that.

00:11:52 ◼   ► So just some things to think about.

00:11:54 ◼   ► Like I said, I will be on vacation next week, so after this episode 12, the next one won't

00:11:59 ◼   ► be until a week from Monday, and at which point we'll pick that right back up where

00:12:05 ◼   ► we left off.

00:12:06 ◼   ► Hope you have a good week, enjoy it, take it easy, maybe take some extra rest yourself,

00:12:12 ◼   ► And otherwise, have a good week, happy coding, and I will talk to you in a week.

00:12:16 ◼   ► Thank you, bye.