PodSearch

Under the Radar

8: Vacation

 

00:00:00 ◼   ► Welcome to Under the Radar, a show about independent iOS development.

00:00:03 ◼   ► I'm Marco Arment.

00:00:04 ◼   ► And I'm David Smith.

00:00:06 ◼   ► Under the Radar is never longer than 30 minutes, so let's get started.

00:00:10 ◼   ► So today, somewhat tied into the time of year it is, we wanted to do an episode that was

00:00:15 ◼   ► a bit more like the ergonomics episode that we talked about a couple of weeks back, and

00:00:22 ◼   ► talk to us about something that's a bit less technical and a bit more about taking care

00:00:28 ◼   ► of ourselves and making sure that we're doing things that will help us to do our best work.

00:00:33 ◼   ► And to that end, I think today we're going to talk a little bit about rest, about vacation,

00:00:36 ◼   ► as well as a few other details about what it's like to be on vacation and the things

00:00:40 ◼   ► we have to do to make that work. But I know it's something that, over the course of my

00:00:44 ◼   ► career, I have been thankfully, I think, getting better at, but it took a long time to get

00:00:50 ◼   ► to a point where I could look at my work and say, "It's okay for me to rest. It's okay

00:00:55 ◼   ► for me to take breaks, it's for me to take vacation. Because when I used to work for

00:01:00 ◼   ► like a regular 9-to-5 job, I had vacation every year that I had to take or I'd lose,

00:01:05 ◼   ► and it was a certain measured amount, like I get two weeks of vacation a year, and I

00:01:09 ◼   ► would take it. Whereas once you're self-employed, once you're working for yourself, you have

00:01:16 ◼   ► to impose that on yourself. And for a couple of years, I really didn't do a great job

00:01:20 ◼   ► of that. It was really not good. And I would just kind of work and work. In some ways,

00:01:26 ◼   ► I'd get into a cycle where I'd work as hard as I could, and then at some point,

00:01:29 ◼   ► you kind of more sort of burn out, and then kind of have to be forced to take a break.

00:01:34 ◼   ► And that was not a great pattern. And so it's something that I've had to learn for myself

00:01:39 ◼   ► about the importance of and understand that in order for me to really work well, I need

00:01:44 ◼   ► to make sure that I'm well rested, that I'm taking care of myself. And that's just

00:01:49 ◼   ► something that I think we all have to learn is,

00:01:51 ◼   ► have you gone down that path of getting burned out before?

00:01:54 ◼   ► - I'm kind of getting burned out now.

00:01:56 ◼   ► (laughs)

00:01:57 ◼   ► - There we go, it's timely.

00:01:58 ◼   ► - Yeah, I mean, I've gone down that path

00:02:01 ◼   ► here and there before.

00:02:03 ◼   ► It's rarely on my own work.

00:02:05 ◼   ► I was more like during the Tumblr times,

00:02:08 ◼   ► you know, when I was there for four years,

00:02:11 ◼   ► because it was growing so quickly and so aggressively,

00:02:15 ◼   ► and because we were basically always in over our heads

00:02:18 ◼   ► during those first four years.

00:02:21 ◼   ► And we had no idea like how to scale the site next,

00:02:24 ◼   ► how to keep it running, what are we gonna do

00:02:26 ◼   ► when we have 20% more users next month?

00:02:29 ◼   ► Like that's, how do we scale to that?

00:02:31 ◼   ► And how do we match that?

00:02:32 ◼   ► How do we keep it all going?

00:02:33 ◼   ► That was incredibly stressful.

00:02:35 ◼   ► And so I was getting burnt out quite badly on that.

00:02:39 ◼   ► And I kept going 'cause I didn't really have much

00:02:41 ◼   ► of a choice for most of that time until towards the end

00:02:44 ◼   ► when we finally got a bigger staff.

00:02:46 ◼   ► but really in those first few years,

00:02:50 ◼   ► I kept going past the point of healthy burnout levels

00:02:55 ◼   ► because I really didn't have a choice.

00:02:57 ◼   ► There were only two of us there

00:02:58 ◼   ► and we both were necessary all the time.

00:03:01 ◼   ► So it made it hard to do things like take vacations

00:03:05 ◼   ► because I would have to remain connected

00:03:09 ◼   ► at all or most times.

00:03:12 ◼   ► And the times that I would be somewhere

00:03:13 ◼   ► without an internet connection,

00:03:16 ◼   ► I would always be thinking about. I hope the site's okay. What if it's not? What if

