Latest / DevQuestions with Tim Corey / 259. The Shortcuts to Learning Software Development
Transcript
- 0:00SPEAKER_01: Everyone wants to have a shortcut, especially when learning software development.
- 0:05SPEAKER_01: The process of learning software development can be a long one, but there are ways to shorten the time between when you start learning a topic and when you feel like you're confident in your skills in that topic.
- 0:17SPEAKER_01: In this episode of Dev Questions, we will go over the shortcuts to learning software development, whether you're just getting started or you're a seasoned professional who is picking you up a new skill.
- 0:28SPEAKER_01: Just to be clear though, this is not a learn quick scheme or one of those one simple trick scams.
- 0:35SPEAKER_01: These shortcuts will make you faster, but they won't be magic.
- 0:40SPEAKER_01: Let's talk about it in today's episode of Dev Questions.
- 0:50SPEAKER_00: Welcome to the Dev Questions Podcast with Tim Corey.
- 0:54SPEAKER_01: Software development is more than just writing code.
- 0:57SPEAKER_01: So let's talk about the rest of it.
- 0:59SPEAKER_01: Specifically, let's talk about the shortcuts you can take when learning software development.
- 1:05SPEAKER_01: Now, before I get into the list, I want to prepare you.
- 1:08SPEAKER_01: Your first instinct when you hear some of these answers will probably be to discount what I have to say because they all take effort.
- 1:16SPEAKER_01: But that's why they're shortcuts.
- 1:18SPEAKER_01: People tend to avoid the hard work.
- 1:21SPEAKER_01: And so they waste time doing other things instead of just doing what they need to do.
- 1:27SPEAKER_01: And that's part of why these are shortcuts.
- 1:30SPEAKER_01: Now let's get into the five shortcuts for learning software development.
- 1:34SPEAKER_01: Number one, and if you've watched any of my other videos, you know the answer I'm going to say, but let's talk about why.
- 1:41SPEAKER_01: So number one is practice.
- 1:43SPEAKER_01: Yes, practice.
- 1:44SPEAKER_01: This is by far the number one shortcut to becoming a software development.
- 1:51SPEAKER_01: Let's put this in a different light.
- 1:53SPEAKER_01: Let's say you're learning to drive a car.
- 1:56SPEAKER_01: Now you could watch videos on how to drive a car.
- 2:00SPEAKER_01: You could learn every button, knob, and lever in the car.
- 2:04SPEAKER_01: You could learn how to best optimize your mirror setup for your driving personality.
- 2:10SPEAKER_01: You could know how to correctly set up everything in the car.
- 2:15SPEAKER_01: You could even sit in the car and feel where everything is and make sure you know where everything is.
- 2:22SPEAKER_01: That doesn't give you the skill to drive.
- 2:25SPEAKER_01: What gives you the skill to drive is actually getting out there and doing it.
- 2:29SPEAKER_01: I'm not saying those other things are bad things.
- 2:32SPEAKER_01: It's great to know what all the knobs and levers do.
- 2:34SPEAKER_01: It's great to know how to configure your mirrors.
- 2:36SPEAKER_01: It's great to know where everything is and how to get to it without even thinking about it.
- 2:42SPEAKER_01: But you need practice.
- 2:44SPEAKER_01: You need to actually drive on the road.
- 2:47SPEAKER_01: Now, here's where software developers often go off course even when they're trying to practice.
- 2:54SPEAKER_01: Let's take it back to driving again.
- 2:58SPEAKER_01: Imagine I said, well, I'm going to go out there, I'm going to learn to drive, and so I'm going to practice driving by driving from city A to City B.
- 3:07SPEAKER_01: Well, that's not going to be terribly effective practice.
- 3:10SPEAKER_01: Yes, it will give you some value, but let's just say that's a four-hour drive.
- 3:15SPEAKER_01: Well, the start of that drive, you're going to have to navigate city streets, get on the highway, merge with traffic, get up to speed, maintain your lane, watch your mirrors, all great things and very, very helpful for learning to drive.
- 3:28SPEAKER_01: But once you're up to speed, once you're in your lane, how much is there to do between city A and City B if it's a four-hour drive?
- 3:37SPEAKER_01: Probably not a lot.
- 3:39SPEAKER_01: You're just maintaining your lane and watching your mirrors.
- 3:42SPEAKER_01: Occasionally maybe passing a car or something like that.
- 3:45SPEAKER_01: That's it.
- 3:46SPEAKER_01: There's not a lot of value in that, even though you are driving.
- 3:49SPEAKER_01: Now, it's still valuable, but you probably shouldn't do that every day.
- 3:53SPEAKER_01: Driving from city A to City B and back again isn't going to give you the same experience as driving around in the city or in the country and dealing with things like merging with other traffic, making turns in a city, yielding to traffic, looking at lights and how to navigate those and right of ways and all the rest that you get with that smaller practice.
- 4:19SPEAKER_01: You can learn more in half an hour than in half an hour on the highway or an hour on the highway.
- 4:25SPEAKER_01: Because the fact that what you're doing matters, the decision-making process that has to go into that driving experience is different.
- 4:33SPEAKER_01: In the same way with learning software development, if you say, I'm going to build one app, I've got this idea for an app that I'm learning anyways, I might as well build that app.
- 4:43SPEAKER_01: Well, you're going to spend a lot of time, kind of lost, first of all, but second of all, doing the same thing over and over and over and over again, but not really getting a whole lot of value out of it.
- 4:55SPEAKER_01: And so you're not going to get that same value as if you built tiny little apps that didn't mean anything, but that allowed you to do a number of steps over and over that are more like driving the city.
- 5:07SPEAKER_01: So what kind of practice you do matters.
- 5:10SPEAKER_01: I always encourage you, create practice projects you can throw away.
- 5:14SPEAKER_01: You're not trying to build something.
- 5:16SPEAKER_01: If you try to build something, you waste too much time on things that don't give you enough value per hour.
- 5:22SPEAKER_01: You want value per hour, and that's the shortcut.
- 5:25SPEAKER_01: It's get that value per hour up by how you practice.
- 5:30SPEAKER_01: The way you practice will make a huge difference in how much value you get out of it.
- 5:35SPEAKER_01: That's number one.
- 5:36SPEAKER_01: Number two is be intentional about what to learn next.
- 5:42SPEAKER_01: If you are bouncing from topic to topic to topic, even if you're learning that topic deeply, are those connecting?
- 5:50SPEAKER_01: Or are they just entirely separate things?
- 5:52SPEAKER_01: What's the value of that next one?
- 5:55SPEAKER_01: What's the value to you, to your career, to your objectives?
- 5:59SPEAKER_01: Because learning for learning's sake is fun, but not necessarily valuable to you.
- 6:06SPEAKER_01: So I would encourage you to have an intentional list of these are what I'm going to do next and why.
- 6:12SPEAKER_01: Why do you want to pick that next thing up?
- 6:15SPEAKER_01: What's it going to help you in your career?
- 6:17SPEAKER_01: Why is it going to be valuable to you?
- 6:20SPEAKER_01: Because there is too much to learn in the software development industry so that you cannot learn everything.
- 6:27SPEAKER_01: You just can't.
- 6:28SPEAKER_01: You can't pick up everything.
- 6:30SPEAKER_01: You cannot be the everything to everybody.
- 6:33SPEAKER_01: So you have to figure out what you're going to focus on.
- 6:35SPEAKER_01: So focus on things that will help you in the long run.
- 6:39SPEAKER_01: That's why when I teach C sharp, I teach things like Git and GitHub because they link together.
- 6:43SPEAKER_01: And SQL is a great database for C sharp, even MongoDB or our Cosmos DB, because they link well.
- 6:50SPEAKER_01: And Azure because it links well.
- 6:52SPEAKER_01: And all of a sudden you have these connected things that go together rather than saying, okay, let's learn Python now, or let's learn Java now, or let's learn Rust now, because those are valuable languages and they do valuable things, but they don't connect well to what you already know.
- 7:09SPEAKER_01: And if they don't connect well, well then they're not going to be as helpful to you as if you have connected things together.
- 7:18SPEAKER_01: So be intentional about what to learn next.
- 7:21SPEAKER_01: That's number two.
- 7:22SPEAKER_01: Number three is put your training on the calendar.
- 7:27SPEAKER_01: Too often I've heard people say, yes, I want to learn.
- 7:31SPEAKER_01: And I say, okay, when are you training?
- 7:33SPEAKER_01: And they say, when I get time.
- 7:35SPEAKER_01: What that means is it's the lowest priority for me.
- 7:39SPEAKER_01: Because if it's a high priority, you put it on the calendar.
- 7:43SPEAKER_01: That doesn't mean it doesn't get bumped.
- 7:45SPEAKER_01: But when it's on the calendar, you say, this is my priority.
- 7:48SPEAKER_01: I'm stating this is my priority.
- 7:50SPEAKER_01: And if I have to change it, well, then maybe I'll redirect it, put it somewhere else.
- 7:58SPEAKER_01: So you might say, well, I'm going to train on Thursday between six and eight, but something comes up.
- 8:02SPEAKER_01: You have a, you know, your child has a recital that night, go to that.
- 8:07SPEAKER_01: But then move that instead of six to eight, either move it from nine to eleven, or you move it to Friday from six to eight, or Saturday from 10 to 12.
- 8:19SPEAKER_01: You move it on the calendar rather than just saying, oh well, because you make it a priority.
- 8:25SPEAKER_01: So when you put it on the calendar, you make it a priority.
- 8:29SPEAKER_01: And when you make your training a priority, all of a sudden you do it more often.
- 8:34SPEAKER_01: When you do it more often, you get better results.
- 8:37SPEAKER_01: When you get better results, you get closer and closer to your goal.
- 8:41SPEAKER_01: So that's number three.
- 8:42SPEAKER_01: Number four, don't switch midstream.
- 8:47SPEAKER_01: So when you are learning a topic, often what's going to happen is you get to a spot where you're like, ooh, kind of bogging down here.
- 8:54SPEAKER_01: And it will be like magic, where you will see something else pop up, whether it's in your Twitter feed or whatever social media you consume, or it's something online, or Microsoft makes an announcement, or somebody else does, and you're like, ooh, I want to learn about that.
- 9:11SPEAKER_01: And all of a sudden you switch from the thing that you are learning that you're halfway through, but you're kind of bogged down in, to something that makes you feel better because it's quick to learn, because everything's quick to learn at the beginning.
- 9:24SPEAKER_01: Don't do that.
- 9:25SPEAKER_01: It's kind of like learning to be a marathon runner.
- 9:29SPEAKER_01: When you're learning to be a marathon runner, I am not, but when you're, I've had a number of friends that are, and when you're learning to be a marathon runner, you have to run over and over and over again.
- 9:39SPEAKER_01: You run longer and longer distances and you varied up and all that kind of stuff.
- 9:44SPEAKER_01: But at some point it gets really hard and it's difficult and you have to push through.
- 9:50SPEAKER_01: Well, at that point is not the time to say, you know what?
- 9:53SPEAKER_01: Weightlifting, that's what I'm gonna do.
- 9:55SPEAKER_01: I'm gonna switch to weightlifting because you know, I've seen my friends are weightlifters and I could do that.
- 10:01SPEAKER_01: And all of a sudden you switch to weightlifting.
- 10:04SPEAKER_01: Is that gonna be effective?
- 10:05SPEAKER_01: No, because you're now no longer a marathon runner and you're a beginner weightlifter, and you're not really either.
- 10:12SPEAKER_01: So don't switch midstream.
- 10:14SPEAKER_01: When things get tough, push through.
- 10:17SPEAKER_01: All right.
- 10:18SPEAKER_01: You want to be able to say, you know what?
- 10:20SPEAKER_01: I stuck with it.
- 10:21SPEAKER_01: Because when you stick with it, that's where everybody else drops off.
- 10:25SPEAKER_01: Because that's that's the key here is you want to go where others don't.
- 10:30SPEAKER_01: You want to go beyond others who get distracted, who drop off because it's hard, who switch midstream.
- 10:38SPEAKER_01: You want to go beyond that because on the other side are fewer and fewer competitors.
- 10:45SPEAKER_01: And when you're looking for jobs, you want fewer and fewer competitors, not more and more.
- 10:49SPEAKER_01: So don't switch midstream.
- 10:51SPEAKER_01: Number five, embrace the hard thing.
- 10:55SPEAKER_01: This is something that has really benefited my career.
- 10:59SPEAKER_01: It's, you know, anybody can, almost anybody can do the easy thing, right?
- 11:04SPEAKER_01: The, oh, I'll take care of that simple task, or I'll do that simple bug fix, or I'll, you know, change these little things that anyone can do.
- 11:12SPEAKER_01: I can I can learn the beginnings, the hello world of, you know, whatever language you want me to.
- 11:18SPEAKER_01: But it's the hard thing.
- 11:20SPEAKER_01: It's the, again, going back to number four, not switching midstream, the going deeper, the getting through the hard thing.
- 11:26SPEAKER_01: I've used this example before, but early on, mid of my middle of my career, um, before I started doing anything with social media or or sharing what I learned, I was learning log for net.
- 11:40SPEAKER_01: And it was hard because there was not great documentation.
- 11:44SPEAKER_01: And it confused me.
- 11:46SPEAKER_01: Now, maybe as clear as crystal as somebody else, but for me, it was like walking through mud.
- 11:53SPEAKER_01: I could not get my hands around what does this thing do?
- 11:57SPEAKER_01: How does it work?
- 11:57SPEAKER_01: How do I configure it?
- 11:59SPEAKER_01: What are all these different things I have to know?
- 12:02SPEAKER_01: And there's a whole bunch of terminology that's kind of throw me for a loop.
- 12:06SPEAKER_01: And so what I did, I sat down one Christmas break, I printed out all the documentation.
- 12:10SPEAKER_01: They actually had good documentation, just not like connected documentation.
- 12:15SPEAKER_01: It was like one specific feature we documented, but never like connecting it to the rest.
- 12:21SPEAKER_01: So I printed out all the documentation and I read through and I started compiling a list.
- 12:26SPEAKER_01: I pushed through and did the hard thing.
- 12:28SPEAKER_01: I created for myself a basically a cheat sheet of this is how it works, these are the terms, what they mean, this is how you set up everything.
- 12:37SPEAKER_01: Here's examples for all these different things.
- 12:40SPEAKER_01: And at the end of it, I had a working log4net setup.
- 12:45SPEAKER_01: But I also had great documentation on how that worked.
- 12:49SPEAKER_01: Now, I decided to just share that with the world.
- 12:53SPEAKER_01: I said, hey, you know what?
- 12:54SPEAKER_01: Maybe somebody else might need this.
- 12:56SPEAKER_01: And turns out millions of people literally read that article because they found it helpful too, because they were in the same spot I was.
- 13:04SPEAKER_01: I just didn't realize it.
- 13:05SPEAKER_01: I thought I was the only one.
- 13:07SPEAKER_01: So by embracing the hard thing, what I found was that I actually put myself apart where I was now more of an expert in LogFournet.
- 13:18SPEAKER_01: And people reached out to me and said, Hey, can you help me with my LogFournet?
- 13:21SPEAKER_01: Hey, can you help me set this up because I know that you have done the hard thing that I couldn't do or that I don't want to do.
- 13:29SPEAKER_01: And either way, I put myself forward, put myself ahead because I pushed through and did the hard thing.
- 13:37SPEAKER_01: And that is where you find that you provide value.
- 13:41SPEAKER_01: When you can do the hard thing and others, again, fall away and don't do it.
- 13:45SPEAKER_01: All of a sudden you're left standing there saying, I can do this.
- 13:49SPEAKER_01: And the people that need that help rely on you.
- 13:52SPEAKER_01: Shortcuts to your career.
- 13:54SPEAKER_01: Okay?
- 13:55SPEAKER_01: Now, these five points all come down to one word focus.
- 14:01SPEAKER_01: If you can keep your focus when you are working towards your goal, you'll get there faster.
- 14:09SPEAKER_01: In a world filled with distracted people, stand out by not giving in.
- 14:15SPEAKER_01: Thanks for listening.
- 14:16SPEAKER_01: And as always, I am Tim Corey.
- 14:18SPEAKER_00: Thank you for joining us for this episode of Dev Questions.
- 14:21SPEAKER_00: When you're ready to learn to think and code like a professional developer, head over to IamTimCorey.com and enroll in a course.