311: The Long Term - podcast episode cover

311: The Long Term

Jan 30, 202530 minEp. 311
--:--
--:--
Listen in podcast apps:

Summary

Marco and David discuss the attributes needed for a long-term career in iOS development, particularly in the indie space. They delve into the importance of creativity, curiosity, resilience, reflectiveness, and restlessness. They share personal experiences and insights on staying motivated and adaptable in a constantly evolving field.

Episode description

The podcaster did not provide a description for this episode.

Transcript

Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment. And I'm David Smith. Under the Radar is usually not longer than 30 minutes, so let's get started. So I am increasingly having the feeling that I am distinctly middle-aged. which is perhaps not a surprise. I'm 41 years old, you know, turning 42 in a couple of months. And it's one of those things when you're young, you think about being old and you...

it's sort of this vague concept. And now I sort of feel in that middle-aged period. And as part of that, I feel like is you get into this place where I, at least for me, I start to think about I don't know, this starts in the ends of things a bit more because I find myself sort of distinctly in the middle. And so I think about the early parts of my career and I think about

you know, start to wonder what does the long-term version of my career look like? How long do I expect to have this job? I don't think I ever, when I started it, you know, 17 years ago when I started doing iOS development, I did not expect that I would necessarily be doing this. Still, you know, and certainly not in the indie kind of solo way that I did it for so long and in some degree continue to do it.

And so it got me thinking recently when I was having this, like midlife crisis, but these midlife sort of thought trains that sometimes I find myself on recently. What are the attributes? of me or broadly, like a person who is able to do this kind of work for a long time. Because I think each career, every career and every type of work has a different kind of...

attribute set that will optimize you to be able to do this with longevity and to be able to continue doing this. And in some ways when I think moving sort of the going forward perversion of it is What are the things about myself that if I start to lose interest in or diminish my ability in, what would likely be the things that would limit my ability to continue doing this?

I say this, too, because it's something that, having been doing this job for so long, it very much comes in waves with my level of motivation, excitement. like how keen I am to keep doing it and doing it with lots of effort. And it's the first time I went through one of the troughs in that feeling. It was really scary because it's like, oh, no, am I going to sort of lose my edge and be out of a career?

And then it worked its way back up and it's come up and down, up and down many, many times over the last 17 years. But I think because of that, it's useful to also just think about, what are the things that will get you out of that trough? Because there have definitely been times when I strongly considered...

getting a different job you know not necessarily being an iOS developer was always going to be in the cards because it's what I'm sort of developed expertise in but you know there were times when I thought about getting a jobby job and like you know starting to work for someone else and sometimes that could be coincident with

You know, the financial aspects of the business not going great or can be with, you know, sort of policy things not going wonderfully or the finances. Like there's lots of things that can happen that can make you feel that way. But I think broadly, it's. I've kept at it, and I think I was trying to come up with the list of the reasons why I think that has been the case. And so I've come down to five reasons, which I think sort of will unpack on the show.

You know, essentially it's like the things that are essential to keep this. for longevity, or if you're new to iOS development, or especially to indie development, like what are the things that you should be trying to cultivate in yourself to be able to have a career that would potentially last another, you know, decade and a half? looking forward into the future. And I think I came up with these kind of like five things, being creative, be curious, be resilient, reflective, and restless.

which are the ones for me, and it may be different for everyone, but... I don't know. Do you feel middle-aged too, Marco? Oh, God. Every time I have to put on my reading glasses, I very much feel middle-aged. Yeah. I'm to the point now, my glasses journey, where… My focus distance of what I can read without glasses is almost exactly the distance of a laptop screen when you're using it in your lap. So I'm almost. Yeah. Anyway, so that, yeah, certainly there's the biological aspects. Sure.

But like the first time I was I was at Curtis's conference in Philly and I real and I learned that I should not eat a cheese steak at like midnight. because i was up all night with a stomach ache like you know that guy that's like oh i'm middle-aged now like that and that was probably 10 years ago it was yeah so anyway um yeah but you know so what What keeps me here long term? I think...

There's a bunch of different factors. One thing that... I think matters a lot is there's a lot of programmers out there who are programmers because It's a job, and it's a good job. Being a programmer, you get pretty good money for the amount of... work it is and the amount of qualification you need, which in both cases, not a lot and not a lot. So it's as a profession.

programming in general, it has a pretty good bang for the buck. And so it's pretty easy to keep that up for the long term because it's a pretty good living for not that much school and not too bad of a lifestyle at all. So there's programmers who do it for, you know, it's quote, it's a good job. Those are the kind of people who they go and they do their job that they could do a good job.