00:03:23 ◼   ► it's down now and next time I can get an interconnection it's 12 hours from now and

00:03:28 ◼   ► I just have no idea? And it really didn't help that occasionally that did really happen.

00:03:35 ◼   ► And so it was a problem every so often where David and I would both have been disconnected

00:03:41 ◼   ► through coincidence like during a certain vacation day or something and the site would

00:03:45 ◼   ► just you know have some problem, crash, go down, be overloaded, something would go wrong

00:03:50 ◼   ► and it would just be down for like multiple hours and sometimes one of us would know about

00:03:56 ◼   ► it usually but sometimes neither of us would even know for like an hour and then the monitoring

00:04:02 ◼   ► system would finally reach one of us or somebody would reach it or like you know Rackspace

00:04:06 ◼   ► would notice and try to call David or me or something. It was always this giant source

00:04:12 ◼   ► of kind of this constant underlying stress because when you're running web services,

00:04:15 ◼   ► which I'll get to, you're kind of always on call or somebody is always on call and

00:04:20 ◼   ► you can make different decisions that reduce the likelihood that something will go wrong

00:04:26 ◼   ► or you can design or choose things in such a way that you are not the one who's on

00:04:29 ◼   ► call, but all these things have trade-offs of course. But running a web service combined

00:04:36 ◼   ► with vacation is difficult I think to manage that the obligation level, the stress level,

00:04:42 ◼   ► the burnout level, because you kind of always have to be on and responsible for it to some

00:04:49 ◼   ► degree. And when you don't have an app that requires a web service, you still have stuff

00:04:55 ◼   ► like support email that like someone has to be taking care of this probably unless you're

00:05:01 ◼   ► mean you just ignore it but you know for everyone else in the world someone has to be answering

00:05:05 ◼   ► support email somebody has to be dealing with like you know if you don't if you sell outside

00:05:09 ◼   ► of an app store and so you sell direct somehow if there's like purchase support like if

00:05:15 ◼   ► somebody gives you money and doesn't get a serial number or something like that's

00:05:18 ◼   ► really important like you can't just ignore those you know it's like there's any kind

00:05:22 ◼   ► of software business, there's probably something where you kind of have to be on call on a

00:05:28 ◼   ► regular basis almost all the time or be able to put someone else in that role to cover

00:05:34 ◼   ► for you while you're gone. And a lot of people don't or can't have a backup person

00:05:38 ◼   ► like that. They can't have anyone else cover it or they don't have someone else covering

00:05:41 ◼   ► it and so they kind of never get to turn themselves off and take a break fully and that can very

00:05:47 ◼   ► easily lead to burnout. But a lot of times, like when I did the Tumblr, you just kind

00:05:50 ◼   ► kind of work through it because it doesn't seem like you have any alternative at the

00:05:54 ◼   ► moment.

00:05:55 ◼   ► Yeah, because the thing that I think I've come to realize or kind of understand about

00:06:00 ◼   ► this is one of the most important things in general, both in terms of if you're working

00:06:05 ◼   ► for yourself or you're working for someone else, is understanding sort of like what's

00:06:08 ◼   ► for sale, personally. I mean, because there's always going to be some more. There's always

00:06:14 ◼   ► going to be more things that you could do, that you think you should do, that you think

00:06:17 ◼   ► might benefit your business, might benefit your career,

00:06:21 ◼   ► there's always gonna be more things to do.

00:06:22 ◼   ► And at a certain point, though, you have to understand

00:06:24 ◼   ► that there's a limited, everything's coming at a trade-off.

00:06:28 ◼   ► It's like your life is very, it's finite.

00:06:31 ◼   ► It's not like you can magically add more time, more energy,

00:06:35 ◼   ► more attention to your day.

00:06:36 ◼   ► And so you have to decide, well, what's for sale?

00:06:38 ◼   ► What am I going to be putting into my career, into my work,

00:06:42 ◼   ► that I'm taking, sort of necessarily taking away

00:06:45 ◼   ► from other things, whether that be

00:06:47 ◼   ► family or relationships or your health or all kinds of other areas. And understanding

00:06:53 ◼   ► that the things you're describing are definitely true. There are definitely things that would

00:06:59 ◼   ► be bad if went wrong. So I run a variety of web services too. I have all kinds of things

00:07:05 ◼   ► like that, lots of apps with lots of users. And the thing that I've had to work through

00:07:11 ◼   ► though is how much of my constant cognitive load is for sale. How much of that can I really

