DevQuestions with Tim Corey
I am Tim Corey. I teach coding online and my inbox is full of questions from current and future developers. I wish I could sit down with each of you and share the answers I know will help you go further, faster in the world of development. This podcast is the next best thing. On this podcast, I will answer the biggest questions people are asking! Send us to your suggestion for a future Dev Questions at https://suggestions.iamtimcorey.com/ To keep the podcast coming, like, subscribe, rate, and share it with your friends and colleagues. See why thousands of students have chosen to learn to think and code like a professional developer at www.DevForge.com.
DevQuestions with Tim Corey
106 How Do I Adapt To Rapid Changes In The Programming World?
Use Left/Right to seek, Home/End to jump to start or end. Hold shift to jump forward or backward.
With everything changing, how do I keep up? With .NET changing each year, Visual Studio just updating, .NET MAUI, and more, how do I stay on top of all of the changes to C#? How can I learn it all? These are the questions we are going to answer in today's episode of Dev Questions.
Website: https://www.DevForge.com/
Ask Your Question: https://suggestions.iamtimcorey.com/
Sign Up to Get More Great Developer Content in Your Inbox: https://signup.iamtimcorey.com/
Welcome to the Dev Questions Podcast with Tim Corey. Join us each episode as we tackle the questions you are asking about a career in software development, understanding the industry, and new technology. If you're just starting out or you want to grow stronger as a developer, this is the place to get your questions answered. Now, here's your host, expert developer and online educator Tim Corey.
SPEAKER_02How do I adapt to a rapidly changing programming environment? There's new things coming about seemingly every week. Every year we get a new version of.NET. Every year we get a new version of C Sharp. We just got a new version of Visual Studio.NET Maui just came out. We've got stuff changing all the time just for Microsoft, and that's not including all the third-party packages and libraries and systems and all the rest that just keeps growing, improving, and changing. So, how do you keep up? And today I want to talk through the seven things I think you should know about trying to keep up with your learning. Because it's important to not stop learning as a developer. That's when you really start going backwards as a developer. When you stop learning and stop growing, it's when you stop improving as a developer. So it's important to keep growing. So let's talk through, I think, the seven steps of improving as a developer. Now, as we go through this, I'm going to use an illustration throughout the whole thing that I think will help you visualize what I'm talking about. So I want you to picture, maybe close your eyes, but picture walking into a grocery store. There's no one there yet, but the entire grocery stores in front of you. It's all lit up, and there's a lot of things on the shelves that are missing. Okay, so there's items that aren't there anymore, that people have bought out all of certain items, or maybe they bought most of certain items. And so there's a lot of shelves that need to be restocked. Okay. Maybe there's, let's say, 20 rows in this grocery store, and there's stuff missing all over. It's your job to start filling in or restocking these grocery store shelves. Now, in a previous life, when I was um in high school, I used to work at a grocery store. And this is my favorite non-tech job I ever had because I got to fill and restock the shelves. And that was just, for my personality, it worked really well. So I want you to think through this illustration in terms of learning software development. So let's talk through the seven things that I think you should think through when learning software development. So, first thing I want you to think through or do when confirming that all the things you have to learn is don't. Okay, that's number one. Don't. Don't try to learn everything. It's like walking into that grocery store and saying, okay, all 20 shelves all at once, I'm gonna do everything now. That's just not possible. And it's it's not gonna work, it's gonna leave you frustrated, and nothing will be done well. Even if you tried to run down each aisle and put stuff on quickly and keep going, and it nothing's gonna be done well. So you're gonna have a little bit here and there, you'll probably break some things along the way, you're gonna be exhausted, and you're not gonna accomplish what you need to. So, number one, don't try to learn everything all at once. It's just not possible. Number two, I want you to create a learning list. So if you walked into that grocery store and you have 20 rows worth of things to do, it'd be helpful to know and prioritize what should be done first. Maybe you have customers coming in the door like right now. What's the most important thing to restock on the shelves? Maybe there's certain things that just need to be done. Maybe it's milk and eggs and flour. Those are maybe the most important things to have on the shelf. Well, then you create a list and focus on the most important things first. So prioritize in your training those relevant topics. What are the things that you need right now? Maybe there's some really cool things you need to know about or want to know about, but they don't help you right now. Maybe you're really trying hard to figure out how to connect your application to SQL Server, as an example. And you're really, you know, working through that, making sure you're trying to do the right thing, and a training item comes up in your list where maybe a new post create gets created on Medium or something else, and you see it's about C sharp and Unity. And you're like, yes, I want to learn that. Now's not the time. Now is not the time to learn that. It's probably time to learn about Dapper, Entity Framework, or something else related to SQL and C sharp. So that's the thing to focus on now. That does not mean that the C sharp unity thing isn't something you should learn. It's just that you need to prioritize when you learn it. So put it on your list, just don't put it at the top of your list. So that's number three. Number four is to focus when you train. So again, going back to the grocery store analogy, if you're filling shelves and you're gonna put one item in a spot and then go to the next spot and put one item, then go to the next spot and put one item, go to the next row and start putting one item and one item, and you have to go back to the stock room to get more items, and you have to come back to the next row and put one item and one item, that's not really efficient because you don't really fill up anything. And by the time you're done row 20, it's as if you never started row one because somehow you took the item. So instead of doing that, focus on I'm gonna fill up row one's shelves first, if row one is the most important. And you fill up the entire thing. You put enough inventory there to last you for a while. In the same way, when you're training, you should think through, I need to go deep enough in this so it's actually useful. If I just try to skim the surface and learn a little bit and go to the next thing and never practice, well, then you forget about it before you've done the next three lessons. And what was the point? You basically wasted your time. Instead, take your time, learn something well, and then move on. Otherwise, it won't stick, it won't last, and it's as if you wasted your time. So sometimes the best way to speed up is to slow down. So that's number four. Number five is maybe there's things that come across your desk. Maybe you have an RSS reader, or you have something else where you're keeping track of blog posts and YouTube videos and other things that you want to know more about. And a topic comes across your desk where you say, Hey, I'm not even sure that is, but maybe it's useful? Well, take enough time to learn a little bit about it. So maybe you hear about WPF. Microsoft loves acronyms. What is WPF? Is it useful to me or not? Well, find out enough to go, okay, it's Microsoft's desktop uh application program template type. So I can create desktop apps using WPF. Well, am I doing desktop apps right now? If yes, then maybe it's useful to put higher in your priority list. And if not, you go, cool, but let's put it down lower on the priority list. So learning just enough to understand where to put in your priority list is sometimes important. So any kind of quick learning or skimming over things, this is not learning as far as learning how to apply it, it's just learning enough to know the right questions to ask or to answer the very high-level questions you have about what is this and do I even need to know it. So that's number five. Number six is don't be afraid not to know something. It's okay. You don't have to know everything. In fact, I would say that you probably can't know everything. In fact, personally, I don't know machine learning. I've seen it. And again, I've seen that high level to know what it is and how it basically works. I don't know it. I don't care. Okay? That's not where I'm gonna focus. I'm not gonna go deep into machine learning because that's not my thing. That's not my area of focus, and so I'm not gonna even worry about it, which is very liberating. Because then when I see an article or something else that comes out about, you know, new features of machine learning, I can go, that's great. I'm not even put on a list because it's not for me. So I don't have to know everything about it. There's new languages coming out or new frameworks or new systems. If they don't apply to me, then I'm not gonna focus on it. I really don't focus very heavily on entity framework. I know how to use it and I know the pitfalls around it. I know how to put some best practices in place, but I don't spend a lot of time on it because I don't use it very often. So I say, you know what, there are other people out there that do that a lot better than me. Let them do it. I'm not gonna do it, I'm not gonna learn it. So it's okay not to know everything. Sometimes people feel like if I don't know something, that that somehow reflects negatively on me. And it doesn't. It just means that you're human and you don't know everything. That's okay. Be okay with that. All right. And number seven, we're gonna get back to the example of the grocery store. Imagine if I had some vendor come to me and say, listen, I can give you a preloaded cart that's going to have everything you need for one aisle or two aisles. All you have to do is take that cart, push it down, and put the stock on the shelves. That's a whole lot easier than going to the back room, filling the cart with the things I need, maybe even evaluating the shelves first to figure out what I need and putting that in the cart. And then it's a multi-step process. But if I had someone say, here's the cart, just go fill. That's a whole lot better. And when it comes to learning, that's the same thing as true. If someone can give you a path or part of a path that applies to you and says, here is the structured learning for this topic. Go from this step to this step to this step. That's really valuable. And if you can take advantage of it, do so. That's the reason why I create the content that I do and the courses that I do, because it's not just about, hey, here's more in-depth stuff. I put a lot of depth on YouTube for free. But a really important part of a course is to say, here is 20, 30, 50, 100 videos in order that will help you go from point A to point B the most efficient way possible. It saves you time, which will help you get more stuff done. Now, you don't have to do that, and you don't have to use my stuff. That's not what I'm saying. What I'm saying is the more efficient you can be at learning, the more you can get done. But just because you're more efficient doesn't mean you should go faster. Take the time to still go deep. Remember, you don't want to stock one thing on a shelf and move on. You want to fill that shelf. So what order training does is it helps you get more done more quickly while still allowing you to take the time to have the depth necessary to really understand a topic. So those are the seven things I think that are important when talking about how do you adjust to rapid changes in the programming world. You're never going to not have to learn. There's never a point in time where you say, okay, we're done. That's it. You know, C sharp is over, we're stopping right here, it's perfect. That's not going to happen because the world changes. How we change, how we use the internet has changed dramatically in the last 10 years. Well, it probably will be different 10 years from now. So your application languages have to adapt as well. What computers we use have rapidly changed. How our computers even work. We now have tablets and we have phones and we have desktops and laptops and Mac and Windows and Linux and all these other options, and we've had to adapt and change to that. So it's not like changes can stop happening or slow down. That's just not possible. So instead, we have to figure out as developers how to efficiently ride that wave in a way that doesn't burn us out or hurt us or make us feel like less than because we don't know everything. So this is the way to be the most efficient and at the same time be the most relaxed about I don't know everything, and that's okay. All right. So hopefully that answers your question. I hope that you can be encouraged as to what you're doing, know what the next step is for you, and at the same time be relaxed, knowing it's okay not to know everything about everything, but instead to just keep moving forward on your learning journey. Thanks for the question. If you have a question, go to suggestions.iamtimcorey.com and ask it there. Thanks for listening, and as always, I am Tim Corey.
SPEAKER_01Thank you for joining us for this episode of Def Questions. Tim is committed to making it easier for you to become a developer. If you would like to help make more content like this possible, please like, subscribe, rate, and share Deaf Questions. You can also send your questions to questions at IamTimcore.com. Until next time, remember, you are too smart and your time too valuable to waste it making all the mistakes Tim did. When you're ready to learn to think and code like a professional developer, head over to imtimcore.com and enroll in a course.