But they're not like programming enthusiasts. They're not really ever tempted to do anything in their free time related to programming. It's just the job. And that's fine. Then there's the kind of people who are so motivated by programming itself kind of for its own sake. that they are pushed to do things like side projects or language nerdery, having certain techniques or processes they want to use or new tools they want to try, certain disciplines they want to practice.

That's more like the programming enthusiast type. It almost boils down to like, you know, one of the things that people ask me sometimes, like if they're curious about programming as a hobby or just as a thing, like whether they can do it or not. is a whole bunch of kind of a grind.

And a series of frustrations of things like not working and trying to figure out why it's not working and banging your head against the wall, going to Stack Overflow and looking up answers and trying to figure out, like, how do you do this? How do you call that? What's this? And a lot of that can be quite a grind, and it can be quite discouraging when you hit a bunch of those walls. And then what happens is eventually you get something to work.

or you finish the task that you went there to do. So you are fulfilled by that. And the question is, does that fulfillment, does the boost you get, the satisfaction you get, from completing it or making it work.

offset all the frustration and the grind that you had to get through to get there and for some people it does and for a lot of people it doesn't And so what I always tell people is, like, if you are motivated, if you get a bunch of satisfaction out of it working and out of you having built that thing, and if it's enough to get past all that grind over and over again, that's just the process of software development. Then you can be a programmer.

But I think there's different tolerances there, different levels of how much that motivates you. One level is... If you're motivated a little bit by that, you can be a working programmer. You can be a programmer for your career. But you're probably not going to love it enough to do it in your free time at all or do side projects and stuff like that. And I think if that's your level of loving programming, you're going to have a harder time as an indie.

You can do it. I know people who do, but it's harder in certain ways. Whereas if you get a lot of satisfaction out of the thing that you built working. If that is such a motivating factor for you that you feel alive, you're like, yes! Tip always knows.

whenever she hears me clap like that like she's like oh he got something working because that's like yeah i'll say you know in my office alone like she's in the next room and i'll be in my office and i'll be i'll go like yes like when i got something It's a great feeling. Yeah. And I feel like if you have that level of satisfaction when you get stuff working. That helps being an indie because being an indie, you lack a lot of the...

structures and motivations and pressures of a day job. A day job, if you don't do the work, you'll lose your job. And you'll lose your money. And so there's – they have like the extrinsic motivations there. You have to be more intrinsically motivated as an indie because there's no structure around you whatsoever.

There is no one looking over your shoulder to say, hey, are you like working or are you just goofing off on your computer? Like there's none of that. So you have to be self-motivated to a degree and you have to be motivated to do the kind of work that being an indie requires you to do. And that's a huge variety of things. And that's, I think, part of... You have to be, first and foremost, you have to like development enough.

To be able to do the development work yourself with your own intrinsic motivation on how exactly you get that done and how you stick with it long term. And if you don't like programming enough to have a lot of intrinsic motivation for that. then I think it's probably not long-term for you unless you can outsource the coding to somebody else. Sure. And I think even there's just the element that like the indie side of it in particular feels very like it always starts as a side project.

Like almost by definition, in some ways, it's the sense of it's not a business until it is like when you start making something, you're just starting from nothing. And it's not a you don't have a viable business until you've created it. And so especially if you're coming – almost everyone I know who's made a run of this, it's like they don't – it's not like they're raising a ton of money. I mean there are a few people I know who sort of like have –

you know, had a severance package or something where you'll have kind of like, they have a little bit of a nest egg or they used to work at a company that, you know, had a big exit or something. And so they had a little bit of money to start from, but generally it's, it's your, you have to want to work on it. In the same way that you would if it was a side project that you got home from work from and then you still had the interest in continuing to work doing similar kinds of things.

but in your own time. You have to enjoy it enough in its own right, maybe, that, yeah, some of the aspects of that are the degree to which you... are, you know, you, the payoffs of the successes versus the failures, but even just there's something you, I guess you have to enjoy what you, the process as well.

in a way that is just an attribute of a person that I'm – and it's always – I don't know if you could – like to some degree you could probably cultivate that. But I think increasingly I have that sense of like some people are just kind of – I don't know, we're wired in a way that makes this work. And there's other people who I think would find it just, you know, it would be very frustrating or overwhelming or difficult in a way that would just not make it a great fit for them.

Yeah, and I think in general, like when you're looking at like something that you can do long term, if every single thing that you start in that, like if every day or every time you have to start a task on that, it feels like a huge grind.