00:07:19 ◼   ► say, "Okay, I understand that if I miss something, if something goes wrong and goes down, that

00:07:25 ◼   ► may impact me negatively in some tangible way, but is that worth it?" The worst things—and

00:07:31 ◼   ► this is where I've run into burnout the most—are the instances when, like, if I'm kind of

00:07:37 ◼   ► relentlessly working without it being a time-bound thing or without it being a conscious choice.

00:07:44 ◼   ► When I launched Feed Wrangler about three years ago, I remember that there was a period

00:07:47 ◼   ► when I was scaling it up that it was just on fire constantly. It was just sort of this

00:07:54 ◼   ► thing where we decided, "You know what? I'm just going to try and make this work. I think

00:07:58 ◼   ► this is a good opportunity for our business. I'm just going to run with it." And so for

00:08:02 ◼   ► probably about a month, about two months maybe.

00:08:05 ◼   ► I was just constantly,

00:08:06 ◼   ► I'd be working crazy hours during the day

00:08:08 ◼   ► and then waking up at two in the morning

00:08:10 ◼   ► to roll out all the changes that I did during that day.

00:08:13 ◼   ► And it was this really not good cycle.

00:08:16 ◼   ► And ultimately it became a point where it's like,

00:08:18 ◼   ► no, this is not gonna work, I don't like this.

00:08:21 ◼   ► And we ended up deciding, well, what I'm gonna do

00:08:23 ◼   ► is I'm just gonna throw money at the problem.

00:08:24 ◼   ► And I ended up just massively over provisioning everything

00:08:27 ◼   ► and deciding that I'd rather make less money

00:08:30 ◼   ► from the service than to feel that way.

00:08:34 ◼   ► The important thing there was the understanding

00:08:36 ◼   ► of that it was always a choice.

00:08:37 ◼   ► It didn't feel, taking ownership of it to the degree

00:08:41 ◼   ► that if I let it just be its own thing,

00:08:44 ◼   ► then that was where the problem came.

00:08:46 ◼   ► That if I was just letting it feeling like

00:08:47 ◼   ► these responsibilities were being pushed onto me,

00:08:50 ◼   ► and that was where I really started to struggle.

00:08:53 ◼   ► - Yeah, I mean, and that's a very good thing to realize,

00:08:56 ◼   ► is this is at least partially within everyone's control.

00:09:00 ◼   ► how much responsibility they take on,

00:09:02 ◼   ► what kind of guarantees that you make to the world.

00:09:05 ◼   ► And the world will impose its own opinions

00:09:08 ◼   ► of what it deserves from you,

00:09:09 ◼   ► what kind of lifetime it deserves from you,

00:09:11 ◼   ► and what kind of response time to emails and stuff like that.

00:09:13 ◼   ► But it is on you to accept or reject that.

00:09:18 ◼   ► And within certain bounds,

00:09:22 ◼   ► if you're on a web service and you just shut down

00:09:25 ◼   ► for three hours a night

00:09:26 ◼   ► because you don't wanna have to worry about it

00:09:28 ◼   ► during those three hours a night,

00:09:29 ◼   ► that will eventually become problematic for you

00:09:31 ◼   ► because that's just not what people expect

00:09:32 ◼   ► from web services.

00:09:33 ◼   ► But if you were like a small software shop

00:09:36 ◼   ► and you don't answer a support email for two days,

00:09:39 ◼   ► is that really the end of the world?

00:09:40 ◼   ► Probably not, unless somebody literally just gave you money

00:09:43 ◼   ► and it went nowhere, then they'd be angry about that.

00:09:46 ◼   ► But if they just wanna know how to use some feature,

00:09:48 ◼   ► that can wait two days.

00:09:49 ◼   ► There are bounds to what people consider

00:09:51 ◼   ► the minimum acceptability,

00:09:53 ◼   ► but going anything above and beyond that,

00:09:55 ◼   ► you said you're kind of responsible

00:09:57 ◼   ► for how much you go above that.

00:09:59 ◼   ► and usually it's not worth it.

00:10:00 ◼   ► Like going back to the web service example,

00:10:02 ◼   ► like if you're running a web service,

00:10:04 ◼   ► sometimes you might have downtime that is your fault.

00:10:06 ◼   ► You know, you didn't get enough capacity

00:10:08 ◼   ► or there's a bug or you know, your MySQL server

00:10:10 ◼   ► is overloaded with some stupid query you wrote

