Programming as a Living
Recently listened to the Debug podcast - episode 43 "Marco Arment on Overcast." Near the final 25 minutes there's an insightful dialog (in a series of insightful dialogs) between Guy English and Marco Arment on the topic of breaking into programming. Their dialog centers around how to know if you have a certain set (but not the only set) of traits that make it easier to persevere and be successful as a programmer.
Here's my attempt at transcribing it (Guy English: Guy, Marco Arment: Marco):
Marco: It's a lot of stumbling around until you get it. Every programmer I've met, that's how you learn.
And - so to get into this business... at least in order to get into it very easily or very well:
You have to have that drive. You have to - you have to want to be a programmer.
And - a lot of people who say they want to break into the business don't actually want to be programmers. And, I think the way you know if you want to be a programmer for real.
Guy: If you're doing it all the time.
Marco: If you start one of these projects. If you want to break through, you're going to be hitting these roadblocks constantly. You're going to keep stumbling. You're going to keep hitting these walls that just seem so incredibly obtuse and unobtainable.
I mean "OH MY GOD WHAT DOES SEGMENTATION FAULT MEAN - WHAT? COME ON."
Guy: That's the dirty secret of programming. Is that it is the story of running into a brick wall.
Marco: And when you get something that works it is a particular kind of intellectual high.
Marco: For some people.
And ... for some people, it's not worth it. For most people it's not worth it.
Guy: Yeah. It probably shouldn't be -
Guy: -because I think it's kind of a weird screwed up thing.
Marco: Yeah. Definitely.
If you're the kind of person, where, that value you get when it does eventually work makes up for all the frustration and difficulty that you spent getting there.
If the value you get overcomes all that, then you are probably good to be a programmer.
Marco: But because, you're... if all that frustration just feels like work, and you're not motivated to continue. Just - like - if the inherent value of having completed it and building something and seeing something you've built run and become a thing - it's an incredibly awesome feeling for some people.
Their conversation is a good example of how the creative process works with programming. It's science, it's creative, and it is constantly running into walls until finally you've built a way through the walls.
The rest of the show covers an insightful exploration of some of Marco's design choices and some tech choices + constraints he navigated while creating his new app: Overcast. Great show, curious now to check out more episodes.