1. Believing that programming is solely about syntax 1:21 2. Simply following tutorials 3:31 3. Focusing on only one way of doing something 7:25 4. Being closed off to change 10:59 5. Stopping learning 15:57
Believe it or not, just 3 years ago I was working 8 to 5, yes 8 to 5 excluding the time needed to get to work and get back to home. But I invested all of my free time in learning a lot of stuff and then I resigned and started my own business and it's going really well. All that to say 'Never stop learning'.
I am complaining with my boss, since i am only learning while developing, but not really investing a bit of time in learning new stuff. He is just interested in building new stuff and not giving me time or resources to learn. Problem is that i feel that in my life i still don't have enough time for my private life and family, how can i sacrifice more of my private time... I need to work to live, but i want to have a life too, i cannot use all time in my life on a pc. this is creating me a lot of issues, and also making me a lot of psychological issues because i am afraid of my future, but i cannot remove more time to my kids and family and private hobbies (wich is already sooooooooo low) this is really something i am going through in these days with a lot of difficulties :(
Slow your pace at work and don't feel compelled to knock out and solve every problem on overdrive. I did this once before and found myself in the same situation as you. I then started time boxing and managing my time better. I don't work in sloth mode, but slow enough to give me breathing room to research something. You don't value your time, others won't either.
As always, great content! It really hit home when you were discussing about never stop learning. As an engineering manager, I always made it a mission to advocate on behalf of my teams to upper management the importance of on the job learning. Fast forward to today, where I’m helping build a business from the ground up, I find myself having to be my own advocate to make time to keep learning and not get caught in the trap of “not having enough time”!
I agree with everything you said. I am 67 and I am still learning (which is why I am watching). I am now learning MAUI and Blazor-hybrid. Thank for all your hard work.
Personally, learning is by far the most important thing to me. I have about 18 years of C# experience, and every time I watch this channel or mentor a junior developer, I learn new stuff myself, and that is great and exciting! And even if it's not about the programming language itself, every time you work on a new project, you need to learn a lot of adjacent stuff: this database, that database. This API and that file format, it really helps if you like learning new stuff. And as always, thank you for your videos :)
I agree. Even worse regarding No. 4: "Change" if improvement (refactor) is unwanted it causes No. 5: "knowledge" not quit learning but knowing about bad smells/to be improved.
3rd issue requires a lot of effort to avoid. It's really easy to fall into the comfort zone of having worked with something previously, and applying it everywhere in the future, forcing it to fit your needs.
Here are the five mistakes highlighted by Tim: 1. Thinking that programming is solely about syntax. 2. Relying solely on tutorials and not practicing independently. 3. Focusing on only one way of doing something and not exploring alternatives. 4. Being resistant to change and not embracing new technologies or practices. 5. Stopping learning and not keeping up with industry advancements, which can be detrimental to a software developer's career.
My current company hired me in to help them maintain and eventually retire their COBOL apps. Been improving my SQL server skills and learning C#. Feel blessed to have this opportunity to upgrade my skills on the job!
One big mistake is not asking for help when you are stuck. In the past when I was working on a problem I can't solve I'd just spin my wheels for a long time. Often, when I finally brought the issue up, the answer would be, "Um, there's no way to actually do this, we need to take the acceptance criteria back to the business analyst, the way they've written this user story makes it impossible to implement." Or I would hear, "It's not possible to do it that way, you can't unit test a static method...". Or the answer would be , "just do x, should take about 2 minutes to do it that way." Sometimes it's hard to ask for help but it's essential to do so.
Programming is especially a field where constant learning and keeping yourself updated is simple part of the job. Unavoidable. It is a creative profession which means to constantly re-invent yourself, the way of doing things, etc.
great video, id like to ask if you have some tutorials on WinUI. Would be interesting to learn that since winui is the latest ui framework that microsoft has been working on
Timestamps: 1:27 - thinking that programming is just syntax 7:12 - Don't just follow tutorials (practice on your own) 7:32 - avoid focusing on only one way of doing things 11:04 - Close off to change 15:59 - you should not stop learning
dude i sometimes switch between swift and obj-c. i really don't care but when people see me when i'm reading some obj-c code. they are like "wow dude, this looks so complicated". for me they are more like texts with different fonts and different colors
OK, but . . . One of the things that I have found is that software developers get so carried away learning new things that they forget to do the job. Doing the job means solving problems for users. So, an old VB Webform app is still a killer app. How can that be, the kid asks? Because it solves business problems for users. Likewise, everyone in an office hates a new app built using the latest technology. The reason? It doesn't solve business problems for users but instead creates new ones. Keeping up with technology can become the whole job very easily -- but that isn't what users want. A good software developer has to know when to focus in on finishing a project using the technology that she or he knows. For example, your tutorials developed with VS 2017 are still relevant and packed with information. Sure, VS 2022 is newer and "better", but the C# that you taught six years ago is still good C#. The fundamentals of good software do not change that quickly and if someone is doing things the VS 2017 way for switch statements as opposed to the newer way, that doesn't make VS 2017 code "bad" or "irrelevant." Of course people have to keep up with technology. But people need to remember that users want solutions to their problems!
Absolutely, you need to solve problems first. The key, though, is to also keep up with technology changes. That doesn't mean you are changing your existing application's major technology all the time, but it does mean that you are aware of technology changes. For instance, an app should upgrade from .NET 6 to .NET 8 and should utilize the new features. The problem I see a lot of organizations fall into is that they put their heads down and just get work done. The problem is that this approach fails to take into account that an application is not just a set of features. It is a system that needs to be maintained. A car needs oil changes, brake changes, etc. and not just a new paint job or a new spoiler. Maintenance is not attractive, but it is important to the overall health of the application. Part of that maintenance is to modernize the system to keep it relevant.
Well, I have your videos (supplemented by some test apps that I write on my own that exercise what I have learned) to keep me up to date. Thanks so much!
I believe you are referring to point 2, where I say to not just learn by watching tutorials. That includes the C# Mastercourse. The point isn't that you should stop using tutorials. The point is that you should go beyond them. Meaning, when you learn about the if statement, you follow along with the tutorial and the given example. Then, before you move on, you build 2-5 practice projects using an if statement. Not big ones, just tiny little tests that try out building an if statement on your own. Using it without the help of a video or a given example. Doing things just a bit differently. That way, you validate that you actually know how the if statement works and even how to use more advanced cases that might not have been covered in the tutorial. The bottom line is that just watching a video and doing the exact example shown isn't enough to really learn a topic. It is a GREAT start, but that's it. You need to take it further and practice what you have just learned.
I've noticed that the great way is to use chat GPT.... When I have specific problem, and I explain it to AI as detailed as possible, and then ask for solution of how to make it work... and there it is... This way you can solve problems quickly and at the same time, understand how to solve them, because it was solution to your specific problem, that part you did not understand.
A vast amount of tutorials is nothing else than the original documentation's exampel narrated. For example if you google Blazor SingalR you will find and endless amount of how to make a chat app with Blazor and SignalR turorials. Because that is exactly what you will find on the original documentation. So before you search for a tutorial just read the offricial docs first.
1. Believing that programming is solely about syntax 1:21
2. Simply following tutorials 3:31
3. Focusing on only one way of doing something 7:25
4. Being closed off to change 10:59
5. Stopping learning 15:57
Thanks!
@@IAmTimCorey thanks for sharing your insights with us, I absolutely find it inspiring. Hoping to post more to @StayTechCo soon!
Believe it or not, just 3 years ago I was working 8 to 5, yes 8 to 5 excluding the time needed to get to work and get back to home. But I invested all of my free time in learning a lot of stuff and then I resigned and started my own business and it's going really well. All that to say 'Never stop learning'.
Thanks for sharing!
Just wondering, did you have a specific business idea or 'just' client work?
@@S1lenc31991 It's a mix of both, services + product based business
I am complaining with my boss, since i am only learning while developing, but not really investing a bit of time in learning new stuff.
He is just interested in building new stuff and not giving me time or resources to learn.
Problem is that i feel that in my life i still don't have enough time for my private life and family, how can i sacrifice more of my private time...
I need to work to live, but i want to have a life too, i cannot use all time in my life on a pc.
this is creating me a lot of issues, and also making me a lot of psychological issues because i am afraid of my future, but i cannot remove more time to my kids and family and private hobbies (wich is already sooooooooo low)
this is really something i am going through in these days with a lot of difficulties :(
Slow your pace at work and don't feel compelled to knock out and solve every problem on overdrive. I did this once before and found myself in the same situation as you. I then started time boxing and managing my time better. I don't work in sloth mode, but slow enough to give me breathing room to research something. You don't value your time, others won't either.
"Lifelong learning" is the key to success !!!
👍
As always, great content! It really hit home when you were discussing about never stop learning. As an engineering manager, I always made it a mission to advocate on behalf of my teams to upper management the importance of on the job learning. Fast forward to today, where I’m helping build a business from the ground up, I find myself having to be my own advocate to make time to keep learning and not get caught in the trap of “not having enough time”!
Thanks for sharing!
I agree with everything you said. I am 67 and I am still learning (which is why I am watching). I am now learning MAUI and Blazor-hybrid. Thank for all your hard work.
You are welcome!
Personally, learning is by far the most important thing to me. I have about 18 years of C# experience, and every time I watch this channel or mentor a junior developer, I learn new stuff myself, and that is great and exciting!
And even if it's not about the programming language itself, every time you work on a new project, you need to learn a lot of adjacent stuff: this database, that database. This API and that file format, it really helps if you like learning new stuff.
And as always, thank you for your videos :)
Thanks for sharing!
Spot on Tim. Great video and I plan to share this with my dev team tomorrow.
Thanks!
Thank you, agree with everything you said. I think it needs to be a passion as well.
You are welcome.
I agree. Even worse regarding No. 4: "Change" if improvement (refactor) is unwanted it causes No. 5: "knowledge" not quit learning but knowing about bad smells/to be improved.
3rd issue requires a lot of effort to avoid. It's really easy to fall into the comfort zone of having worked with something previously, and applying it everywhere in the future, forcing it to fit your needs.
Thanks for sharing!
Here are the five mistakes highlighted by Tim:
1. Thinking that programming is solely about syntax.
2. Relying solely on tutorials and not practicing independently.
3. Focusing on only one way of doing something and not exploring alternatives.
4. Being resistant to change and not embracing new technologies or practices.
5. Stopping learning and not keeping up with industry advancements, which can be detrimental to a software developer's career.
Thanks for sharing!
Thank you Tim for this hard truth! Many of your words can be applied to life overall 😢Life is not a bed of roses.
You are welcome.
My current company hired me in to help them maintain and eventually retire their COBOL apps. Been improving my SQL server skills and learning C#. Feel blessed to have this opportunity to upgrade my skills on the job!
Great!
One big mistake is not asking for help when you are stuck. In the past when I was working on a problem I can't solve I'd just spin my wheels for a long time. Often, when I finally brought the issue up, the answer would be, "Um, there's no way to actually do this, we need to take the acceptance criteria back to the business analyst, the way they've written this user story makes it impossible to implement." Or I would hear, "It's not possible to do it that way, you can't unit test a static method...". Or the answer would be , "just do x, should take about 2 minutes to do it that way." Sometimes it's hard to ask for help but it's essential to do so.
Thanks for sharing!
Totally agree, very nice explained! Thanks for video.
You are welcome.
True info. Self made freelancer and software architect here :)
Thanks for sharing!
Programming is especially a field where constant learning and keeping yourself updated is simple part of the job. Unavoidable. It is a creative profession which means to constantly re-invent yourself, the way of doing things, etc.
Thanks for sharing!
Thanks again Tim for the great insight!
You are welcome.
Helpful and intelligible explanation 🙌Tnx dear Tim ☘️
You are welcome.
Great video as always! Where did you get the T-shirt? 👍🏽
I bought it before MAUI came out. I believe it was a limited run.
Thank you so much.
You are welcome.
Thanks Tim, I really appreciate 🙏
You are welcome.
great video, id like to ask if you have some tutorials on WinUI. Would be interesting to learn that since winui is the latest ui framework that microsoft has been working on
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Spoiler-free time stamps:
1st thing 1:21
2nd thing 3:31
3rd thing 7:25
4th thing 10:59
5th thing 15:57
Thanks again.
T-shirt make me think we get a videos about Maui soon
Interesting theory.
Timestamps:
1:27 - thinking that programming is just syntax
7:12 - Don't just follow tutorials (practice on your own)
7:32 - avoid focusing on only one way of doing things
11:04 - Close off to change
15:59 - you should not stop learning
Thanks!
@@IAmTimCorey no problem
dude i sometimes switch between swift and obj-c.
i really don't care but when people see me when i'm reading some obj-c code.
they are like "wow dude, this looks so complicated".
for me they are more like texts with different fonts and different colors
Hi, Tim, are you doing a maui for mobile development course soon? Thanks
Not on MAUI yet. It still needs some time to solidify some things. I also have a very full schedule coming up.
@@IAmTimCorey thanks
Thank you.
You are welcome.
OK, but . . . One of the things that I have found is that software developers get so carried away learning new things that they forget to do the job. Doing the job means solving problems for users. So, an old VB Webform app is still a killer app. How can that be, the kid asks? Because it solves business problems for users. Likewise, everyone in an office hates a new app built using the latest technology. The reason? It doesn't solve business problems for users but instead creates new ones.
Keeping up with technology can become the whole job very easily -- but that isn't what users want. A good software developer has to know when to focus in on finishing a project using the technology that she or he knows. For example, your tutorials developed with VS 2017 are still relevant and packed with information. Sure, VS 2022 is newer and "better", but the C# that you taught six years ago is still good C#. The fundamentals of good software do not change that quickly and if someone is doing things the VS 2017 way for switch statements as opposed to the newer way, that doesn't make VS 2017 code "bad" or "irrelevant."
Of course people have to keep up with technology. But people need to remember that users want solutions to their problems!
Absolutely, you need to solve problems first. The key, though, is to also keep up with technology changes. That doesn't mean you are changing your existing application's major technology all the time, but it does mean that you are aware of technology changes. For instance, an app should upgrade from .NET 6 to .NET 8 and should utilize the new features. The problem I see a lot of organizations fall into is that they put their heads down and just get work done. The problem is that this approach fails to take into account that an application is not just a set of features. It is a system that needs to be maintained. A car needs oil changes, brake changes, etc. and not just a new paint job or a new spoiler.
Maintenance is not attractive, but it is important to the overall health of the application. Part of that maintenance is to modernize the system to keep it relevant.
Well, I have your videos (supplemented by some test apps that I write on my own that exercise what I have learned) to keep me up to date. Thanks so much!
What’s the difference between building apps with tutorials versus building using a C# master course?
I believe you are referring to point 2, where I say to not just learn by watching tutorials. That includes the C# Mastercourse. The point isn't that you should stop using tutorials. The point is that you should go beyond them. Meaning, when you learn about the if statement, you follow along with the tutorial and the given example. Then, before you move on, you build 2-5 practice projects using an if statement. Not big ones, just tiny little tests that try out building an if statement on your own. Using it without the help of a video or a given example. Doing things just a bit differently. That way, you validate that you actually know how the if statement works and even how to use more advanced cases that might not have been covered in the tutorial.
The bottom line is that just watching a video and doing the exact example shown isn't enough to really learn a topic. It is a GREAT start, but that's it. You need to take it further and practice what you have just learned.
that is a cool tshirt...
Thanks!
I've noticed that the great way is to use chat GPT.... When I have specific problem, and I explain it to AI as detailed as possible, and then ask for solution of how to make it work... and there it is... This way you can solve problems quickly and at the same time, understand how to solve them, because it was solution to your specific problem, that part you did not understand.
Thanks for sharing!
👍
👍🏻
❤❤
👍🏻
@@IAmTimCorey thnk u
E
A
A vast amount of tutorials is nothing else than the original documentation's exampel narrated. For example if you google Blazor SingalR you will find and endless amount of how to make a chat app with Blazor and SignalR turorials. Because that is exactly what you will find on the original documentation.
So before you search for a tutorial just read the offricial docs first.