00:10:13 ◼   ► that you need to optimize better or something like that.

00:10:15 ◼   ► Those are all your fault.

00:10:17 ◼   ► But what if the data center that you're in,

00:10:19 ◼   ► that you know, like suppose you're at a regular

00:10:21 ◼   ► like dedicated host, so the data center you're in,

00:10:24 ◼   ► you know, you're relying on their switches

00:10:26 ◼   ► and their infrastructure and their connectivity

00:10:28 ◼   ► and stuff like that, and if they just have

00:10:30 ◼   ► a big network failure on their side,

00:10:32 ◼   ► there is nothing you can do about that at all.

00:10:34 ◼   ► That is totally out of your control,

00:10:36 ◼   ► it's out of your hands, it is your problem,

00:10:38 ◼   ► but it's not your fault, and there's basically

00:10:41 ◼   ► nothing you can do except wait and make sure

00:10:44 ◼   ► they know about it and then just wait for them to fix it.

00:10:46 ◼   ► You will always hear from people when that happens,

00:10:49 ◼   ► at least if you have a nerdy audience like I do,

00:10:51 ◼   ► you will always hear from people who are like,

00:10:53 ◼   ► well, you should have had this in multiple data centers,

00:10:55 ◼   ► or you should have had more redundancy,

00:10:58 ◼   ► you should have had a bigger system, you should have been prepared for this possible problem

00:11:02 ◼   ► to happen to your web service in order to save me this hour of downtime or whatever.

00:11:09 ◼   ► No matter what level you choose to have redundancy and resilience and everything, there's always

00:11:14 ◼   ► another level you could be doing and there's always some failure that could happen that

00:11:18 ◼   ► could take out your whole system. To go beyond to each successive level of additional redundancy,

00:11:24 ◼   ► additional resilience, it is so costly and so complicated to go each level up, it just

00:11:32 ◼   ► isn't worth it for most people. Like, you know, Overcast runs out of one data center

00:11:37 ◼   ► and it's fine. I'm on one host, everything is in the same data center. If Linode has

00:11:42 ◼   ► a switch problem that day, which occasionally has happened, you know, then I have issues

00:11:48 ◼   ► with Overcast for a half hour and then they end and then it's fine. It's easy as programmers

00:11:55 ◼   ► like us and as people who are in the moment, like, I was so stressed out at Tumblr because

00:12:00 ◼   ► I knew that if I screwed up and if the site started serving error pages, it would serve

00:12:06 ◼   ► 11,000 error pages per second until I fixed it.

00:12:10 ◼   ► That's a lot.

00:12:12 ◼   ► Yeah, and to have that burden on you psychologically is tough to handle. That's, you know, that's

00:12:17 ◼   ► Like you feel really, you feel guilt about that.

00:12:19 ◼   ► And not to mention that, you know,

00:12:21 ◼   ► if you have like a Twitter account or something,

00:12:22 ◼   ► you're gonna have like everybody yelling at you on Twitter,

00:12:24 ◼   ► when's it gonna be back up?

00:12:26 ◼   ► This is terrible, you're stupid.

00:12:27 ◼   ► But the reality is, at that moment,

00:12:29 ◼   ► it seems like a really big deal.

00:12:31 ◼   ► As soon as the site's back up, everybody forgets.

00:12:34 ◼   ► Like it just, like the big problem that there was

00:12:38 ◼   ► is just gone and also very quickly forgotten.

00:12:42 ◼   ► Like I always think of the example,

00:12:43 ◼   ► like back when, you know, in Tumblr's early days,

00:12:46 ◼   ► there was once a weekend where Flickr, the big image service Flickr, was down for an

00:12:52 ◼   ► entire weekend. Completely down. At the time it was probably the biggest photo site on

00:12:57 ◼   ► the internet, completely down for two and a half days. Do you remember that?

00:13:03 ◼   ► No.

00:13:04 ◼   ► Right, exactly! Nobody remembers that. That was a huge deal. I'm sure if you were a Flickr

00:13:09 ◼   ► engineer working on that problem, you would definitely remember that, but nobody else

00:13:14 ◼   ► remembers it. Even later that same week nobody remembered it. That was like this massive

00:13:20 ◼   ► downtime event. And so you know you do it's always a balance you have to strike. You know

00:13:25 ◼   ► it seems like you need to prepare for every eventuality. It's kind of like packing for

00:13:30 ◼   ► a trip. So go back to the vacation theme. It's kind of like packing for a trip. Like

