00:00 This episode is all about developer productivity.
00:02 From continuous learning to get source control tips to tools and books for developers,
00:07 Jay Miller from the Productivity in Tech podcast is here to share his experiences.
00:11 This is Talk by Thenemy, episode 133, recorded September 17th, 2017.
00:17 Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the
00:35 ecosystem, and the personalities.
00:37 This is your host, Michael Kennedy.
00:39 Follow me on Twitter, where I'm @mkennedy.
00:41 Keep up with the show and listen to past episodes at talkpython.fm.
00:45 And follow the show on Twitter via at talkpython.
00:47 This episode is brought to you by Linode and GoCD.
00:51 Be sure to check out what they're offering during their segments.
00:54 It really helps support the show.
00:55 Before we get to the interview with Jay, I have something cool to tell you about.
00:59 Most of you are aware of my courses at training.talkpython.fm, but starting today, I'm trying a new experiment.
01:04 I'm offering some free, shorter courses.
01:07 Check out freemongodbcourse.com to get free access to my brand new two and a half hour
01:13 MongoDB course called MongoDB Quick Start.
01:15 No strings attached.
01:17 You just sign up.
01:17 It's free.
01:18 You'll learn how to get started with MongoDB and Mongo Engine from Python.
01:21 And we'll build an Airbnb knockoff so you can have some realistic data models to explore.
01:25 Let me know what you think of this experiment of offering shorter free courses paired with
01:29 my larger, more in-depth paid courses.
01:32 Just visit freemongodbcourse.com and sign up right now.
01:35 Okay.
01:36 Signed up?
01:36 Great.
01:36 And let's chat with Jay.
01:37 Jay, welcome to Talk Python.
01:39 Hey, how's it going?
01:40 It's really great.
01:41 It's great to have you on the show.
01:42 You know, you and I have exchanged some conversations on Twitter.
01:45 We've talked a bit about launching your website and podcasts, and you've had me on your podcast,
01:52 which we're going to talk about in depth in some parts.
01:55 So I'm super excited to return the favor and have you back on Talk Python because there's
02:00 a ton of cool developer productivity stuff to share.
02:03 Absolutely.
02:04 And I enjoyed our conversation.
02:06 And I have to tell your listeners, if it wasn't for not only your podcast, but me stealing
02:12 time from you every once in a while, I wouldn't have a podcast.
02:15 So big thanks to that.
02:17 That's great to hear that I helped you out.
02:18 That's awesome.
02:19 And you're doing a really good job with it.
02:20 So we'll get into that.
02:21 Before we do, what's your story?
02:23 How did you get into programming and get interested in Python?
02:25 So interesting enough, I went to school to be a computer engineer, and that lasted about
02:32 one semester.
02:33 I realized I did not want to be a computer engineer.
02:35 I wanted to specialize in hardware.
02:37 And yeah, that changed quickly.
02:39 So for a while, kids don't do this, but I dropped out of college.
02:44 I was working as a web designer slash developer-ish.
02:49 I had a few clients.
02:51 I think the largest gig I had was like a $10,000 company website redesign, which was,
02:56 you know, for an 18-year-old, that's absolutely phenomenal.
02:59 Yeah, that crushes it.
03:01 I mean, when I was 18, I was, I think, probably, I think at that time, I was probably building
03:06 decks or something like this and not particularly making a lot of money.
03:09 So that makes it hard to go back to college, right?
03:12 Well, it was definitely a challenge.
03:15 Being a young adult, in the literal sense, a young adult, I ran into school.
03:21 Some issues, just life lessons.
03:23 And I wound up joining the military.
03:25 I got out of the military and picked up a system administrator job because that's what I did
03:29 while I was in the military.
03:30 And I wasn't satisfied.
03:32 And I don't know.
03:34 I just, I wanted to revisit this computer, like going beyond, hey, is it, did you try restarting
03:41 it?
03:41 And I really-
03:43 How many times?
03:44 Three times.
03:45 At least twice.
03:47 But what I got to was, I didn't want to necessarily make the hardware, but I did want to make
03:52 it sing.
03:53 And that was, I used to be a guitarist.
03:55 And that was like, I grew up in a blues-infested area and a jam band-infested area.
04:00 And a lot of musicians would say, you got to make the guitar sing.
04:04 And that's what I wanted to do with my computer.
04:06 I wanted to build things that were, you know, when people saw it, they go, wow, that's awesome.
04:11 And I tried every programming language I could think of, you know, all of the basics.
04:15 I started with Ruby.
04:16 I went to JavaScript and Ruby was okay.
04:20 And JavaScript was confusing.
04:22 And then I said, hey, I'm going to figure something out.
04:24 So I jumped into Python.
04:26 At that time, I joined my first online community to learn how to program.
04:29 And the rest is history.
04:31 It's been five years of just nonstop Python after that.
04:34 Yeah, that's really cool.
04:35 And you're doing things like Flask and, are you also doing MongoDB?
04:38 Yeah, yeah, doing Flask and MongoDB right now.
04:41 Yeah, yeah, that's definitely fun technologies.
04:43 Well, really cool, really cool.
04:45 I completely connect with this idea of like, I want to make the computer sing.
04:50 I mean, there's so much incredible technology around us, right?
04:53 We have the internet, the web, apps, just the desktops and everything.
04:58 And like, being just a consumer of it seems so, like you're just missing out on so much of it, right?
05:05 There are so many times that I see something that I've purchased through the app store or just online.
05:11 And I go, wow, I really wonder how they made that.
05:14 And that is becoming less and less now.
05:16 I can really start to think about how they did make those things.
05:19 And then I try to make my own just for fun.
05:23 Yeah, that's great.
05:24 That's really, really nice.
05:25 I think one of the actually cool ways to learn programming is to pick something you see and go, I'm going to try to build like a knockoff of that.
05:31 Not to like release it, but just to see like what the experience is like.
05:35 That's fun.
05:36 So let's talk about productivity and your project pit.
05:40 Tell us a little bit about what it is.
05:42 Productivity and tech started last year as just a podcast.
05:48 One of the things that I had learned about myself is the only thing I liked more than computers was doing a good job.
05:56 And having others, and I'll say that I did have a lot of social anxiety and self-esteem issues that I'm dealing with now that Pitt has helped with.
06:05 But because of that, I always wanted to do the best job that I could for others.
06:11 And when I got out of the military, I struggled a lot.
06:14 And I thought I was going to get fired from my first job.
06:18 You know, in the military, you can't get fired.
06:19 So, you know, when you get that corporate job, your only fear is, you know, I'm just married.
06:25 I'm starting a life, you know, for my family.
06:28 I have to do a good job.
06:30 And I kind of created this system for myself.
06:33 And I don't want to bore you with the details in that.
06:35 But in the end, when I started looking at the different techniques that I was implementing, I learned that they had names.
06:41 You know, there were things like the Eisenhower Matrix and GTD.
06:45 You know, I didn't know about these things before.
06:47 So I really wanted to learn as much as I could and develop, you know, my own systems.
06:52 Kind of like what I mentioned before, when you see the apps and you just go, wow, I really want to do something like that, you know, for myself.
06:57 Well, that was productivity in tech.
07:00 It was me coming up with ways to make others better, just as I had helped to make myself better.
07:09 And I did that by the only way that I knew how.
07:12 I've always been a talker.
07:13 I've always been someone that can strike up a conversation with anyone.
07:17 So I got online.
07:19 I said, hey, I'm doing a podcast about the everyday person and how they're productive and the phenomenal people and how they're productive.
07:26 And I want to meet somewhere in the middle and figure that out.
07:29 Yeah, for sure.
07:30 How much of this was inspired by you seeing people who are doing just incredible amounts of productive things.
07:40 So a couple examples come to mind really quick.
07:42 Like on Python Bytes, we covered what Kenneth Wrights did last week.
07:48 And that was like four or five projects that were released.
07:51 Or you think about people like Elon Musk.
07:54 Yeah, it's like, well, you know, we're going to start a space company and a car company.
07:59 Why not?
08:00 Right.
08:00 Like how much of it was inspired by like those things and how much of it was just like, I'm not feeling like my effort day to day is generating stuff.
08:09 Right.
08:09 Like I feel like I'm spending all my time in email and I'm never like getting anything done.
08:13 Like what was the genesis there?
08:14 I think the biggest was my own frustrations with myself and finding ways to improve myself.
08:20 And I always reach for the people that I want to emulate.
08:24 And we all want to build the next boring company or the next Tesla.
08:28 But I had to be realistic.
08:31 And I think that's where a lot of people in the productivity space, you know, fail.
08:34 You know, they can tell you how to be productive as a productivity guru.
08:38 You know, they're going to tell you how productivity gurus are productive.
08:41 They can't tell you how a software developer is productive.
08:44 They can't tell you how a system administrator is productive.
08:47 So I wanted to find the people in those fields, the people that would say I'm an equal or one step above where I am now and learn how they're productive.
08:57 That way I can actually apply that to my day to day.
09:00 I think that makes a lot of sense.
09:01 Like the specialization and trying to connect to somebody working in your space, right?
09:06 Like connecting with a developer who is figuring out these things and working on these things and not somebody who spends most of their time like coaching executives.
09:14 You know, things like that, right?
09:16 I mean, that's fine and all, but that's not necessarily going to help you like be more productive with Git, for example.
09:21 Not at all.
09:23 Yeah, not at all.
09:23 I want to save the actual podcast, some conversations about some of the particular podcasts for later.
09:29 But what are some of the things that you've learned from doing productivity in tech like that have helped you that maybe really resonated with you?
09:38 A lot of it is just the differences in what productive looks like.
09:43 For instance, when you look at people like Mike Rohde, who is a software consultant slash sketchnote master.
09:51 You know, he had an issue with writing long, detailed notes.
09:55 So for him, the best productive method was simplifying it and going to this.
10:00 I'm going to draw very few things in permanent marker and they're going to be rough.
10:05 They're going to be down and dirty, but they're going to help me retain information.
10:09 And the other idea is, you know, just the sense of being a real developer.
10:15 I, to this day, I have never had a official like software developer role.
10:21 That's actually my next goal is to transition into that space and to become a software developer.
10:28 But when I look at the things that I've done, you know, building a podcast, as we'll probably talk about later, building it all from scratch, running Python and Flask and MongoDB.
10:39 A lot of people look at the things that I've done and said, you've been a real developer for a couple of years now.
10:45 And that's very rewarding.
10:47 And seeing that you don't necessarily have to have the job title to have the knowledge and the skill set and to have people that do have the title acknowledge me as a peer.
10:58 You know, that's just very, very rewarding.
11:01 Yeah, yeah.
11:01 That's really awesome.
11:02 So like day to day, you're still doing a little more system admin type stuff.
11:05 But when you come home and get to do whatever you want to work on, that's a little more web development type of things.
11:12 Is that right?
11:12 Absolutely.
11:13 There's I think we're on like the fourth consecutive week that there's been a change on the website, either, you know, a visual change or a code change.
11:23 This week there was both.
11:25 So, yeah, that I go home and it's like my second job starts.
11:30 Yeah, it's tough to find that energy to keep going.
11:33 Like what motivates you to do that?
11:35 Because I know a lot of times you come home from work and it's been a long day.
11:40 There's traffic and you're just like, I just need to sit for a while.
11:44 And then you got to do the dishes and you're like, now I'm really done.
11:47 Like so.
11:48 So where do you find the energy and the motivation to like sort of do these two things in parallel?
11:52 A lot of it is just because it's fun.
11:54 I think that that is a really big piece of the puzzle.
11:57 If you're not having fun with what you're doing, then figure out a way to either make it fun or stop doing it.
12:02 But the other part of it is I know what my goal is.
12:05 You know, this year I've set some pretty interesting goals and we're coming to the end of the year now.
12:11 And a few of them haven't been met yet, but I know I'm still working on them.
12:16 I'm making forward progress.
12:17 And as long as I can continue to make forward progress, I'm happy.
12:20 But I do know that when you're tired and you're frustrated, sometimes you have to take a break.
12:25 But then other times you have to remember, like, why am I tired?
12:28 Why am I frustrated?
12:29 And what how do I fix that?
12:32 And part of it is, hey, I'm going to build, you know, pit into this large community that who knows, maybe one day that will be my job.
12:39 Yeah, absolutely.
12:40 And it totally could.
12:41 I mean, you're definitely growing it in a great way.
12:44 And I think there's this, you know, we often get told to pursue our passion and follow the things that we are like are our hobbies or whatever.
12:53 And there's some truth and value to that.
12:55 But there's also like there's just a lot of joy from actually like taking something that I'm good at and finding a way to provide that to the world.
13:04 Right.
13:05 And that that becomes fun and that becomes amazing, even if it wasn't necessarily like what you did in your spare time originally or something.
13:13 Right.
13:13 Right.
13:13 So I think there's there's a lot to motivate people there.
13:15 Absolutely.
13:16 And if you're not doing something that's fun or challenging to yourself, then say no to some of the things that aren't and just start doing them because it's extremely rewarding.
13:25 Yeah, absolutely.
13:26 All right.
13:26 So that's a good place to segue into a couple of your tips.
13:29 Let's go with 10, 10 of your tips for developer productivity.
13:34 And so let's just you gave me a nice list here.
13:36 Let's just go down the list.
13:37 Some of these are very technical.
13:38 Some of these are more soft skills like say no, for example, things like that.
13:42 Right.
13:43 So what do you got?
13:44 Well, the one that I've learned the most recently is embrace get fetch.
13:48 And I say that kind of as a reminder to me to look before you leap.
13:53 You know, a lot of times I will go, oh, it's going to be easy, blah, blah, blah, blah.
13:57 And then I basically open my mouth faster than my brain thinks.
14:01 And then I start working on it.
14:03 And it's like, oh, no, I probably shouldn't have done this to myself.
14:06 So taking the time to look and examine what is actually happening and what will be required of you, in this case, kind of like how you would use get fetch instead of get pull.
14:17 That way you can see the changes that have been made so you don't make bigger mistakes.
14:20 That can really help.
14:22 Yeah, that's for sure.
14:23 And, you know, the more you work in a team, things like get fetched to see what the consequences of doing, you know, giving out the latest is going to do is it's really interesting.
14:32 And definitely branches, like feature branches, I think are really awesome for this kind of stuff.
14:37 If you want to try something out, take the moment to think ahead and create a branch that's like, I'm going to try this thing out branch.
14:43 And if you like it, you can do a PR or merge it back.
14:46 But you don't have to, like, commit to breaking your code.
14:49 You can always roll it back, but you might want to save it or you might want to slowly evolve it or whatever, right?
14:53 I've definitely made my own local test this branch.
14:57 And they rarely make it into master.
15:00 But when they do, I'm really happy that I split it out first.
15:04 Yeah, absolutely.
15:06 So one that you did bring up, and I think the more successful you are as a developer, the worse that this plagues you.
15:15 You say, try to say no to more.
15:18 Absolutely.
15:19 And I'm sure we'll talk about this later, too.
15:21 But I'm actually working on a course about this.
15:23 A lot of people are eager, especially in the junior developer role, like where I am looking now just for any kind of developer role.
15:32 It's, oh, can you do this?
15:34 Can you do this?
15:35 Can you do this?
15:35 You see all of these different items.
15:38 And it kind of goes in with another idea of specializing.
15:40 But if you try to do everything, it's kind of like that, I forgot what that saying that says, you know, be a master of one and not a generalist.
15:50 Like, focus on one thing and then basically tune out everything else.
15:54 Like, I've had people go, oh, well, how come you don't use Pelican or how come you don't use Pyramid or how come you don't use Django?
16:00 And it's like, it's not that I don't want to use those things.
16:03 It's just right now I'm focusing on the things that I am using.
16:07 So I'm going to say no to completely like porting my code over to Django.
16:11 And I'm going to say no to porting it over to React or React Native.
16:15 And I'm just going to focus on what I'm currently doing.
16:18 Yeah, that's a good point.
16:19 And I find, like, I'm super susceptible to this because I like to help people out and I don't like to say no in particular.
16:27 So if I can help someone and I can do it quick, it's fine.
16:29 But a lot of times I'll end up committing to projects that actually turn out to be bigger than I thought they were.
16:34 And then I end up honestly doing not as good of a job for all the projects I'm involved in.
16:40 So it's really hard to say no some of the time.
16:44 But, you know, really stay focused is the goal, right?
16:48 If you've got a goal, go for it.
16:49 Absolutely.
16:50 And there's nothing wrong with helping others.
16:52 You know, I think one of the best examples of this is imagine that you're in a plane that's about to go down.
16:58 The first thing that they always tell you to do when the little masks come down is to put the mask over your own face.
17:04 Because if you spend all your time trying to put a mask on someone else's face, you'll probably black out, pass out, and then die in the fire.
17:11 So you need to make sure that you're taken care of before you go out and expend all of your energy trying to help others.
17:19 Not to say that you shouldn't help them, but make sure that you're in a position to where you can actually help them.
17:24 Yeah, that's a good analogy.
17:25 I like it.
17:26 So another one that you have is to specialize.
17:29 And this is a little bit like that I want when I'm getting started.
17:33 I want to just say yes to any project and help anything and do whatever I can.
17:37 You want to kind of like you said with Django and Flask and Django and Pyramid and all the different technologies you named.
17:44 It seems valuable to like learn all those different technologies, right?
17:49 Yeah, and I mean it is valuable to have an understanding of them.
17:52 I mean I can put up a site in Pelican.
17:55 I have a site that's built in Pelican.
17:56 But I'm not spending hours upon hours each day trying to figure out how to make the best Pelican site ever.
18:03 Instead, I'm focusing on the stacks that I use and the stacks that really help me to achieve the goals that I have, which right now are Flask and Mongo.
18:13 So when I learn something new in Mongo, when I learn about pagination, when I learn about creating forms or processing credit card information, these are all things that I need to focus on.
18:25 And if I try to learn absolutely everything else in the development space, I could miss out on some of the things that could really actually be beneficial to me.
18:36 Yeah, it's a good point.
18:37 It's like on one hand, there is certainly a lot of benefit to having a broad skill set.
18:44 And people should have a broad skill set.
18:46 But there should be something that you're really good at.
18:51 And that can be kind of what you lever off of, right?
18:55 So if you know a little bit of Django, a little bit of Flask, a little bit of Pyramid, a little SQLAlchemy, a little Mongo, and somebody says, hey, I need to hire somebody.
19:03 I need to find somebody who can really solve this problem or have a performance in SQLAlchemy.
19:07 Like, they're not going to go to the guy or girl who knows a little bit about SQLAlchemy.
19:12 They're going to go to the person who knows a whole lot about it.
19:15 You know, Mike Baer, the guy who created it, or some other people who are like really do a lot of stuff in that, right?
19:21 This portion of Talk Python to me is brought to you by Linode.
19:24 Are you looking for bulletproof hosting that's fast, simple, and incredibly affordable?
19:28 Look past that bookstore and check out Linode at talkpython.fm/Linode, L-I-N-O-D-E.
19:34 Plans start at just $5 a month for a dedicated server with a gig of RAM.
19:38 They have 10 data centers across the globe.
19:41 So no matter where you are, there's a data center near you.
19:43 Whether you want to run your Python web app, host a private Git server, or a file server,
19:48 you'll get native SSDs on all machines, a newly upgraded 200 gigabit network,
19:52 and 24-7 friendly support, even on holidays, and a seven-day money-back guarantee.
19:57 Want a dedicated server for free for the next four months?
20:00 Use the coupon code PYTHON17 at talkpython.fm/Linode.
20:06 There's a really interesting analogy that John Sonmez gave on my show when I had him back.
20:11 I think it was episode 71.
20:13 I know he was on your show as well.
20:14 He said, like, look, if you get arrested for murder, you want the lawyer that does murder trial,
20:23 you know, murder criminal defense trials.
20:25 You don't want the divorce lawyer that sometimes maybe also studied criminal law.
20:31 You want the person who just does that, right?
20:33 And I think if you're really trying to, like, lever your career up, like, another notch, right?
20:39 Having one of those things where, like, if you need this, you go to you, right?
20:44 That's really powerful.
20:45 Then you can kind of broaden out from there.
20:47 Absolutely.
20:48 And that's not to say that, you know, shut the window on everything else either, because
20:52 there have been times where I've looked at, for instance, right now I'm looking at building
20:57 an app in Swift, and it's kind of like a little side project to help me, you know, forget about
21:03 things whenever I'm banging my head up against the wall.
21:05 But as I learn other things with just the intention of, like, okay, now how can I apply this to the
21:12 thing that I'm really, really good at?
21:13 You know, how can I take the lessons that I've learned in Swift or the lessons that I've learned?
21:17 I go to a monthly JavaScript meetup just so I can go, I think I know how to do this in
21:22 Python, and it's actually a little bit better.
21:23 And then go and do that thing.
21:26 Not to say, you know, JavaScript's bad or anything, but there have definitely been moments where
21:30 I go, I wonder how I can apply this to my existing projects so that I'm better in the
21:38 areas that I'm really trying to excel in.
21:40 Yeah, it's a huge tension, right?
21:42 Between getting better at the thing you're good at and that you're really doing versus broaden
21:47 it out so that you can reapply it to that, right?
21:49 So, so very cool.
21:50 So that kind of leads us into another one of your suggestions is always be learning.
21:55 Absolutely.
21:55 I totally agree with this.
21:56 Yeah.
21:57 So for those that haven't talked with me ever, one of the things that most people don't know
22:02 about me is I'm also a licensed minister.
22:04 I don't practice, but I am licensed.
22:07 And I did study some ministry a little bit, not formally at the collegiate level, but I've
22:13 been under the tutelage of other ministers.
22:15 And for me, I've always, people have always said like they love my sermons because I always
22:21 come from left field.
22:22 And, you know, a lot of people think that's weird.
22:25 It's like, you know, you could be talking about something and then all of a sudden you're
22:28 like, oh, that reminds me of this one time.
22:29 And like you say this really austere, you know, you tell this story that's just like,
22:34 like what?
22:35 But at the same time, if you are going through your life experiences and you go, what can
22:43 I learn from that?
22:43 You know, what experience can I learn from that?
22:45 What can I learn from this conversation that I'm having with Michael right now?
22:49 You know, that's one of the things I love about the podcast.
22:51 You know, with Pitt, I'm learning from my guest.
22:54 I never try to be the central topic.
22:58 I don't want them to talk about me.
23:00 I want to talk about them because I want to learn from their experiences.
23:03 Yeah, I totally agree with you on that.
23:05 The podcast bit.
23:06 I feel like I'm the first most honored guest because I actually get to ask the questions.
23:11 It's awesome.
23:12 But I feel like always learning is super important.
23:15 Like you said, you go to these JavaScript meetups just to like get a different angle and
23:20 things like that.
23:20 Like I definitely attribute much of my success as a developer from the fact that
23:27 probably, you know, almost every week I was either reading a book or taking an online course
23:32 or doing some thing to just say, all right, what new thing can I learn this week?
23:38 And how does it apply to what I've been doing?
23:41 And it seems so small, right?
23:43 Like, oh, I could do this loop better or I could access the database this way or whatever.
23:48 But if you do that every week for years, it really, really adds up.
23:52 Definitely.
23:52 And you kind of hit a good point there that you're not learning all the time through the
23:57 same method.
23:58 You're not saying, I'm just going to go do a podcast and whatever I learned from the podcast,
24:02 that's it.
24:03 It's no, you're working on projects.
24:05 You're reading books.
24:06 You're helping others.
24:07 You know, one of the best ways to learn is to actually teach.
24:10 You're building courses.
24:11 I'm sure you've learned a lot just doing courses.
24:14 I know I have.
24:15 Yeah, absolutely.
24:15 So another thing that's really powerful and it works in both directions, I think, is you
24:21 say there's mentorship and accountability.
24:23 And mentorship is definitely really important for new people, but it could be your experience
24:28 and you're helping a new person or you could be that new person receiving help.
24:31 And the best part is sometimes you're both.
24:33 And that is always interesting.
24:35 That's one of the reasons why productivity and tech made the change from just a podcast to
24:41 a community.
24:42 You know, one of the things that we heard a lot was the people you have on the show
24:46 are great, but it's really hard to just say, I'm going to do that thing and then stick to
24:52 it.
24:52 Well, that's why we have our Slack channel that we hold each other accountable.
24:57 We have, we're all friends in there.
24:59 And we had a conversation earlier today.
25:02 Someone said, I'm going to do these things this week.
25:04 And then later on, he came back and said, hey, everyone, I did these things.
25:09 And, you know, every once in a while, we'll check in on each other and say, hey, I know
25:12 you were going through this stuff.
25:15 How is this affecting your goals or how is this affecting, you know, this other thing
25:19 that you're working on?
25:20 And that's just the accountability side.
25:22 Mentorship is, is really, really powerful.
25:25 I've had some amazing mentors.
25:27 I would consider you, Michael, in ways, a mentor, especially when it comes to podcasting
25:32 and developing your own system in podcasting.
25:35 Well, thank you.
25:35 Yeah.
25:35 I've been able to share a lot of the tools and a lot of the resources that I've gotten
25:40 from you and that I've learned with others so that, you know, a mentorship is not always
25:45 just one way.
25:46 It's not one person, you know, telling you how to do things.
25:49 It's one person showing you ways to do it.
25:52 You deciding whether or not you're going to do it.
25:54 And then you turning back and teaching others.
25:58 And one of the best things that you can always do is, is be, be accountable of your mentor.
26:03 You know, when your mentor teaches you something, let them know that you've done it and let them
26:08 know, you know, how it impacted you and how it taught you things.
26:11 I always think my mentors, if, if I don't, I'll, it's funny, like I'll send them tweets
26:16 like, Hey, I know I haven't sent you one in a few months, but I really appreciate you,
26:20 you know, just being there as someone to talk to and as, as a mentor, because it's helped
26:24 me get to where I am today.
26:25 Yeah, that's, that's really awesome.
26:27 And I think that's super important to have that both accountability and mentorship.
26:31 And sometimes the mentorship is really, really loose, right?
26:34 Like I follow some guy's blog and I read his book or it could be really, really tight.
26:39 Like you and I talking and exchanging stuff or, you know, things like that.
26:44 Right.
26:44 Absolutely.
26:45 And, and you can always just ask someone say, Hey, you know, I, I see you as a mentor.
26:50 Is there any way that I can pick your brain about something every once in a while?
26:55 Or I'd like to get on a call with you and maybe ask you some questions or, or my favorite,
26:59 Hey, I, you're a really good mentor in this field.
27:03 Why don't you come and be on my podcast?
27:04 And we can, we can talk about some of these things that I've learned from you.
27:08 Right.
27:08 And that last one's interesting because it's like, not just, I'm asking you to help me
27:12 out, but I'm trying to give you something back as part of it.
27:15 And I think that's a really nice way to start these conversations, right?
27:18 Like if you're, let's just pick somebody's blog.
27:21 I'm following somebody's blog and they're doing really great work and I'm learning from
27:24 it.
27:24 I would like to like connect with them.
27:25 You could say, look, I would love to be a proofreader and check all the code samples of
27:31 your blog posts.
27:32 If I could like work with you and just do that for free, could you give me some advice
27:36 on like my career or something like that?
27:37 Right.
27:37 Definitely.
27:38 And I think that's, that's something that a lot of people are afraid to do.
27:41 I mean, I've, I've worked for free a lot in my life and it hurts at times where you want
27:47 to actually always ask for some type of payment.
27:49 But if you go up front and you say, Hey, you've already paid me in knowledge and experience.
27:56 I would like to help you as, as payment, as, you know, reciprocating that payment.
28:03 And in the future, maybe we can continue a relationship that, that works in both of our
28:09 favors.
28:10 Yeah.
28:10 And you don't often, it's, it's often unclear how that's going to work out.
28:14 But I found that like giving to people and helping out people pays itself back in unexpected
28:20 and wonderful ways.
28:21 So I kind of think that it's just worth it and it'll figure itself out later.
28:26 I mean, we're all developers in an open source world.
28:29 There's nothing wrong with going and looking at some open source code and saying, Hey, I
28:33 noticed there was a typo in one of your comments and just pointing it out, or even just submitting
28:37 a pull request that fixes it really quick.
28:39 I mean, it's nice.
28:41 And it, someone goes, Oh yeah, I didn't notice that.
28:43 I do that all the time with websites that I look at go, Hey, I, I know that there's a language
28:47 barrier here, but this statement doesn't quite make sense in American English.
28:52 Perhaps you meant to say this instead.
28:55 Right.
28:55 For sure.
28:57 So your, your next advice is, it's not burning the candle at both ends, which is
29:02 really, there are times in life where that's really hard to do.
29:05 Like if you're trying to do like a side project that you maybe want to transition to, there
29:09 might be some period where like you are burning the candle a lot.
29:12 Well, this is something that I've had to teach myself a lot lately.
29:17 For the first year of productivity and tech, I really did this.
29:20 I burnt the candle at both ends.
29:22 I would, you know, wake up at four in the morning, work on productivity and tech, go to work at
29:27 seven, come home at, you know, five 30, eat dinner with my wife and then stay up until
29:32 midnight working on productivity and tech again.
29:35 And I got really sick.
29:37 You know, I, I'm still recovering from being sick and I had to take a lot of time off from
29:44 work.
29:44 I had to, you know, have a lot of doctor's visits.
29:47 And in the end, I just said, you know, enough's enough.
29:51 I cannot do that.
29:52 And not again.
29:53 Yeah.
29:53 Like two hours a day would have in the end, probably actually made more time.
29:57 You know, on the project, right?
29:58 If you didn't like have to go deal with all this stuff.
30:01 Oh, absolutely.
30:01 It's, it's been proven that the more you take breaks, the better you're going to be off mentally
30:06 working on tasks.
30:08 You know, breaks allow your brain to catch up with what's going on and really start to process
30:12 it.
30:13 If you're just going at it a hundred percent all the time, you're going to burn yourself
30:17 out instantly.
30:18 Yeah.
30:18 It's most of the time you want to view everything as a marathon, right?
30:22 One of my favorite quotes is that inspiration is perishable.
30:28 And I find that I work much faster, much more focused if I'm really inspired to do something.
30:37 So I'll have these periods where like, I'm just driven to do a thing and I'm really into
30:43 it.
30:43 And I'll spend like 12 hours a day on it for a week or two.
30:46 But you know, you got to like turn that back down, right?
30:50 You can only do that for a little while.
30:51 Definitely.
30:51 You have to, you have to wind up just saying, Hey, you know what?
30:55 I'm going to take a break and, or I'm going to put this down.
30:58 I do that a lot.
30:59 I'll start working on something and then I'll just get this little like voice in the back
31:03 of my head saying, Hey, you've worked on this long enough.
31:05 Why don't you go take a break?
31:06 Why don't you go spend time with your family?
31:08 And then I just get up and do it.
31:10 Yeah.
31:10 That's a good part.
31:10 Yeah.
31:11 Yeah, for sure.
31:12 And you find like, sometimes you come back, that thing you were stuck on is like easy.
31:15 You go, well, why didn't you do it this way?
31:17 Okay.
31:17 So another one that is, you know, popular in the startup space, but I think has a lot
31:23 of merit is fail fast and fail often.
31:24 Absolutely.
31:25 This is actually, I gave this advice on another podcast I was a guest on called Originality.
31:31 And I think like since then it has, it's taken its own little life.
31:36 I've wrote it, I've written it down on like my notebooks.
31:39 You know, I've, you know, talked to my wife about possibly tattooing it on my body.
31:44 You know, it's, I really love this advice and because it's so true.
31:50 I have, I have failed so many times in my life and I look back and I'm so grateful for
31:58 all of those failures.
31:59 Before productivity and tech, I actually ran a blog called Keeping Junk Managed.
32:03 And I did that for about two years.
32:07 I would write a blog post almost every single week.
32:10 I think I wrote, at one point I was writing three blog posts a week.
32:14 And eventually I just took it all down and I learned an easy lesson.
32:18 I hate writing.
32:19 So it was, it was like, hey, you know, I failed with this, even though it was starting to grow.
32:25 I felt like it was a failure, but I learned an extremely valuable lesson and I've built
32:30 many, many projects.
32:31 I'll go, hey, I'm going to build this little project out in the weekend and I'll work on it
32:34 and work on it, work on it.
32:35 And then at the end of the week, if it's not done, I set it down and I forget about it.
32:40 And I look at it as, okay, hey, I didn't finish that, but what did I gain from it?
32:43 Yeah, for sure.
32:44 You need to have these broad experiences, even if you don't make them a big thing.
32:48 Right.
32:49 And I guess one of the takeaways is, you know, failure is seen as really, really scary.
32:55 Another show that I listened to that I really like is How I Built This from Guy Raz.
33:01 And they interview all these people that started companies and the guy, gosh, I can't remember
33:05 what company it was, but that's unfortunate.
33:08 Maybe I'll link to the episode.
33:09 I can dig it back up.
33:11 But he said, there's a difference between risky and scary.
33:16 Some things are not scary, but very risky.
33:21 Some things are not particularly scary, but they're actually really, really risky.
33:25 And so, you know, the analogy he gave was, look, I could stay at like a pretty safe job
33:32 my whole life, but I don't really like it.
33:35 And I could wake up when I'm 65 and go, I spent my whole life doing something I didn't like.
33:39 Can you believe that?
33:40 How bad is that?
33:41 Right.
33:41 And that's not scary at any given moment, but it's totally risky.
33:45 So I think there's a lot of these things that we can do that seem risky, but they're really
33:49 just scary.
33:50 And so trying these different things and have these different experiences.
33:53 Yeah.
33:54 Just embracing that for here's another experience.
33:56 I'm going to get an awesome lesson from this or I'm going to have something successful.
33:59 One of the two.
34:00 Let's go.
34:00 Right.
34:01 That's great.
34:01 You know, one of the things that I've always, you know, told people that I've mentored
34:06 is it's only failure once you deem it a failure.
34:11 And I know that kind of goes counterintuitive to the fail fast, fail often portion.
34:15 But if you look at the times where you didn't, where you fell short a little bit, if you don't
34:20 look at them as failures, but you look at them as, you know, just opportunities to learn from,
34:24 it's not a failure.
34:26 And the only person that can tell you that you failed is yourself.
34:29 You can only fail yourself in life.
34:31 Yeah, that's a great point.
34:32 Yeah.
34:32 There's definitely things I look back on where at the time I'm like, God, this thing didn't
34:36 work out.
34:36 This is such a bummer.
34:37 And really they just, you know, looking back, they look like stair steps.
34:40 So another one that you talk about is doing your own thing.
34:43 What do you mean with that?
34:44 Oh man, I love this one.
34:46 I absolutely love this because this kind of goes in line with specializing.
34:50 If you try to emulate others in anything that you do, it will always feel like you've emulated
34:58 someone else.
34:59 I'm not saying that you shouldn't steal like an artist.
35:01 I think that that's, it's a really great book for one, but it's a really great idea.
35:05 Look at what other people are doing and say, what would that look like if I'm doing it?
35:11 But at the end of the day, do your own thing.
35:13 I've definitely struggled to find my voice in the podcasting space because I listen to a
35:21 ton of podcasts.
35:21 I mean, I listen to hundreds of podcasts every single week.
35:25 And a lot of those voices start to come out when I'm hosting an interview.
35:32 But what I always try to do is say, you know, hey, when I'm asking questions, when I'm talking
35:38 with a guest, I'm doing it with my level of excitement.
35:42 I'm doing it with my level of concern for my audience.
35:46 I'm not trying to run a gimmick.
35:48 I'm not trying to be like Gary Vaynerchuk, who's just yelling at everyone and saying,
35:52 hey, you got to get out there and just freaking do it already.
35:55 You know, I'm, I'm being myself when someone says it's scary.
35:59 I can go, I can definitely vouch for that because it is scary.
36:02 I've been scared.
36:03 You got, you can't be afraid to just do your own thing.
36:06 And then from a technological standpoint, as developers, people will appreciate you putting
36:12 your spin on things.
36:15 This portion of Talk Python to me was brought to you by GoCD.
36:18 GoCD is an on-premise, open source, continuous delivery tool to help you get better visibility
36:24 into and control of your team's deployments.
36:27 With GoCD's comprehensive pipeline modeling, you can model complex workflows for multiple
36:32 teams with ease.
36:33 And GoCD's value stream map lets you track changes from commit to deploy at a glance.
36:39 Say goodbye to deployment panic and hello to consistent, predictable deliveries.
36:44 We all know that continuous integration is super important to the code quality of your
36:47 applications.
36:47 Choose the open source local CI server, GoCD.
36:51 Learn more at talkpython.fm/gocd.
36:55 That's talkpython.fm/gocd.
36:58 You know, I look at one of my favorite companies, Trello, who were purchased by Atlassian recently.
37:04 I've actually applied to Trello and I got rejected, but it was the coolest rejection ever because
37:09 in the email, it talked about like rejection raptors coming in and eating up the entire human
37:15 resources department and the building burning down.
37:18 So unfortunately, at the moment, they couldn't hire me.
37:21 And I'm just like, I'm not even upset.
37:23 This is awesome.
37:24 Yeah.
37:24 It's hard to be upset when you're laughing.
37:25 Absolutely.
37:26 But in having that unique personality to your own thing, that's what really makes stuff
37:31 valuable.
37:31 Yeah.
37:32 Yeah.
37:32 It's certainly worth having an opinion about things and not just, you know, playing it safe
37:38 all the time for sure.
37:39 So I had a guy I worked with a long time ago, enjoyed working with him.
37:43 And we worked at this office and got rearranged.
37:47 We ended up moving to the same office.
37:48 And after like the first day of working together in the same office, Michael, you talk to yourself
37:53 while you're programming a lot.
37:54 That's like, really?
37:56 I'm really sorry.
37:56 He's like, no, no, it's fine.
37:57 But it just, did you know?
37:58 Like, I don't even know.
37:59 So you say we should talk to ourself.
38:02 Maybe I was doing all right.
38:02 Absolutely.
38:03 You should, you should definitely talk to yourself, not only in real life, but also in your code.
38:07 No one thinks like you do.
38:10 No one reacts like you do.
38:12 When you are going to achieve something, you have to be the one that picks yourself up and
38:18 gives yourself that PEP talk.
38:19 When you're writing code, leave notes for yourself.
38:23 Trust me, as someone who picks up projects, sets them back down, and then like a year later
38:27 picks them up again, it's really great to see that message that I left myself.
38:31 That's like, hey, this probably isn't the best way to do this.
38:34 You might want to look at refactoring this down the road.
38:37 And there's nothing wrong with that.
38:38 Now, maybe in your production code, you might want to clean that up a bit.
38:41 But at the same time, it's really important that you keep a line of communication with yourself.
38:48 And the biggest reason for that is if you don't, you'll wind up hearing everyone's voice,
38:53 but your own.
38:54 Yeah, that's really good advice.
38:55 That's cool.
38:56 So another thing you propose is that we should learn from outside the realm of art, of our
39:03 development projects and things like that, right?
39:04 Absolutely.
39:05 I mean, learn from outside of your own realm.
39:07 One of my favorite conversations in the pit podcast was I interviewed someone who was a productivity
39:14 coach, but she was also a trapeze artist.
39:16 And where does that come from?
39:19 Like, what lessons can you learn from someone who walks on a high wire?
39:23 That's absolutely phenomenal.
39:27 But when you start to think outside the box, you start to get results that are outside
39:32 the box.
39:32 And when people see that, they get inspired.
39:35 Like...
39:35 Yeah, I'm sure it gives you some really interesting...
39:37 Yeah, for sure it does.
39:38 Yeah, that's awesome.
39:39 So merge your passions.
39:42 So that's kind of...
39:43 Well, what do you mean by merge your passions?
39:45 It sounds great, but I won't put words in your mouth.
39:47 So for me, merging my passions are combining the things...
39:51 I have a few talks or a few proposals that I've put out about this, actually.
39:55 For me, I have a few passions.
39:58 Obviously, the tech side.
39:59 Obviously, the productivity side.
40:00 But I also love working in communities.
40:02 Ever since I've started learning to be a developer, I've gotten involved in communities.
40:07 And I said, you know what?
40:09 Why don't I merge the two of these things?
40:11 Why don't I start developing for communities?
40:14 One of the first projects I ever put out was an app called Shownoter.
40:19 It was a little web app that I built.
40:20 And I built it with the intention to help one of the online communities that I was a part of.
40:25 We were having a problem keeping notes.
40:27 We were basically putting a bunch of comments inside of like a Google Hangout that we did
40:32 once a week.
40:32 And there would be a ton of links in there of valuable information.
40:35 And I was like, you know what?
40:37 I can build an app that sifts through all of this text and just finds those links and shares
40:43 those.
40:43 So it turned into a full project.
40:45 But I couldn't be afraid to say, hey, you know, I know I want to be a community manager.
40:51 I know I want to be a developer.
40:52 Why don't I just build stuff for community managers?
40:55 That works because then I get to use what I made.
40:58 Yeah, that's a really cool way to look at it.
41:01 And, you know, a lot of times people want to advance their careers by doing something outside
41:06 of what they do with their regular nine to five.
41:09 And I often say, like, look, go find something that you care a lot about and just go build
41:13 that.
41:13 Right.
41:14 It doesn't have to be successful.
41:15 It doesn't have to be commercial.
41:16 But, you know, find something that you care about and, you know, bring your programming talents
41:21 to it.
41:22 One of the guests that I've had on the show, his boss got him into skeet shooting.
41:27 And they had like this issue to where like their skeet shooting machine was broken and
41:32 you couldn't get it repaired.
41:33 And he said, you know what?
41:34 What if we just built our own?
41:36 So they actually built their own skeet shooting like clay tosser and they built an app for it
41:42 that you could control when and where it threw like the clay pigeons.
41:47 And I was just like fascinated because I had never thought of merging like programming with
41:53 skeet shooting.
41:54 That's awesome.
41:54 I've never thought of that as being a technical thing either.
41:57 Like you put it in there and some time later, it flings it out, right?
42:00 Exactly.
42:01 And it's like it rotates on like 360 degree access.
42:03 So it can literally throw it in any direction.
42:05 And you have your friends and you can keep scoring.
42:08 It's like all of these different things that, you know, I get excited just talking about it
42:12 and I'm not an avid skeet shooter.
42:14 So for me, like when you go out and you do your own thing and you merge your passions
42:19 like that, when you combine all of these things that we've talked about, what happens is not
42:24 only do you get excited about the things that you're doing, but other people get excited about
42:29 them.
42:29 Yeah, that's right.
42:29 You definitely already have this built-in community around whatever you're passionate
42:32 about.
42:33 That's cool.
42:33 All right.
42:34 So that is a bunch of good advice for people to be more productive and more focused and really
42:41 kind of inspired, which, like I said, I think is really the key for a lot of this kind of
42:46 stuff.
42:46 Let's talk about some of the tools that you use.
42:48 You said that actually pen and paper is one of your main go-tos.
42:52 Absolutely.
42:53 I am.
42:54 I'm a pen and paper fanatic.
42:57 I think that kind of came more and more with the sketchnoting side.
43:01 I've been on a few podcasts about, you know, bullet journaling and analog productivity.
43:06 The thing that I like about it is it's so diverse.
43:10 There are very few apps where you can have like a task list, a funny drawing, a note to
43:16 yourself, and then like a bunch of just weird things that you've found and collected over
43:22 the ages.
43:22 Like my notebook has 32 yen on it from where I lived in Japan.
43:28 So every time I pull out my notebook, I immediately go back to, you know, the three years that I
43:33 spent in Okinawa.
43:34 And, you know, I get to play around with fountain pens and try out different paper.
43:38 And it takes my mind away from the arduous task that I'm working on at the moment.
43:46 I think it's interesting to work with pen and paper.
43:49 I don't do it very often.
43:50 Maybe a lot of times when I'm on a plane or I'm somewhere kind of isolated, right?
43:55 And I'm not necessarily on the internet.
43:59 But I find it to be helpful because I can't get easily distracted.
44:03 I'm sort of forced to like think my thoughts and then get it out.
44:07 Whereas if I do it in, say, Google Docs, it's like, oh, notification, notification.
44:12 Oh, you know, that one thing I should have done.
44:13 And that reminds me of this.
44:14 You know, oh, geez, I better.
44:15 Right.
44:16 It's like it's easy to get distracted with other tools.
44:19 They're great, but it's hard.
44:20 Absolutely.
44:21 And the other if you wanted to use an app, the one app that I do like a lot is Task Paper.
44:27 And I like it for that exact reason is it feels more like paper.
44:30 It's you're not getting hit with notification after notification.
44:35 I have anxiety issues.
44:36 So whenever I start getting like little blips that say, hey, you need to go do this.
44:40 And then you need to go do this.
44:41 And you need to go do this.
44:42 Like that become that makes me really anxious.
44:44 But when I control my list and I go, OK, what do I need to do?
44:49 And then I just write it down, whether it's in Task Paper or on pen and paper.
44:53 And then I just look at just that.
44:55 I don't have to think about anything outside.
44:58 I don't have to worry about random pop ups.
45:00 And every once in a while, someone will call and say, hey, you're supposed to do this thing.
45:04 And I go, OK, I'll add it to my list and just leave it at that.
45:08 Right.
45:08 Yeah, that's awesome.
45:10 Very cool.
45:12 So Task Paper sounds great.
45:14 Another one that I like is called Liquid Paper.
45:16 And that's just fantastic if you're like learning something written.
45:20 It lets you, especially if you have an Apple Pencil, but you can do it with your finger as well.
45:25 Like it lets you highlight and circle and call out little sections of like really long PDFs and things.
45:30 And that's definitely a recommendation for me.
45:33 Very cool.
45:34 So let's talk about some of the podcast episodes.
45:36 Your last one was with Tom Merritt, right?
45:38 Yeah.
45:38 At the time of recording this, the last guest that I had was Tom.
45:43 And he's definitely someone that I've looked up to for a long time.
45:47 As I mentioned before, I listen to a lot of podcasts.
45:50 I think that was what gave me the idea to start my own.
45:52 But one of the podcast, one of the very first podcasts I started listening to was Tom's with
45:57 the Daily Tech News Show.
45:59 And since then, I've been a fan of that.
46:01 I've been a fan of some of his other work as well.
46:03 And I never thought he would be on the show.
46:07 But one day, they were having a conversation and he started talking about his own productivity system.
46:12 So then I had to email him because I was just hoping he would read my comments.
46:16 But it was mostly saying, hey, you know, Tom, you're doing a great job.
46:19 And then he replied back and said, hey, thanks.
46:21 That was awesome.
46:22 And then I go, well, I do run this show.
46:25 I'd love to have you on it to talk more about this.
46:29 Yeah, that's cool.
46:30 And he's had such a great legacy.
46:32 Several shows.
46:33 He's been on several different networks.
46:34 And currently, you know, Daily Tech News Show and a lot of his other shows are doing some
46:40 really fascinating things.
46:41 Yeah, Daily Tech News Show is really great.
46:44 So Tom hosts Daily Tech News Show.
46:46 And if you guys are looking for a non-developer, just general tech space, like give me the quick
46:53 news of the day, 15-minute sort of conversation, I can totally recommend that show.
46:58 That's a great one.
46:59 I actually was somewhat inspired to start Python Bytes from that because I'm like, you know,
47:02 why don't we have something like this?
47:04 Because DTNS is really, really great.
47:05 But he does a bunch of podcasts and he writes books and he does all sorts of things.
47:09 So there's a lot of cool lessons to learn from listening to that episode.
47:13 What other ones would you recommend people check out?
47:16 Well, for my shows, that's so tough.
47:19 I've had so many great guests.
47:22 And right now, I'm kind of cheating and I'm going to go to my website and look at some of
47:26 those names.
47:27 There was this one guy named Michael Kennedy.
47:30 He did really good on the show.
47:32 Like, I really enjoyed his.
47:33 Thank you.
47:34 Just looking through this, of course, I've had Brett Terpstra on the show.
47:37 A lot of people say he's like internet famous.
47:39 So I think there's a drinking game named after him.
47:42 I like enjoy talking with him because he's a very realistic person.
47:46 And he's also a mad scientist.
47:48 He does a lot of little projects that are really cool.
47:50 But other than that, I mean, I'm like scrolling through these and there's so many great people
47:58 in here.
47:59 People ask me these questions as well.
48:00 And it's always like, well, which one of your kids is prettier or something, you know,
48:04 something like that, right?
48:05 It's hard to say.
48:05 But yeah.
48:06 Exactly.
48:07 Exactly.
48:08 I would say the one right before Brett too, Kenneth Rotter, he hosts the, what is it called?
48:15 The Dumbbells and Dragons podcast.
48:18 And this is where I was really inspired by the, the do your own thing, you know, just
48:23 really just embrace your own thing.
48:24 He loves working out.
48:26 He loves nerd culture.
48:28 He loves, you know, Sigourney Weaver.
48:30 They did like a whole series on the alien sequence of movies and having conversations with
48:37 him came at a very, very difficult time for me.
48:40 I was struggling with a lot of social anxiety stuff and I felt like I couldn't become that
48:45 real developer.
48:46 And then I got him on the line and learned that like, okay, I can just be myself.
48:52 And if that means I'm not a real developer, as long as I'm having fun, that's what really
48:56 counts.
48:56 Yeah.
48:57 I think if you're building things, right, it doesn't have to be what you necessarily do
49:00 day to day, but I think you are as well, for sure.
49:03 So that's cool.
49:03 Let's go back to your always be learning part.
49:07 And a big part of that is reading, right?
49:09 So you're an avid reader and I know there's a bunch of books that developers could, should
49:14 maybe read for this kind of stuff.
49:16 What do you got in mind for that?
49:18 So I have a few development books that are sitting on my shelf.
49:22 I think I've cracked the spine on a couple of them.
49:26 So I can't really give you the best advice on development books, but I can tell you of some
49:32 really good books that I've read that can just help you in life in general.
49:37 And one of my most recent, you know, really, really, really good books is How to Be Everything.
49:43 And this is by Emily Wapnick.
49:45 And this is where the idea of being yourself and merging your passions came from.
49:51 Emily is what she would call a multi-potentialite, which means that she could really be doing a
49:57 couple of things and she likes doing those things.
49:59 I'm the same way.
50:01 I've already mentioned it before.
50:02 I could just be doing podcasting full-time.
50:04 I could be a full-time developer.
50:05 I could be a full-time community manager, but I find ways to kind of combine these things.
50:11 And I learned that little tip from Emily's book.
50:14 Yeah, that sounds really cool.
50:15 I haven't read that one, but I have read some of the next one you have up for us with The
50:20 Accidental Creative.
50:21 Yes, this book was phenomenal.
50:24 I think that I like Todd Henry's books, Die Empty and Louder Than Words, I think is the
50:31 other one.
50:31 I haven't read that one yet, but The Accidental Creative was the first book I read by Todd.
50:35 And even at the end, he just wraps it up of like, you know, don't be a cover band.
50:39 Do your own thing.
50:40 Kind of like, as you can tell, a lot of these lessons that I pick up, they're not from me,
50:46 but he really does show like, hey, think about things outside while you're doing them.
50:50 Think about how can this translate to other areas of your life?
50:54 Think about the things that you don't want to be doing and what can you gain from them that
50:57 makes the experience overall more pleasant.
51:00 Yeah, absolutely.
51:00 I think creativity definitely in, at least in the sense of that book and not necessarily
51:06 the traditional, you know, art major type creativity, but the creativity that a lot of people have
51:11 in their work, you know, it's, I think it's undervalued or maybe under, underdeveloped,
51:17 right?
51:18 Like we don't spend enough time like just focusing on being creative problem solvers and creative
51:23 thinkers.
51:24 Right.
51:25 So it's good to remind you to do that.
51:27 Absolutely.
51:27 Yeah.
51:28 So the next one is how to be positive when telling people, no, I'm too busy.
51:32 Yeah.
51:32 The Power of a Positive No by William Ury is, is, it's an older book.
51:36 He's actually written some other really good books that I'd highly suggest you check out.
51:40 But, but this one, this one really helped, especially if you're dealing with social anxiety.
51:46 If you feel like you have to please everyone, I would highly recommend reading this book.
51:50 William is someone who, he's been a negotiator and he's negotiated a lot of peace treaties.
51:57 He's negotiated international conflicts.
52:00 He sat down with the people that were involved in the Cuban Missile Crisis.
52:03 So he brings a lot of knowledge in and really teaches you how to develop this system around
52:11 saying no and really unlock the things that you want to say yes to and, and really having
52:16 the power to do that.
52:18 It's called the power of a positive no for a reason.
52:20 Once you learn some of these techniques, you start to realize like, wow, I didn't even
52:25 know I could do that.
52:26 Yeah.
52:26 That's interesting.
52:27 You know, I feel like a lot of times people miss opportunities because they come by and
52:32 they're like, ah, I'm so busy.
52:33 I can't deal with this.
52:34 Right.
52:34 Like I would love to go do that, but I got X, Y, and Z.
52:37 Right.
52:37 And so this sounds like it might keep a little slack in the system for that.
52:41 It definitely does.
52:42 Yeah.
52:42 Nice.
52:42 The next one's about running.
52:44 I think you can learn a lot of life lessons from these types of endurance things.
52:48 Yeah.
52:48 And this book, what I talk about when I talk about running by Haruki Murakami, I picked
52:53 this book up years ago and never read it.
52:56 And then I finally sat down earlier this year to read it and was mad at myself for waiting
53:00 so long.
53:01 Haruki is an author.
53:03 He's a fiction writer.
53:04 And I've read several of his fiction books.
53:07 He's one of my favorite fiction writers.
53:09 But in this, he talks about the life that he has outside of writing, which is, you know,
53:15 he's a marathon runner and he does this every day.
53:19 And it teaches, you know, it teaches you a lot about the power of creating a habit and really
53:24 having that habit work for you.
53:27 You know, we can't be developers 24-7.
53:30 I know some of us try, but we cannot be developers 24-7.
53:34 And when we do these other things, kind of like what Ken Rotter was doing with, we're going
53:39 to the gym or joining a D&D group or reading a good book.
53:43 When you do these things, it really helps not just with your mental health and your physical
53:48 health, but it also helps on the development side because it helps keep your brain engaged
53:53 in learning different things.
53:55 Yeah.
53:55 That sounds interesting.
53:56 And the last one, what's this last one here?
53:59 So the last one is a fiction book.
54:02 It's, I've always been fascinated with the counter-revolution that happened in China about a hundred years
54:08 ago at this point.
54:10 But this book is called Balzac and the Little Chinese Seamstress.
54:13 It's by a Chinese French author named Dai Seji.
54:16 And I've read this book once a year for the past five years.
54:21 I'm actually about to come up to the point where I'm going to read it again for this year.
54:25 And it's just a really beautiful story.
54:27 And it takes place in the ancient villages of China.
54:31 For those that don't know about the counter-revolution, what Emperor Mao used to do was he would take
54:37 some of the smartest people, the doctors, the politicians, the activists, the lawyers, and
54:44 he would take their children and put them in a re-education system where they would send them to
54:50 these remote islands, or not islands, but these remote villages where there were maybe like 20
54:55 people and there was no electricity and no television and no radios and anything else.
55:00 And in the book, they even, they become fascinated with an alarm clock because it allows them to wake
55:05 up on time early without having to ignore everything, you know, without sleeping in.
55:10 I don't know.
55:10 Every time I read this book, I just, I look at my life and I just think about how good I have it.
55:15 Because I grew up in an era that I did not have to deal with some of these things.
55:19 And, you know, as an African-American, as a minority in the tech space, there are a lot of
55:23 issues that are out there.
55:24 And I look at those issues and I acknowledge them, but I continue to push myself regardless
55:30 because I know that it could definitely be worse.
55:33 Yeah, that sounds like a really interesting set of life lessons in there.
55:36 That's, that's cool.
55:37 And I love the lesson that you're taking from it.
55:39 That's great.
55:39 So I actually have two books I want to throw onto the list here.
55:43 These are not your books, but, but mine.
55:45 And I recently read them and I thought they were just incredible and related to this.
55:49 One was the biography of Elon Musk.
55:52 It's called Elon Musk, Tesla, SpaceX, and the quest for a fantastic future.
55:55 And just reading what Elon Musk has done and continues to do makes you feel like,
56:02 oh my gosh, I've got to get out there and do something because he's, he's starting a space
56:06 company, a car company, a solar company.
56:08 You know, he's just like, you read about the passion and the drive and the focus.
56:12 And it's like, you can't help but want to like go do more.
56:15 So that's really cool.
56:17 And then the other one is a surprising book I ran across somewhere right before I jumped
56:21 on a plane called hustle, the life changing effects of constant motion.
56:25 And this guy, Jesse Tevlov wrote this book and basically he's been working on like productivity,
56:34 focus, creativity type things, creating things in the creative space and super relevant for
56:42 people in development and projects like that.
56:45 And it's just, it really touches on a lot of, a lot of cool things.
56:48 Basically, you know, inspires you to keep moving, always take a step forward, always get at least
56:55 some progress on whatever your, your real important goals are.
56:57 It's great.
56:58 Absolutely.
56:59 And I think that a lot of developers are afraid to embrace their creative side.
57:04 I mean, there's, we were supposed to think logically and analytically, but really we're,
57:10 we're creative.
57:11 I mean, it, it takes creativity to build a website.
57:15 Like, I mean, sure you can follow a template, but that's boring and you want to make it your
57:20 own thing and you try all these new things.
57:22 And the only way you get to those things is by truly being creative.
57:24 Yeah.
57:25 That's the surprising thing about, I think, programming is you think of all these rules
57:28 and you've got to follow what the programming languages and the APIs sort of boxes into.
57:33 But once those boxes and that, that space is built, then it's just full of creative problem
57:39 solving and creative thinking.
57:40 And it's, it's really a wonderful space.
57:42 So definitely important.
57:44 So Jay, we're getting short on time and getting near the end of the show.
57:48 So you mentioned your course.
57:50 Why don't you tell everybody what you're up to with your course?
57:52 So my upcoming course is called learn to say no.
57:55 It is designed for people like us, like developers to learn how to embrace no, kind of like what,
58:03 the power of a positive no was saying.
58:05 however, this comes from a position specifically in tech.
58:10 You know, we're going to be talking about saying no to yourself when you want to stay up late
58:15 and burn the candle at both ends.
58:16 Saying no to your boss when they want to add a ton of work onto your project and, and
58:21 kind of takes us to take things off the rails and, and saying no to being that resident
58:27 IT guy for your family or girl.
58:30 But ultimately we're learning to say no so we can eventually say yes and say yes to the
58:36 things that we want to and the things that are going to continue to empower us.
58:39 But you can't get to yes before you get to no.
58:42 And I've learned a lot just preparing for this course.
58:46 And I think a lot of people are going to learn from it as well.
58:48 Nice.
58:48 People are interested how they find out when it comes out.
58:51 So we do have a landing page up.
58:53 If you go to productivityintech.com, if it's your first time visiting the site, you're going
58:56 to get a little pop-up at the top of the screen that says learn about our upcoming course.
58:59 And if you click on that, you can sign up for our waiting list.
59:02 In there, I will, I will send you some sneak peeks down the road, but I'll also will let
59:09 you know the status of where I'm, where I'm at with the course.
59:11 And when I expect it to come out right now, we don't have a release date at the time of
59:15 recording, but the plan is to have it out by the end of the year.
59:18 All right.
59:18 Sounds cool.
59:18 All right.
59:20 I think we're going to have to leave it there for the topic.
59:22 So let me ask you the two questions.
59:23 So if you're going to write some Python code, what editor do you open up?
59:27 It really just depends.
59:28 When we first started preparing for this conversation, it was one thing and now it's another one.
59:33 I normally use Atom or I'll use Vim for quick fixes, but Sublime Text 3 just came out.
59:40 So I'm giving that a shot and I like it.
59:42 There's a lot of cool things about it.
59:44 Oh, that's really cool.
59:45 I'll have to go check that out.
59:46 I haven't even noticed.
59:47 It's awesome.
59:49 Notable PyPI package.
59:51 I love requests and I love requests because I am always like trying to connect to an API.
59:57 I'm always like for some reason, constantly pulling in like traffic.
01:00:03 BeautifulSoup would definitely be a close second because that's where those were like the two
01:00:09 big packages that I used originally, like when I first started developing in Python.
01:00:14 But yeah, at this point, it's BeautifulSoup, not as much, but I still use
01:00:19 requests in almost every single project.
01:00:21 Yeah, that project is, of course, one of, if not the most popular PyPI packages, but it really captures
01:00:29 the essence of the import anti-gravity KCXD comic.
01:00:34 So it's great.
01:00:37 All right.
01:00:37 So final call to action.
01:00:38 People want to be more productive.
01:00:40 What should they do?
01:00:41 So I would highly suggest that you center yourself around a community.
01:00:45 Don't think that you have to be productive on your own.
01:00:48 Don't think that you have to try to make a bunch of life changes all on your own.
01:00:52 And when you fail, don't get discouraged and feel like you're just a massive failure.
01:00:57 Instead, get out, get involved in a community.
01:01:01 I happen to know one called the Productivity and Tech Premium Group.
01:01:05 It is a paid for group.
01:01:06 But the reason that we pay for it is because we want everybody in there to feel like they
01:01:12 have to contribute to the community and they have to grow with each other.
01:01:16 And it really has created a lot of amazing things.
01:01:21 A lot of life changes have happened in that group that I don't think would have happened.
01:01:27 I've had people say, you know, I was afraid to do this thing until I joined this community.
01:01:32 And I had people cheering behind me saying, hey, you can do this.
01:01:35 You can do this.
01:01:36 You can do this.
01:01:36 And in the end, I did.
01:01:38 So don't do it on your own.
01:01:40 Get involved.
01:01:41 Get plugged into a community.
01:01:42 If you want to join the Productivity and Tech community, start by listening to the podcast
01:01:47 first to make sure that we're going to provide you what you need.
01:01:50 And then go to productivityintech.com slash premium slash talk python.
01:01:56 And I'm going to give you two thirds off for life.
01:01:59 So instead of paying the $30 a month, you'll only have to pay $10 a month.
01:02:03 And that is for the life of your membership.
01:02:06 Yeah.
01:02:07 Yeah, that's really cool.
01:02:08 That's a nice project you got going there.
01:02:10 And it definitely helps to have someone who's sort of at your level trying to solve the
01:02:16 same problems or work on the same types of things or reach the same goals that you are.
01:02:20 So I have people that I meet up with weekly or every other week or something like that.
01:02:24 And we can share and exchange notes and see how we're doing and keep each other motivated.
01:02:28 So yeah, very, very cool.
01:02:29 All right, Jay.
01:02:31 Thanks for being on Talk Python.
01:02:32 It's been great to chat with you and catch up with you on all these topics and suggestions
01:02:38 are great.
01:02:38 Absolutely.
01:02:38 And I plan on keeping you as a recurring member on my podcast as well.
01:02:43 So be on the lookout for another invite.
01:02:45 Sounds good.
01:02:46 Thanks.
01:02:46 Talk to you later.
01:02:48 This has been another episode of Talk Python to Me.
01:02:51 Today's guest was Jay Miller.
01:02:53 And this episode has been brought to you by Linode and GoCD.
01:02:56 Linode is bulletproof hosting for whatever you're building with Python.
01:03:00 Get your four months free at talkpython.fm/Linode.
01:03:04 Just use the code Python17.
01:03:07 GoCD is the on-premise open source continuous delivery server.
01:03:12 Want to improve your deployment workflow, but keep your code and builds in-house?
01:03:16 Check out GoCD at talkpython.fm/gocd and take control over your process.
01:03:22 Are you or a colleague trying to learn Python?
01:03:25 Have you tried books and videos that just left you bored by covering topics point by point?
01:03:30 Well, check out my online course Python Jumpstart by building 10 apps at talkpython.fm/course
01:03:36 to experience a more engaging way to learn Python.
01:03:38 And if you're looking for something a little more advanced, try my Write Pythonic Code course at talkpython.fm/pythonic.
01:03:46 Be sure to subscribe to the show.
01:03:48 Open your favorite podcatcher and search for Python.
01:03:50 We should be right at the top.
01:03:52 You can also find the iTunes feed at /itunes, Google Play feed at /play,
01:03:57 and direct RSS feed at /rss on talkpython.fm.
01:04:01 This is your host, Michael Kennedy.
01:04:03 Thanks so much for listening.
01:04:04 I really appreciate it.
01:04:05 Now get out there and write some Python code.
01:04:07 I really appreciate it.