That's probably not great for long-term longevity in that role. But whereas if you're like... write code for a long enough time my brain gets restless and i'm like i i want to use my brain i want to i want to do something i want to write something like i'm not the kind of person who can go on vacation and just turn my brain off for more than maybe four or five days. I want to be building. I want to be working. Especially, I like a certain interval. I like coding. I actually like writing code.

At least, you know, every couple of weeks just because I start getting restless without it. And if you're not that kind of person, again, it's not to say that you can't do this, but maybe like a different version of that role is better for you. Maybe one where you are not the programmer of your project or you are not the only programmer of your project.

But some other role might be better for you because you have to find something for longevity that you actually are comfortable doing long term, that you actually enjoy enough. to push yourself through. Because look, even me, loving programming, There's times when the thing I have to do in the programming is not motivating me. Like if it's some real grind work of like, oh, I got to fix this really annoying bug or...

I've got to rewrite the stupid S3 class again, which I know is a self-created problem. But it isn't to say that the work is always fun, but the general idea of programming, like I love it enough. that I am motivated to do it. We're brought to you this episode by Notion. There's no shortage of helpful AI tools out there now, but using them means...

switching back and forth between yet another digital tool. So instead of simplifying your workflow, AI just makes it more complicated. Unless, of course, you are in Notion. Notion combines your notes, docs, and projects into one space.

And it's simple and beautifully designed. So unlike other tools or suites that have you bouncing between like six different apps, notion is seamlessly integrated and it's flexible and easy to use i actually personally just went to notion because i have a new project that has multiple people involved and i wanted someplace where we collaborate and that's the first place i went and

It is great. And the fully integrated Notion AI helps you work faster, write better, and think bigger, doing tasks that normally take you hours in just seconds. So try Notion for free by going to notion.com. slash under the radar that's all lowercase letters notion.com slash under the radar to try the powerful easy to use notion ai today and when you use that link you are supporting our show notion n-o-t-i-o-n dot com slash Our thanks to Notion for their support of this show and all of Relay.

So if I'm now at a place where I'm thinking like, okay, what does it look like for me to keep doing this, you know, with longevity into the future? Like I tried to think of, okay, what are the attributes that I need to be cultivating in myself? What are the things that... got me here. That can kind of hopefully be helpful as things that if I keep doing or when my interest wanes or I feel frustrated or I'm struggling, the things will likely get me out.

is that I kind of broke it down into five different attributes. And the first of those is, I think, being creative. And when I say that, I think the creativity part of that is the funny aspect of being comfortable and desirous. of not knowing how something is going to turn out. I get a thrill when I open Xcode and I do a final new project.

You know, whether that's a little prototype thing or a whole new actual project like that is thrilling, but I don't think it is thrilling for everyone. The sense of sitting down with a blank piece of paper and starting to write like there's that sense of the unknown there. That is just inherent in the creative process that you have to, in development, you are starting from nothing and creating something. And that can be thrilling and exciting, but it can also be really daunting.

if you don't enjoy that uncertainty. And so I think that's something that... I noticed in myself recently, too, is sometimes I feel more like I'm reaching for the new thing a little bit less. And it's like, hmm, that's it's probably would be a wise thing for me to make sure that I continue to find ways. to do new things because that newness and the creativity that's involved in that is like a good muscle that I should make sure that I don't let.

get weak. Because if it does, I think the spark that comes from that is something that I would sorely miss in my work. novelty is important in general for keeping you interested in something long-term. I mean, this applies to so many things in life, but when people have a midlife crisis, a lot of that is

they haven't had novelty in a long time and they're seeking it somehow. And we have to be aware of that kind of thing in our work as well. When you're doing something for the long term, you have to kind of find ways to... to constantly be able to try new things and to explore new areas. And sometimes that can take the form of...

buying a restaurant. Sometimes that can take the form of doing a new feature in your app or trying a new kind of thing in your app, trying a new framework, trying a new tool, trying to make a whole new feature using an API you've never used before. or using a device capability you've never used before. There's lots of different forms I can take.

Yeah. And I think it's just an important part of this process. Stuff like that. Novelty is, I think there's an even better word for it. It's like it's... looking for that and finding ways to do that. And certainly be mindful of it. Don't necessarily go down the road where I was so interested in creating novelty that I launched 56 apps.

eight years. I think that was too much and it was to my detriment. And I think it is my development career has gotten a lot better since my creativity in my, you know, like in terms of creating new things, it's been much more focused into a couple of particular areas. But I think it's very important. It's like if you're doing the same thing a bit too much, then that's not going to do good things for you. It's good to have to learn something new and have to explore.