00:13:34 ◼   ► it's easy to overpack because you think well what if I what if the batteries in this

00:13:38 ◼   ► thing die twice. So I need like, now I need like six AA batteries to pack in my bag whenever

00:13:45 ◼   ► I go just in case the batteries die. Even though not only will the batteries probably

00:13:50 ◼   ► not die, but the place you're going probably sells AA batteries. It's so easy to get

00:13:54 ◼   ► caught up in the what ifs, what ifs, what ifs, and the stress about them. And then even

00:14:00 ◼   ► when they do happen, it's easy to overblow in your head like how bad that was and how

00:14:07 ◼   ► how much that mattered.

00:14:08 ◼   ► And in reality, for what most of us are working on,

00:14:12 ◼   ► it'd be different if you're running

00:14:13 ◼   ► like a life support system,

00:14:15 ◼   ► but for what most of us are working on,

00:14:17 ◼   ► of like, well, if I screw up,

00:14:19 ◼   ► people can't sync their new podcasts for a few minutes.

00:14:22 ◼   ► It's not that big of a problem in life.

00:14:26 ◼   ► It's not a huge deal.

00:14:28 ◼   ► And honestly, that's part of one of the reasons

00:14:30 ◼   ► I choose to work on the things that I choose to work on,

00:14:33 ◼   ► rather than going to work for a hospital or a bank

00:14:36 ◼   ► or something where the consequences of screwing up can be larger. Because I don't want that

00:14:41 ◼   ► kind of stress in my life, and I respect people who do it. That's great. I'm really happy

00:14:44 ◼   ► they do, so I don't have to. I'm really very happy to be working on consumer entertainment

00:14:50 ◼   ► apps, basically.

00:14:51 ◼   ► >>

00:14:51 ◼   ► >> BRIAN KARDELL Yeah, and I think it is one thing that I know from my own experience,

00:14:54 ◼   ► I always remember when I—it's similar to the way people forget if you have a web service

00:14:59 ◼   ► that goes down. I remember when I had a normal office job, I'd always, whenever I was going

00:15:04 ◼   ► on a long vacation, more than just a long weekend, I was going to be gone for a week

00:15:08 ◼   ► or ten days or something like that. And I always remember this feeling of, "How are

00:15:12 ◼   ► they going to survive without me?" essentially. I have all these things in my mind that, "Well,

00:15:17 ◼   ► "Well, I'm the one who does that.

00:15:18 ◼   ► "I'm the one who does that."

00:15:20 ◼   ► And then you kind of, you go on vacation and you come back

00:15:22 ◼   ► and you realize that they got along just fine without you.

00:15:25 ◼   ► And it's like, it's good, it's humbling

00:15:27 ◼   ► in a really constructive way, I always found,

00:15:30 ◼   ► to realize that because you are in the middle of your world,

00:15:35 ◼   ► you make all the things that you touch

00:15:37 ◼   ► feel more important and valuable

00:15:39 ◼   ► than they are probably in reality.

00:15:42 ◼   ► And so that after a certain number of times

00:15:44 ◼   ► of having that feeling of like,

00:15:45 ◼   ► "Oh no, it's all gonna fall apart if I leave,"

00:15:48 ◼   ► and then it didn't, it starts to be like,

00:15:51 ◼   ► "Oh no, this is fine," and it's probably more important

00:15:54 ◼   ► and beneficial and healthy for me

00:15:56 ◼   ► to have a little bit of that perspective

00:15:58 ◼   ► and distance from my work and to say,

00:16:00 ◼   ► "It's okay for me to leave.

00:16:01 ◼   ► "It's okay for things to not be perfect 100% of the time.

00:16:06 ◼   ► "99% of the time is probably fine."

00:16:08 ◼   ► And to then, as a result, have a better perspective

00:16:12 ◼   ► of your work and be healthier about it,

00:16:14 ◼   ► to not overdo it, to not get into a place that,

00:16:18 ◼   ► like at a certain point you just can't work,

00:16:20 ◼   ► or you're burned out to a degree that,

00:16:23 ◼   ► at least in my experience, when you really get burned out,

00:16:26 ◼   ► very often happens, by definition,

00:16:29 ◼   ► at the least opportune time,

00:16:32 ◼   ► because it's happening when you are most stressed,

00:16:35 ◼   ► when you are most, things are really crunching,

00:16:39 ◼   ► and then because it's crunching,

00:16:41 ◼   ► if you haven't been taking care of yourself,

