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
284. Software Development Is About Constant Chang
Use Left/Right to seek, Home/End to jump to start or end. Hold shift to jump forward or backward.
Why does software development move so fast? Why are things always changing? It feels like there is a new technology every month. Why can't things slow down a bit? These are the questions we will 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/
Have you ever noticed that software development never seems to slow down? Things are always changing. Just this week, Microsoft released.NET 10, C Sharp 14, and Visual Studio 2026. In the past year, dozens of new AI platforms and tools have been released. I consistently have people ask me, how do you keep up with all the changes in the industry? In this episode of Dev Questions, we're going to talk about why the software development industry changes so fast and why it will never slow down and why that's actually a good thing. Software development is more than just writing code. So let's talk about the rest of it. Specifically, let's talk about the pace of change in software development. As a software developer, there's a lot to keep up with. In just the past couple of years, if you're a C developer, you are introduced to Aspire, a new version of.NET every year, a new version of our IDE, a major update to the Uno platform, new Blazor model, plus dozens of language changes and hundreds of performance improvements. Most systems, from browsers to VS Code and now even Visual Studio, are now on a monthly update cadence. But why don't these companies slow down? Why don't we go back to an annual release cycle? Back when.NET Framework was being released, we used to go years between major updates. So why don't we go back to that pace? And the answer is simple. Back in 2010, the average US internet speed was 5.1 megabits per second. Now it's 138.9 megabits per second. In 2016, the majority of web browsing was done on the desktop. Now, over 60% of web browsing is done on a mobile phone, and 96% of the world's internet users use their phone for at least some of their browsing needs. In 2015, only 30% of corporations store their data in the cloud. In seven years, that doubled to 60%. Generative AI wasn't really even a thing a couple of years ago. Since then, by 2024, almost 71% of organizations use it in some way. These are all radical shifts in how things are done. It's not just that there's new things, it's new ways of doing things. Software needs to constantly change in order to keep up with this ever-changing landscape. And here's why I think that's a good thing. Number one, constant change means new opportunities. If you don't like how things work today, just wait a couple of years. It'll change. The way we do things today is not the way we did things five years ago, which is not the way we did things 10 years ago. Having been in this industry for closing on 30 years now of work in the industry, I've seen a lot of changes over that time. How we do things has radically shifted, which means there's always been new opportunities. I stopped counting when I reached 24 different languages that I code in, where I use different databases and different systems and different integrations and different ways of doing things. There's always something new or new opportunity. And if you don't like what you're doing now, there's an opportunity to probably shift in a couple of years to something totally different. Number two, constant change means more work. That's what's going to happen. Now, you probably have, if you've worked in the industry at all, you've probably worked on legacy applications. It's just a part of software development because when you build an application, you don't just always keep it up to date every year with the latest changes. You probably should, but that's another thing where we don't always do that. But even then, if you built desktop apps 10 years ago or 15 years ago, those desktop apps probably aren't getting as much use as they used to, which means that same work might have to be redone for the web. We've seen this a lot with the way things are done even at Microsoft. For example, it used to be you'd get a disk with Microsoft Office on it. And then they went to a model where there was downloadable updates, and it was you could download it from the internet. And now we're in this web-based model where they've redone or rewritten the products to work on the web. You can complain all you want about the differences, but the reality is that Microsoft Word has been rewritten a number of times. Outlook had I have Outlook, Outlook New, Outlook New, New, and I just heard there's a new version of Outlook coming soon. So there's a lot of work for that same exact product over and over and over again. This is true throughout the industry. It's not just with Microsoft products, it's with everything because the way we do things changes. If you had a desktop app, that's great. But with people using their phones so much, it means you have to redo that into a mobile platform, probably. So things like this are going to mean more work. Number three, constant change means not everyone can do this work. And yes, that may feel like that's a bummer. And I do think that anyone could be a software developer if they wanted to be, but not everybody's cut out for it. Not everybody's going to want to stay on all the changes. Not everyone's going to want to keep up. Not everyone's going to want to spend their entire day tracking down bugs. It's not for everybody. And that's a good thing because the fact that it's not for everybody and that not everyone is going to do it means that there are less software developers because when there's too many, well, then we're cheap, right? We anybody can do it, therefore we don't have a very high pay scale. And that's not really what we want. And in fact, we've never really had that. We've had a couple times where a big glut of new developers comes in because things get easier for a little bit, but then they find out it's not really easier. Because, yes, maybe this tool makes things easy to start, but it's the long term, it's the maintenance. All of a sudden you're like, ooh, I don't want to do that, or that's hard, or how do I do this? And people drop off. And so because of that, our salaries tend to be significantly higher than the average employee's salary. So this constant change does weed people out. Number four, constant change means general experience will always be valuable. Now, this may seem counterintuitive, but when you're looking at a framework that has only existed for two years or three years, how do you get a person who's a senior developer in it? How do you get a person who's going to make the right choices, good choices? Well, it turns out that software development isn't about the code itself. It's about how you think, it's about the experiences you've had and how you can make sure that you are bringing those experiences to your new roles, that you've bring those lessons learned along with you. And like I said, it doesn't really matter what language you're using to do that for a lot of those experiences, a lot of that wisdom. And so senior developers can move right over in a new language fairly easy. There's still work to be done, but they can bring a lot of those experiences with them, which means that those general experiences are going to be valuable even as things change. So it's really a good thing. And it's a it's a job security thing, it's a new opportunities thing, it's a you know, making sure that our skills are still valuable, even though there's change. But how do we keep up with all these changes? Because yeah, that's difficult. And step number one is you don't. Don't expect to keep up with all the changes in the industry. You just can't. My job is to keep up with as many changes as possible. I do it full time. I spend all day working in new technologies and figuring out how to communicate those things and talking with people and going to conferences and learning about new things. That's my job. And yet I still miss out on a lot of changes. Quite frankly, I have almost no clue what the Java people are up to. I barely check in with what they're doing because you know what? I just can't keep up. And I'm not going to. I'm going to skip the things that don't apply to me. Now, I still am going to kind of keep an eye on some things, but for the most part, I'm going to skip things that I know don't apply to me. Number two is gain a passing knowledge about a lot of things. So knowing that something exists is valuable because then when you know that it exists and know generally what it does, when you come across a situation where you might need that, you know what to look for or what to ask for and to go deeper on to see if it's going to fit for you. So having a passing knowledge about a lot of things is important. As a C sharp developer, you should have a passing knowledge on full stack. You should have a passing knowledge about DevOps. You should have a passing knowledge about Docker and containerizations and cloud and many different database types. You should have passing knowledge on all of those things, even if you don't have a depth of knowledge in most of them. Now, number three, look for ways to concentrate your efforts. So this is where I sell courses. And you know that's how I pay for myself, for my salary for my company to do these things. This is how I make my money. But what is it I'm providing? I'm providing a value. And that value is a concentration of effort. So when you take one of my courses, I concentrate as much as possible to give you not just the what, but the why and the when, the pitfalls and the best practices, and all kinds of stuff, but for one topic. And you can learn that one topic much, much quicker than I learned it. Because I spent a whole lot more time figuring out what's relevant and what's not relevant and when do we use this, when not to use this, answering the questions. And if you do it on your own, you're going to spend a lot of time figuring out those answers. And yes, I spend a lot of time doing research and talking to people and talking to the developers who build these things to say, hey, how does this work? And what about this and what about that? If you work, you can get concentrations for your efforts. So this can even be just YouTube videos. I do YouTube videos where I'll give you like an 80%, you know, in an hour or less, maybe half an hour, learn the 80% you need to get up and running on a technology. Well, that's a concentration of your efforts. It would have taken you three, four, five hours to get that same amount of information if you pieced it together. It doesn't have to be my videos or my courses, or but this is what you need to think about is how do I concentrate my efforts in order to get the most information in in the least amount of work and time. Now, number four, practice those things. So practice the things you're gonna need to use. So you may concentrate your efforts and figure out, you know what, that's cool, but I'm not gonna use it right away. Then maybe leave it there. But if you're gonna use it, practice those things. That way you're prepared to use it. And then number five, apply what you can as soon as it's practical. The more you use it and the more you do it, the better it will sink in. The more it will be part of your knowledge set. And number six, this is most important, and it's one that I have worked with a number of companies who missed this step and caused major problems to their company. Number six is never stop learning and growing. I see a number of people who have plateaued, who have got to a certain point and said, that's enough. I'm just gonna focus on what I have to do for my job right now. The problem is that your job right now might not be here forever. And if it's not here forever, then what? Because you're only prepared to do this job. So I would encourage you, never stop learning and growing. That may be tiring, but you know what? It's part of what we do in this industry because that's our job. Part of our job is to learn and grow, even if your employer doesn't agree. You need to in order to protect your career and make sure that you're moving forward the way you need to, regardless of whether your employer wants you to or not. You need to make sure that you continue to grow and change. All right. So thanks for listening. And as always, I am Tim Corey.
SPEAKER_01Thank you for joining us for this episode of Dev Questions. When you're ready to learn to think and code like a professional developer, head over to IamtimCorey.com and enroll in a course.