And be creative in terms of going from nothing to something because that transformation is where you get the point where you clap your hands and are like, yeah, I did it. And that is such an important part. Yeah, exactly. The other the next thing I think is about being curious. And I think being curious is in this context is about. I kept thinking of it as almost like being uncomfortable with not knowing something. You want to know more. You're not satisfied with just...

whatever the knowledge that you have is. You're curious about trying something out you always have the thought of like hmm i wonder if you know i wonder if this i wonder i wonder why that's even sometimes a better question it's like i wonder why it's doing that i wonder why this works that way i wonder why they're you know you look at someone else's design

And you don't just think, oh, that's nice. You think about, huh, I wonder why they're doing that. And I think that curiosity, in some ways maybe it bleeds into a bit of novelty as well, but it's that sense of wanting to always learn something that you don't feel sort of...

static in your knowledge and ability. Because I think the nature of developing an expertise in something is it can be really easy to just rely on the expertise you have. And this is a very concrete example. I remember when Swift first came out. At the time, I would say that I was an expert Objective-C developer. I'd been doing this for not as long as all the Mac developers, but I'd been doing it for long enough that I felt like I was very good at it. And I remember...

Having at some point to kind of force myself to learn Swift, to be curious about Swift. Even though it was uncomfortable because I felt myself like this is not going to go well for you, both tactically or in terms of my just sort of academically and in terms of my ability to learn and grow. Stop learning new technologies and new frameworks and new things.

it's not going to be good for my brain and its ability to perform in the way that I want it to, in the way that it's going to need to, in some ways, to be able to continue doing this job for a long time. If at this point... you know, many years on, if I hadn't, if I still hadn't learned Swift, I could probably still be doing my job. Like in terms of most of what I do.

But the rest of it, a lot of it I could do in Objective-C, but I would be really at a massive disadvantage for so many reasons. And so like that curiosity and that being okay with not knowing something and then your answer to not knowing something to be. taking the extra effort to then learn. is just such an important aspect of being able to continue doing this in the long run. Oh, yeah. I mean, because this business is not one that stands still.

You have to be constantly learning and constantly upgrading your knowledge or moving it to the next big thing or the next tools or the next languages or whatever. to have your career keep going. You have to be constantly applying continuous power in learning, keeping yourself ahead, being willing to change. you will at some point, you know, your skills will slowly fade into irrelevance. Now, that in many cases, like you can do an entire career.

with a certain skill set as long as you're okay with that gradual fade. You can, for instance, if I came up learning PHP making web app backend. There's enough business out there writing PHP web app backends. I could have made that my entire career. Over time, the number of jobs that are out there would go down and the – I think the interestingness of those jobs would rapidly go down, way more than the number of jobs.

But if I was just like a career programmer, just saying, you know, I just want to do my job, get paid, go home, that would be fine. There's lots of work for PHP web apps out there. The cutting edge, where things are, where new growth is, where exciting stuff is, where consumer tech goes. That stuff all moves faster than that. And so if I was focused on those areas, I would have to keep up.

And I would have to keep upgrading. And so, yeah, I went through a similar thing, obviously, with Objective-C and Swift. That was a huge thing. And then same thing with now with SwiftUI. I think you can make the same argument there. If you want to write UIKit forever, you can. There will be work for you, and it will keep working probably for the rest of our careers.

If you want to be like where things are going and if you want to be better prepared for the newness, the cutting edge, new applications, new APIs, SwiftUI is probably where you should be. So, yeah, you have to kind of be moving constantly. Yeah. And I think then another aspect, and I guess the third thing that is, is the, another aspect of this, but it was related is the sense of being resilient and being.

comfortable that things aren't always going to turn out the way you want them to. Because it's like I've also learned a number of technologies that didn't go anywhere. And I spent lots of time becoming like, it's like understanding how iMessage apps work. It's like that effort didn't go anywhere. And then that's happened, you know, in various ways. I mean, honestly, in a little bit.

More recently, a lot of the work I did on Vision Pro at this point feels like it hasn't gone anywhere. But I think there's an element of being resilient. to those disappointments is an essential part of being able to have longevity in our careers because failure is inevitable. Like as much as we can... We hope for success, but we are confident that eventually we will run into failures and we will launch things that don't go anywhere.

I can be at like the big level of like, you know, I've spent months and months, like six months working on an app. that launches and goes nowhere. I'm like, that's very disappointing. Or at the micro level, I've done the, like you spend half an hour trying to build something, you get to the end and you're like, this did not work at all. It's trash.