00:16:43 ◼   ► suddenly you're gonna find that maybe you just can't work,

00:16:44 ◼   ► You're gonna get, like, you'll get sick, or you'll get just worn out, and your work

00:16:48 ◼   ► will suffer.

00:16:49 ◼   ► And it's like it's happening at the least opportune time, and so you have to plan for

00:16:52 ◼   ► it, like, at the quieter times, at the times that, like, building time into your schedule,

00:16:57 ◼   ► building vacation into what you're doing, making sure that you're taking care of yourself

00:17:01 ◼   ► in that way.

00:17:02 ◼   ► Because if you don't, like, it's eventually it's gonna catch up with you.

00:17:05 ◼   ► Like, we're all just human.

00:17:06 ◼   ► And you can't just keep going forever.

00:17:08 ◼   ► And so if you don't think about it ahead of time, it's just never gonna work.

00:17:13 ◼   ► Our sponsor this week is Imageix once again.

00:17:16 ◼   ► Imageix is basically an image processing CDN.

00:17:19 ◼   ► You have some source of images

00:17:20 ◼   ► and you want to serve them not only through a fast CDN

00:17:23 ◼   ► 'cause Imageix is themselves a very fast image serving CDN

00:17:26 ◼   ► to save you on the bandwidth and the server load.

00:17:28 ◼   ► And of course, have your clients load things way faster

00:17:31 ◼   ► 'cause everything's closer to them

00:17:32 ◼   ► on these nodes and everything.

00:17:33 ◼   ► But also with Imageix, right there in the URL

00:17:36 ◼   ► that you provide your app or the website,

00:17:39 ◼   ► you can do image processing operations.

00:17:40 ◼   ► So you can do things like of course,

00:17:42 ◼   ► simple resizes, rotations, cropping, stuff like that.

00:17:46 ◼   ► And you can also do way more advanced stuff.

00:17:48 ◼   ► Like you can adjust the color tone of an image,

00:17:50 ◼   ► you can add blurs, you can add annotations,

00:17:52 ◼   ► like little text things to it.

00:17:54 ◼   ► I use ImageX myself.

00:17:55 ◼   ► If you view overcast images in Tweetbot,

00:17:58 ◼   ► I do a thing where Tweetbot images in many contexts

00:18:01 ◼   ► have to be 16 by nine,

00:18:03 ◼   ► and podcast artwork is always square.

00:18:05 ◼   ► So I do the thing that the TV news people do

00:18:08 ◼   ► when they have to show a portrait video

00:18:11 ◼   ► in a landscape screen,

00:18:11 ◼   ► where they show the portrait video in the middle.

00:18:14 ◼   ► On the left and right, they have these kind of bars

00:18:16 ◼   ► of a blurred version of that same video.

00:18:19 ◼   ► I do a very similar version of that for podcast artwork

00:18:22 ◼   ► in these 16 by nine contexts, all powered by image X.

00:18:25 ◼   ► The main image in the middle, the square image,

00:18:27 ◼   ► and then in the left and right bars,

00:18:29 ◼   ► that would otherwise be black or opaque or whatever,

00:18:32 ◼   ► I have a blurred version of the image

00:18:35 ◼   ► in the background behind the real image.

00:18:38 ◼   ► and it looks great and it totally fits

00:18:40 ◼   ► into those 16 by nine context and all of that

00:18:43 ◼   ► is powered by URL parameters that I pass ImageX.

00:18:46 ◼   ► It's amazing like what you can do

00:18:48 ◼   ► with just a few URL parameters.

00:18:50 ◼   ► I don't have to do any of that myself on my server

00:18:52 ◼   ► or anything like that and of course it loads quickly

00:18:54 ◼   ► and honestly I find the pricing very reasonable as well.

00:18:56 ◼   ► So check it out, ImageX.com, they have all sorts

00:18:59 ◼   ► of easy to use examples, tutorials, documentation

00:19:01 ◼   ► for all their URL parameters and everything you can do.

00:19:04 ◼   ► They also have client libraries if you want another layer

00:19:06 ◼   ► of abstraction, one of which is already available

00:19:09 ◼   ► for Swift named Iris, which is put together

00:19:11 ◼   ► by the developers of the watch site, Hodinkee.

00:19:14 ◼   ► Check it out, imageix.com, imgix.com/utor

00:19:18 ◼   ► for under the radar.

00:19:20 ◼   ► Thank you very much to Imageix,

