Latest / DevQuestions with Tim Corey / 051 What Is The C# Learning Path?
Transcript
- 0:00SPEAKER_00: Welcome to the Dev Questions Podcast with Tim Corey.
- 0:03SPEAKER_00: Join us each episode as we tackle the questions you are asking about a career in software development, understanding the industry, and new technology.
- 0:12SPEAKER_00: If you're just starting out or you want to grow stronger as a developer, this is the place to get your questions answered.
- 0:19SPEAKER_00: Now, here's your host, expert developer and online educator, Tim Corey.
- 0:25SPEAKER_01: What is a good learning path for C sharp?
- 0:29SPEAKER_01: What are the steps I need to take in order to learn C sharp well?
- 0:35SPEAKER_01: What what technology do I need to learn and what order in order to really conquer C sharp?
- 0:40SPEAKER_01: This is a question that I get a lot.
- 0:43SPEAKER_01: David was the most recent person to ask this question, and I thought that I'd take a minute to address it.
- 0:51SPEAKER_01: Now, the first thing I want to say is there is no one path.
- 0:56SPEAKER_01: All right.
- 0:58SPEAKER_01: Think of it this way.
- 0:59SPEAKER_01: Maybe you want to get to a city, maybe New York City.
- 1:04SPEAKER_01: So you ask me, what's the path to get to New York City?
- 1:10SPEAKER_01: Do you know how to answer that question?
- 1:11SPEAKER_01: Even if you're in the United States, would you know if I asked you how to get to New York City?
- 1:18SPEAKER_01: Well, it depends on where you start from.
- 1:21SPEAKER_01: Because if you start from where I am in Dallas, Texas, that's gonna be different than if you start from Portland, Maine, or if you start from Seattle, Washington.
- 1:30SPEAKER_01: And the steps will be different as well because you'll go to different stops along the way based upon where you started and where you're going.
- 1:40SPEAKER_01: And it gets even more complicated because when you say learn C sharp, it's kind of like saying go to the United States.
- 1:50SPEAKER_01: Okay, you want to go to the United States?
- 1:51SPEAKER_01: Cool, we can get you there.
- 1:53SPEAKER_01: Where?
- 1:54SPEAKER_01: What part of the United States?
- 1:56SPEAKER_01: Is it Dallas where I am, or is it Portland, Maine, New York City, Miami?
- 2:03SPEAKER_01: Which place do you want to get to in the United States?
- 2:07SPEAKER_01: Because that's going to change what I tell you as well.
- 2:10SPEAKER_01: And so when it comes to answering the question, how do I get there?
- 2:16SPEAKER_01: There are some complexities to the answer.
- 2:19SPEAKER_01: It's not a simple this, this, this, and this.
- 2:22SPEAKER_01: And really, if you hear someone tell you it is that simple, there's probably something they're missing.
- 2:30SPEAKER_01: So, yes, there is some general steps to learning C sharp.
- 2:34SPEAKER_01: And I have a video uh called The Path to Learning C sharp.
- 2:38SPEAKER_01: I'm actually updating now, I'm in the process of updating.
- 2:41SPEAKER_01: Um, they're gonna try and come up with a tool that we're building to help you kind of dial in for yourself what your path should be.
- 2:50SPEAKER_01: Because just like those maps, map directions, it depends on where you start from.
- 2:56SPEAKER_01: So we'll ask you some starter questions and get a path designed for you that is a little more dialed in.
- 3:03SPEAKER_01: It's a little more focused on what it is you want to learn and also where you want to get to.
- 3:11SPEAKER_01: Because even just saying a C sharp developer, it's kind of like saying it getting to the United States.
- 3:18SPEAKER_01: There is so much inside of being a C sharp developer.
- 3:22SPEAKER_01: I asked the question recently on Twitter about what type of C sharp developer are you?
- 3:28SPEAKER_01: We got a range of answers.
- 3:30SPEAKER_01: Um the I'm a web developer, I'm a back-end developer.
- 3:34SPEAKER_01: Back end developers actually, I think, one out in that category.
- 3:38SPEAKER_01: Um, I'm a front-end developer, usually means web developer.
- 3:42SPEAKER_01: Um, I'm a desktop UI developer.
- 3:46SPEAKER_01: I'm a uh a game developer.
- 3:48SPEAKER_01: I work with AI, I work with machine learning.
- 3:51SPEAKER_01: There's so many different answers to that question.
- 3:54SPEAKER_01: And so it's hard to help you get to an endpoint when I'm not sure that either of us really knows what that endpoint looks like yet.
- 4:03SPEAKER_01: So uh step one is we're gonna have to figure out where you are because different people start at different spots.
- 4:12SPEAKER_01: Maybe you come from a Java background.
- 4:15SPEAKER_01: Well, you probably understand object-oriented programming, you probably understand uh variables and conditional statements like if and switch, and you probably understand looping and arrays.
- 4:28SPEAKER_01: So maybe you need to start at what the differences are between um kind of brushing up the differences between C sharp and Java, but you're really starting in on say learning the project types in C sharp or figuring out how to do data access because you know the basics of the rest.
- 4:48SPEAKER_01: But maybe you are brand new to programming and you're just starting out.
- 4:53SPEAKER_01: Well, we need to start with installing Visual Studio because that can be complicated.
- 4:58SPEAKER_01: Yes, there's defaults, but those defaults aren't gonna do you real well when you want to be a web.NET core developer because some of those features aren't checked when you go through the default process.
- 5:12SPEAKER_01: So we have to start there.
- 5:15SPEAKER_01: And so different people are gonna start at different spots.
- 5:17SPEAKER_01: So we need to figure out what your starting spot is, and then we need to figure out where you're going.
- 5:23SPEAKER_01: And sometimes that means you have to go through some training first before you can then answer that question.
- 5:30SPEAKER_01: I offer this series the foundation in C sharp.
- 5:34SPEAKER_01: And this is really one of the pillars of my teaching.
- 5:39SPEAKER_01: It is the foundation, which is why I name it that way, is the foundation of knowing C sharp well.
- 5:47SPEAKER_01: When you walk in, you don't have to know anything.
- 5:50SPEAKER_01: When you walk out, you're gonna have the knowledge of at least a junior level developer.
- 5:56SPEAKER_01: You might have the knowledge of even a mid-level developer depending on how much you practiced.
- 6:00SPEAKER_01: But let's just say junior level developer.
- 6:03SPEAKER_01: This is gonna give you a rock solid foundation in using C sharp in building applications.
- 6:10SPEAKER_01: Well, if you go through just that, and I encourage everybody who has a question about what I should learn, have you started there?
- 6:17SPEAKER_01: Have you looked at that?
- 6:19SPEAKER_01: Because if you're a Java developer and needs to brush up, that's gonna help you brush up.
- 6:23SPEAKER_01: You might breeze through a couple of things, but you're gonna catch some things you're like, oh, I didn't know it did that.
- 6:28SPEAKER_01: Oh, that's a cool feature.
- 6:30SPEAKER_01: You're gonna find things that you didn't expect.
- 6:33SPEAKER_01: And if you're brand new, you're gonna start off learning the basics, variables, if statements, just what is Visual Studio and how do I use it?
- 6:44SPEAKER_01: And so that's gonna take you through the process.
- 6:47SPEAKER_01: But by the end of that process, you're gonna have been exposed to most of the major project types, the different types of data access that are out there, the core language and object-oriented programming.
- 7:00SPEAKER_01: You'll have built applications and you're gonna come out of that knowing probably what you like and don't like, what things you want to at least investigate more, maybe the idea, the first path you want to pursue.
- 7:14SPEAKER_01: And you don't have to pick one.
- 7:16SPEAKER_01: You can start with one, go down it for ways, and then pick a different one if it fits you better, or if you just want to learn two.
- 7:22SPEAKER_01: That's cool.
- 7:23SPEAKER_01: But you will know the questions to ask.
- 7:26SPEAKER_01: I got an email recently from a person who he said he went through a college education that was really frustrating, where he had an old textbook to work with and his professor didn't want to help, and he didn't know the questions to ask.
- 7:43SPEAKER_01: He didn't know what terminology to even rec even Google because he didn't know what was going on.
- 7:49SPEAKER_01: And so it took a while to even find the terms to Google.
- 7:53SPEAKER_01: Well, that's the kind of thing that the foundation C Sharp course will help you mitigate or eliminate.
- 8:02SPEAKER_01: You'll know the different parts of C sharp.
- 8:05SPEAKER_01: You'll know about web projects and desktop projects and console projects and services.
- 8:10SPEAKER_01: You'll know how object-oriented programming works, how data access works, and the different data access uh systems out there, different databases like SQL and MySQL and NoSQL databases like MongoDB.
- 8:24SPEAKER_01: You will know how to use those.
- 8:25SPEAKER_01: You'll know how to use Dapper and N2D framework.
- 8:28SPEAKER_01: You will know these tools and know what you want to know more about.
- 8:34SPEAKER_01: You'll know what areas you you like.
- 8:37SPEAKER_01: And so, out of something like the foundation in C Sharp, then you will come out saying, okay, now I know that I want to be a web developer with C sharp.
- 8:49SPEAKER_01: So now you know the next step of your journey.
- 8:53SPEAKER_01: You need to know that you need to learn web development, that I've got a course, and this is not a sales pitch here, but I've got a course for getting started ASP Net Core.
- 9:03SPEAKER_01: It's gonna cover the five types in a lot of detail, including data access.
- 9:06SPEAKER_01: Well, that's that's a part of it.
- 9:08SPEAKER_01: But then you also need to learn HTML, CSS, and JavaScript.
- 9:12SPEAKER_01: And you need to learn how the different frameworks work there and which questions to ask about should I learn Angular or View or React or any of those?
- 9:22SPEAKER_01: So you're gonna have to basically take your next step or identify your next step based upon knowing the questions to ask.
- 9:32SPEAKER_01: And that usually takes take means taking a first step down the path.
- 9:37SPEAKER_01: So the learning path that I encourage is check out the foundation C sharp course, not necessarily to buy it.
- 9:46SPEAKER_01: Let me be very clear here.
- 9:48SPEAKER_01: I provide free content because people purchase my content.
- 9:55SPEAKER_01: I don't begrudgingly give free content.
- 9:58SPEAKER_01: I willingly give free content because people have paid for it for you.
- 10:03SPEAKER_01: And so when I say check out the foundation and C Sharp course, I'm not saying because I want you to buy it.
- 10:10SPEAKER_01: But if you go there, you will see a course outline.
- 10:13SPEAKER_01: You go to, there's 10 courses in that series.
- 10:16SPEAKER_01: You can go to each course and expand out the course outline and see every lesson what the title is.
- 10:23SPEAKER_01: You do not have to pay a dime.
- 10:25SPEAKER_01: You can go there and look at every single lesson title.
- 10:27SPEAKER_01: You can't watch the videos, but write down those titles.
- 10:31SPEAKER_01: That will give you the keywords to ask for.
- 10:34SPEAKER_01: Now you can go and watch free resources.
- 10:37SPEAKER_01: I have some on my YouTube channel.
- 10:39SPEAKER_01: You can go to docs.microsoft.com.
- 10:42SPEAKER_01: There's a ton more there that are great, by the way.
- 10:45SPEAKER_01: Um, their documentation has actually gone leaps and bounds beyond what it used to be into the realm of not only helpful, but very helpful.
- 10:54SPEAKER_01: So go there to check out getting started videos and to check out their other print resources and so on.
- 11:02SPEAKER_01: But use those keywords to map out learning the content from the foundation in C sharp course series.
- 11:11SPEAKER_01: Do it all for free.
- 11:12SPEAKER_01: Just get those outlines.
- 11:14SPEAKER_01: And then once you've gone through all that content, you're gonna know what you like and don't like.
- 11:22SPEAKER_01: You're gonna have a better feel for what you still need because you're gonna have built, hopefully, built two full applications.
- 11:31SPEAKER_01: Now, if you don't follow along and actually purchase the course, you're not gonna be able to see me build the applications, but you can still build the applications, build out test applications and try out what you're learning.
- 11:43SPEAKER_01: I would highly encourage you, whenever you are learning, every time you learn a step, practice it.
- 11:51SPEAKER_01: Don't just go to the next video or the next tutorial.
- 11:56SPEAKER_01: Practice what you learn.
- 11:58SPEAKER_01: That is what's going to actually teach you.
- 12:02SPEAKER_01: Everything that I learn, I practice.
- 12:05SPEAKER_01: This is why I don't watch training videos on the treadmill or the elliptical.
- 12:10SPEAKER_01: I can't.
- 12:11SPEAKER_01: Because I'll watch it and go, uh-huh, uh-huh, uh-huh, uh-huh, and then have no clue how to use it.
- 12:18SPEAKER_01: Or I'll think I know and then I go to use it, and I'm like, nothing works.
- 12:23SPEAKER_01: And I realize I've missed two or three critical little steps.
- 12:27SPEAKER_01: So whenever I watch training, it's with a a like Visual Studio or my other IDE, whatever IDE I need, up next to the video.
- 12:38SPEAKER_01: And I will pause the video, I will do what's on the video in my own, and then I'll make sure it works.
- 12:45SPEAKER_01: And then once the video is over, then I will go back and I will rewrite it and I will try new things.
- 12:52SPEAKER_01: I will redo that same demo, or I'll do a similar demo in order to practice what I've learned and make sure I understand the nuance of what was taught.
- 13:02SPEAKER_01: I'll make sure I know what questions I need to ask about, well, what if we did this?
- 13:06SPEAKER_01: Or does this work?
- 13:08SPEAKER_01: Or does this mean that?
- 13:10SPEAKER_01: And then I have come up with so many questions based upon that that have made me go back and watch other videos to really understand the topic.
- 13:20SPEAKER_01: Because probably you're gonna have to do that for a lot of these topics.
- 13:24SPEAKER_01: If you're gonna learn on your own, you're gonna find some people are gonna give you great, great advice, great information, and allow you to put it into a real world context.
- 13:34SPEAKER_01: But some people will just give you the tool.
- 13:37SPEAKER_01: Go, okay, there it is.
- 13:38SPEAKER_01: This is how an if statement works.
- 13:40SPEAKER_01: Great, but how do I integrate that in the rest of my application?
- 13:44SPEAKER_01: You have to practice that and figure it out.
- 13:47SPEAKER_01: So sometimes you'll find, ooh, that didn't quite teach me all I need.
- 13:51SPEAKER_01: I gotta figure out how to do that in the real world.
- 13:54SPEAKER_01: And that's gonna take some time.
- 13:57SPEAKER_01: It's gonna take some patience, but it's important.
- 14:00SPEAKER_01: So you're learning steps.
- 14:03SPEAKER_01: If you're gonna learn C sharp, start with a foundation C sharp series.
- 14:07SPEAKER_01: Go there, get the outline.
- 14:09SPEAKER_01: Go to every single course, get its outline, write it down in order, and then start going through and crossing off as you have gone through each step.
- 14:20SPEAKER_01: And as you learn it and as you practice it, then after you get through a few of them, build a small sample application and then try out a few of those things that you've learned.
- 14:32SPEAKER_01: And then go back at it, learn some more.
- 14:34SPEAKER_01: Then small practice applications, try it again.
- 14:38SPEAKER_01: So keep going through until you're all the way through the content in the foundation and C sharp series.
- 14:44SPEAKER_01: Uh, my videos for that series are about 50 hours in total.
- 14:47SPEAKER_01: I usually recommend that you practice about twice to three times as much time as the video takes.
- 14:56SPEAKER_01: So 50 hours of video, let's just call it that, that means you need about a hundred to a hundred and fifty hours of practice.
- 15:04SPEAKER_01: That means a total of about 200 hours of training to get through that level of content.
- 15:11SPEAKER_01: Now, since you're piecing it together in other places, possibly, well, that's gonna take you a little extra time, but at least put in that 150 hours of practice.
- 15:21SPEAKER_01: Doing so will make the difference, trust me.
- 15:24SPEAKER_01: Okay, so you've gone through the foundation in C sharp, you've gone through that content and you got to the end.
- 15:31SPEAKER_01: Now it's time to figure out what the next step is.
- 15:34SPEAKER_01: How do you figure out that next step on your path?
- 15:37SPEAKER_01: Well, you've already got some exposure to next steps because the foundation is going to walk you through the major product types.
- 15:47SPEAKER_01: You'll have seen desktop apps.
- 15:49SPEAKER_01: Do you like those or do you not?
- 15:52SPEAKER_01: Um, do you feel comfortable building those?
- 15:55SPEAKER_01: Do they really speak to you as an easy way or a fun way to build applications?
- 16:01SPEAKER_01: You'll have done services.
- 16:03SPEAKER_01: How does that work for you?
- 16:04SPEAKER_01: Do you like that?
- 16:05SPEAKER_01: Um, do you like the idea of really concentrating on the code itself rather than a user interface?
- 16:13SPEAKER_01: Or maybe you did web projects and went, wow, I can build web apps.
- 16:17SPEAKER_01: I can actually create a website that is interactive.
- 16:22SPEAKER_01: Do you like that?
- 16:24SPEAKER_01: Whichever one you choose, then you can figure out where to go next and which things to practice in.
- 16:31SPEAKER_01: I have um different courses in different areas.
- 16:35SPEAKER_01: I would encourage you to build a complete application.
- 16:39SPEAKER_01: Okay.
- 16:40SPEAKER_01: I do that a number of times in courses for a reason.
- 16:45SPEAKER_01: The foundation C sharp series has two complete applications, small ones, but complete applications.
- 16:51SPEAKER_01: Um I also have complete courses that are nothing but building a complete application.
- 16:57SPEAKER_01: Uh, tournament tracker, we build a complete winform application and then change over to WPF and ASPNet Core MVC, or I'm sorry, ASPNet MVC, the.NET Framework version.
- 17:08SPEAKER_01: Um, so we have you know three different user interfaces in a complete application.
- 17:14SPEAKER_01: We have other complete applications, a SQLite application like that.
- 17:19SPEAKER_01: So build complete applications to make sure you know how all the pieces fit together to make sure you're not having gaps.
- 17:27SPEAKER_01: If you find gaps, put that on your list of things to learn.
- 17:31SPEAKER_01: And then you can start saying, okay, you know, I got through some of that, but that web stuff, what I want to pursue, I really felt like I was lacking something.
- 17:42SPEAKER_01: Maybe you don't have a great grasp on the actual web stuff, the HTML, the CSS.
- 17:47SPEAKER_01: How does that work?
- 17:48SPEAKER_01: What are the, you know, what's the latest in HTML5 and CSS3?
- 17:52SPEAKER_01: What are the things I should know?
- 17:54SPEAKER_01: Well, then go through a a complete course in web and learn how to do that.
- 18:02SPEAKER_01: Or maybe you have um, you go through the getting started with ASP Nutcore.
- 18:08SPEAKER_01: So you learn how the different ASP Nutcore projects work and go through those a very small start-to-finish application with each of them, the same one where you're building the same thing five times.
- 18:21SPEAKER_01: So you can see how each different type works and have that good comparison side by side so you know which one to pursue in more depth, and then go in depth in that one area.
- 18:34SPEAKER_01: Um, I have a course, uh Blazor Server in Depth, because we go really deep into Blazor Server and what it is and how it works, and really that every detail of Blazor Server so you know it inside and out.
- 18:48SPEAKER_01: And this is again not to sell my courses.
- 18:51SPEAKER_01: You don't have to take any of these courses.
- 18:53SPEAKER_01: What I'm saying is this is the reason why I build these courses because these are the things you need to do.
- 18:58SPEAKER_01: These are the steps you need to take.
- 19:00SPEAKER_01: You need to get a good foundation in C Sharp.
- 19:03SPEAKER_01: You need to practice what you've learned by building full applications.
- 19:07SPEAKER_01: You need to go deeper into one area that interests you.
- 19:11SPEAKER_01: You need to go really deep into that area.
- 19:13SPEAKER_01: And then I also have a series called the Prove It Series, where I give you challenges to prove your knowledge.
- 19:20SPEAKER_01: And no, they're not one-to-one relationships between the different courses.
- 19:24SPEAKER_01: This is not a foundation C sharp prove it series.
- 19:28SPEAKER_01: Not yet, at least.
- 19:29SPEAKER_01: But these are just C sharp prove it series to prove your logic, to prove your web skills, to prove your um ability to work through algorithms and data structures.
- 19:41SPEAKER_01: These kind of things are great for exposing your weaknesses, to finding out where the problems are.
- 19:50SPEAKER_01: So the equivalent of this, if you want to do it for free, is to go to some of these testing sites where they they give you a problem to solve and you figure out, hey, can I solve this?
- 20:02SPEAKER_01: And you try it in C sharp.
- 20:04SPEAKER_01: Now, that's not gonna make you necessarily a perfect programmer and don't concentrate in one area too much.
- 20:12SPEAKER_01: But it's what's gonna do is it's gonna challenge you.
- 20:15SPEAKER_01: Do you know how to work with data structures?
- 20:18SPEAKER_01: Do you know how to work with the web?
- 20:20SPEAKER_01: Do you know how to work with desktop apps?
- 20:22SPEAKER_01: Do you know how to in whatever area you're working in?
- 20:25SPEAKER_01: And then you can find out where your weaknesses are and then figure out what training lines up with those weaknesses.
- 20:33SPEAKER_01: So to kind of wrap this all up, the question of a C sharp learning path is a complicated one.
- 20:41SPEAKER_01: This is the reason why I don't just have a learning path on a website.
- 20:46SPEAKER_01: I'm working on it.
- 20:47SPEAKER_01: I'm working on getting some type of tool in your hands to help walk you through this process, but it's going to involve you.
- 20:57SPEAKER_01: It's going to involve making sure that you're in the process guiding it.
- 21:03SPEAKER_01: Because if you don't guide it, you're not going to get to the destination that you expect.
- 21:09SPEAKER_01: Maybe you say, I want to go to the United States, and I say, okay, and I take you all the way to Dallas when you're expecting New York City.
- 21:17SPEAKER_01: You got close, but you're not there.
- 21:20SPEAKER_01: So I want to make sure that we both know that you're going to New York City, and then we can get you directions based upon where you're at.
- 21:30SPEAKER_01: So it's going to take a lot of involvement from you.
- 21:33SPEAKER_01: A path cannot be just given to you.
- 21:36SPEAKER_01: You have to be the one to be involved in the process of building it.
- 21:41SPEAKER_01: Okay, so that's my answer to the question.
- 21:44SPEAKER_01: I give you some general advice to help get you along the path, but it really comes down to you being involved in the process of building it.
- 21:53SPEAKER_01: All right.
- 21:54SPEAKER_01: Thanks for the question.
- 21:55SPEAKER_01: Great question.
- 21:56SPEAKER_01: Um, I appreciate the questions that come in.
- 21:59SPEAKER_01: If you have a question, make sure to go to the podcast link on I amtimcorey.com and fill out the form to get your question answered.
- 22:09SPEAKER_01: If you want to view this episode, you can view it on YouTube.
- 22:12SPEAKER_01: If you want to listen to this episode, you can listen to it on the podcast player of your choice.
- 22:18SPEAKER_01: We're on almost every major platform for podcasts.
- 22:22SPEAKER_01: Thanks for listening.
- 22:23SPEAKER_01: And as always, I am Tim Corey.
- 22:25SPEAKER_00: Thank you for joining us for this episode of Dev Questions.
- 22:28SPEAKER_00: Tim is committed to making it easier for you to become a developer.
- 22:31SPEAKER_00: If you would like to help make more content like this possible, please like, subscribe, rate, and share Dev Questions.
- 22:39SPEAKER_00: You can also send your questions to questions at IamTimcorey.com.
- 22:44SPEAKER_00: Until next time, remember, you are too smart and your time too valuable to waste it making all the mistakes Tim did.
- 22:51SPEAKER_00: When you're ready to learn to think and code like a professional developer, head over to IamtimCore.com and enroll in a course.