Throw it away. Start again. And like both of those disappointments, both of those failures are things that are going to be happening consistently throughout your career. And so there's an element of just. being resilient to that, which takes, I don't really know what it is, but it's like having a thick, it's a little bit of having a thick skin, but it isn't like you just need to ignore them. But I think it's just understanding that that's part of the process, that the difficulty is how you will.

you can't avoid it. And so you just have to accept that it is part and parcel of this. And it isn't a reflection that you're a bad developer and a bad person and terrible businessman or whatever those were like the voices that I sometimes will get in my head.

about these things, that it's like, no, this is just part of the process. And if you aren't failing, then you likely aren't trying anything new or interesting. And so that's just part of the process, and you just have to be resilient as a result against that feeling. Yeah, exactly. And I think as part of that, the other aspect is being reflective. And by this, I mean sort of like being able to, when those failures come.

Like, reflect, being comfortable with looking at the times that things have gone well and the times that things haven't gone well and trying to learn something from them. I mean, in many ways, that is why this show exists. I think it's a little bit like therapy for you and me. Oh, it's not even a little bit. It's significantly about therapy for me. Yeah, but it's an opportunity for us.

to get together. Hopefully other people can learn from our experiences, but we can be reflective and we can look at things we do or think about what's on our mind when things go well, when things don't go well. and use that to hopefully make us more able to do this job better in the future. And I think that reflectiveness...

is something that is an important aspect of being able to move forward and get better and to continue to do that over a long period. To try and only make... each each kind of mistake you know maybe two or three times not five or six times like it's trying to shorten up that yeah i was you know the old classic thing is you know don't make the same mistake twice it's like well i usually make at least mistake at least But let's try and leave it to three or four.

Yeah, definitely. Because you have to – as you were saying, not everything you try is going to work. Not every decision you make is going to be the right decision in retrospect. So I think you do have to be – you do have to be reflective and you have to be comfortable. Admitting what you did that didn't work and being open-minded as to why it might not have worked.

And certainly taking feedback from people that can help you. If you can't see why something didn't work, maybe ask around. Maybe ask some friends or ask some users. Like why didn't this work the way I thought it would or why didn't this kind of take off the way I thought it would? And yeah, you have to be willing to ask those questions and be strong enough to hear the answers and process them. And that's hard stuff, but it's part of the job.

Yeah, absolutely. And I think I will say to that degree is I think I don't think I would have been able to be in this career for as long as I have without finding. People in the industry, like yourself, who I'm able to talk about this kind of stuff with. because I think it is so essential. Like one of the sort of inherent in the word indie, right, is the sense of independence, of being a little bit... kind of by yourself. But I think it is essential.

to be able to, in terms of be, to be effective with your reflection, to be doing it with someone else, to be talking about things with people who care about you, who, you know, who, who want to want the best for you, but who are also able to be honest with you as well. And I think I have a number of people.

in this community who I have those kind of relationships with. And it's super helpful to learn from. And I think it short circuits a lot of the kind of bad habits or repetitions or things that I could fall into otherwise. Yeah. And I think lastly, I think it's an element of just being restless. I think you mentioned this earlier, but it's this sense of I think there is something.

uh inherent in this kind of work of not being comfortable doing the same thing every day like if you want that go and be a you know like a i guess like a A standard software developer at a mid-sized company doing... some kind of stable, you know, in some kind of stable industry. And you will be able and you can likely find some, you know, fulfillment and stability in that. But for me, I know I would be restless. I know I need to be doing.

interesting new novel dynamic. I need to be failing and succeeding in equal measure on a regular basis. And that restlessness of if I have too many days that feel like they're the same. I don't enjoy it. And I think that is part of what's allowed me to keep doing this for the long period, because when things get stagnant, when things get...

a little bit too samey, I get itchy, I don't like it, and I find something else to push things forward. And that creates that activation energy that you need to get over the hump and not get stuck. Yeah. And the good thing is this business offers lots of potential for novelty. Like if you just try to keep up, as we were saying earlier. You are forced almost to engage with lots of novelty and to produce it and to explore it. And when you are working for yourself, I find that incredibly valuable.

Especially like, you know, working alone inside my house. Like if I'm just doing the same thing every single day alone in my house, like that's. It's kind of a lot to take. But yeah, adding novelty in, it just kind of happens. As long as you keep an open mind to what's going on around you and embrace new tech as it comes down, I think there's a lot of novelty to be had. Thank you for listening, everybody, and we'll talk to you in two weeks. Bye.

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.