00:19:21 ◼   ► the real-time image processing CDN,

00:19:23 ◼   ► for sponsoring our show.

00:19:25 ◼   ► So on that kind of context, I wanna talk about

00:19:29 ◼   ► ways you can get things off of your plate

00:19:32 ◼   ► for ongoing stress and just stress-wise.

00:19:36 ◼   ► With web services, there's this whole spectrum

00:19:40 ◼   ► of how much you want to be managing things

00:19:43 ◼   ► from totally unmanaged stuff like you run your own servers

00:19:47 ◼   ► co-located in a data center somewhere

00:19:49 ◼   ► or out of your house or something like that,

00:19:51 ◼   ► which I really don't recommend doing.

00:19:53 ◼   ► - Sounds like a terrible idea.

00:19:54 ◼   ► - Yes.

00:19:55 ◼   ► All the way through the dedicated host,

00:19:58 ◼   ► through virtual private hosts like Linode, my favorite,

00:20:01 ◼   ► all the way across to these kind of cloud manic services

00:20:04 ◼   ► where you aren't even necessarily dealing with servers

00:20:07 ◼   ► or even instances of servers,

00:20:09 ◼   ► but you're dealing with higher level abstractions,

00:20:11 ◼   ► like CloudKit is a great example,

00:20:14 ◼   ► where you aren't dealing with the servers at all,

00:20:16 ◼   ► or even some third-party services

00:20:18 ◼   ► where you're kind of dealing with these abstract concepts.

00:20:20 ◼   ► Like I think parse, is parse one of those?

00:20:22 ◼   ► - Parse, yeah, or Azure does one.

00:20:24 ◼   ► - Yeah, yeah.

00:20:25 ◼   ► - A whole bunch of things like that, yeah.

00:20:26 ◼   ► - Yeah, and there's stuff in the middle,

00:20:28 ◼   ► there's Heroku and stuff like that,

00:20:30 ◼   ► you're kind of like in the middle of the abstraction layer there. So there's all these systems

00:20:34 ◼   ► on this big long spectrum of like how much do you want to be managing yourself? And there's

00:20:39 ◼   ► trade-offs. You know, you might think from this episode that I would say have everything

00:20:44 ◼   ► be managed by other people and go to the full abstract end of things. But that isn't necessarily

00:20:49 ◼   ► always a win. I mean, first of all, you are usually paying way more for that. For the

00:20:54 ◼   ► basic resources you are using, generally there's a pretty big markup if you're using one of

00:20:58 ◼   ► these more abstract services, especially on bandwidth and occasionally on storage space

00:21:03 ◼   ► and RAM as well. So you pay quite a premium for that. And that could really make the difference

00:21:08 ◼   ► between whether something is profitable or not. I mean, the amount of compute power and

00:21:13 ◼   ► of bandwidth that I get for Overcast at Linode running unmanaged VPSs, I'm putting the

00:21:20 ◼   ► management load of that on myself for anything that's basically not hardware and network

00:21:25 ◼   ► related. So any kind of software issue, updates, scaling issues, I basically have to do that

00:21:32 ◼   ► myself in some way. Even if it's just as easy as telling Linode to clone a server four

00:21:38 ◼   ► more times or to resize it to get more RAM, the process of doing it still falls on me.

00:21:43 ◼   ► So that is usually way cheaper, it's usually much more in your control. Then on the other

00:21:48 ◼   ► side you have the more managed services where, again, you don't have to really deal with

00:21:52 ◼   ► anything. However, what I said earlier about if the data center that you're in

00:21:56 ◼   ► has a network problem, it is not your fault but it is your problem because

00:22:01 ◼   ► your customers don't know it's not your fault and your customers will still

00:22:04 ◼   ► blame you. Even though when something is out of your hands it is not on you to

00:22:09 ◼   ► fix it, it still is your problem in the sense that you have to accept that it's

00:22:13 ◼   ► down and when it's out of your responsibility it's also out of your

00:22:17 ◼   ► control. If something is just down for a while, not only do you not have to fix it, but you

00:22:24 ◼   ► can't fix it even if you want to. And that is kind of a double-edged sword. Usually it's

00:22:29 ◼   ► worth going more in that direction if there's no other major downsides, like if you can

00:22:32 ◼   ► afford to, if it does what you need it to do, if it has enough capacity, whatever. But

00:22:37 ◼   ► there is that little problem of like, you know, if something goes wrong with CloudKit,

00:22:41 ◼   ► you're kind of just helpless. You can't really do anything about that.

00:22:45 ◼   ► >> Yeah, and I think even there it's also understanding where,

00:22:49 ◼   ► like as you're looking at the things that you're responsible for,

00:22:53 ◼   ► the responsibilities that you're choosing to have, you have to think about it too from the

00:22:57 ◼   ► perspective of like where do you personally add

00:23:01 ◼   ► unique useful value? Is administering

00:23:05 ◼   ► a Linux virtual private server something that you think

00:23:09 ◼   ► you would do well, that you're good at, that you know how to do, a skill

00:23:13 ◼   ► that if you're not great at it now that you think you'd benefit from being able to do.

00:23:17 ◼   ► And if that's the case, then great, take that on and embrace it.

00:23:22 ◼   ► But I think the important thing is to also be able to look at yourself and say, "Hmm,

00:23:27 ◼   ► I really don't like SSHing into Linux boxes and running top and working out what's broken,

00:23:33 ◼   ► and that's not for me."

00:23:35 ◼   ► It's like, "Okay, so then go the next level up until you feel comfortable with where you

00:23:39 ◼   ► you are, because trying to do something that you're actually not good at or isn't your

00:23:46 ◼   ► forte is just very counterproductive.

00:23:49 ◼   ► And the same thing applies to all kinds of things, like outsourcing your help desk.

00:23:52 ◼   ► I don't do my first-year customer support anymore because I found that I'm not very

00:23:58 ◼   ► good at it.

00:24:00 ◼   ► It would make me—I'd have the problem of if you get 100 positive things and one negative

00:24:05 ◼   ► thing, that one negative thing really sticks with you, and I was really counterproductive

00:24:08 ◼   ► to my motivation, and so I decided, you know, I'm just gonna, I'm gonna outsource this.

00:24:12 ◼   ► I'm gonna have someone else do it, someone else who's way better at it than I am.

00:24:15 ◼   ► Like I need to look at myself and say like, "I'm not really good at writing emails.

00:24:19 ◼   ► Like I'm good at writing code, and so I'm gonna outsource that out."

00:24:22 ◼   ► And that can apply to all the whole spectrum of your things, because like at its core,

00:24:28 ◼   ► you're gonna be like, it's like the old trite thing they always say, it's like, "If you

00:24:32 ◼   ► love what you do, you never work a day in your life," which isn't really true, but at

00:24:37 ◼   ► At the very least, the kernel in there that is true is that if you're doing work that

00:24:41 ◼   ► you're really good at, that you really are able to feel like you're really doing an awesome

00:24:47 ◼   ► job on, that it's right in your sweet spot in terms of your skill set and your challenge

00:24:51 ◼   ► and your motivation, you're going to be much less worn out by it.

00:24:56 ◼   ► You're going to enjoy it much more, and that's probably a better place to be than if you're

00:25:00 ◼   ► just kind of forcing yourself to do stuff because you think you need to or because you

00:25:05 ◼   ► feel like there's no other choice.

00:25:07 ◼   ► and to find, looking at what you're doing,

00:25:08 ◼   ► like, and finding those areas that you can say,

00:25:10 ◼   ► okay, I'm gonna outsource this,

00:25:11 ◼   ► I'm gonna take this, all this responsibility off my plate,

00:25:14 ◼   ► is probably gonna increase your overall sense

00:25:16 ◼   ► of restfulness, which is definitely a plus.

00:25:19 ◼   ► - Absolutely.

00:25:22 ◼   ► All right, with that, I think it's time to wrap up,

00:25:24 ◼   ► and we are going on vacation.

00:25:26 ◼   ► We will not have a show next week,

00:25:28 ◼   ► because we're gonna take a break.

00:25:30 ◼   ► We're gonna unwind from the massive amount of work

00:25:32 ◼   ► that this show is every week. (laughs)

00:25:36 ◼   ► We really are taking a break.

00:25:37 ◼   ► We're gonna take the week off

00:25:39 ◼   ► 'cause we're gonna be traveling and everything,

00:25:40 ◼   ► be with our families.

00:25:41 ◼   ► So we will see you in January.

00:25:43 ◼   ► And thank you very much for listening.

00:25:44 ◼   ► Please recommend us, et cetera.

00:25:46 ◼   ► And have a happy New Year, everybody,

00:25:48 ◼   ► and we will see you next year.

00:25:51 ◼   ► - Merry Christmas, happy New Year, see you in January.

00:25:54 ◼   ► [