Latest / DevQuestions with Tim Corey / 011 What Is The Best C# Book? What Is the Best C# Resource?
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's the best resource for learning C sharp?
- 0:29SPEAKER_01: Is there a book that you should read that will teach you C sharp well?
- 0:33SPEAKER_01: Is it a course?
- 0:34SPEAKER_01: Is it a mentorship?
- 0:36SPEAKER_01: How do you learn C sharp well?
- 0:38SPEAKER_01: And especially what resource do you use to do that?
- 0:41SPEAKER_01: Those are the questions I get a lot.
- 0:43SPEAKER_01: And in this episode, we're going to talk through what resources do you use to learn C sharp well?
- 0:51SPEAKER_01: What which ones do I recommend?
- 0:54SPEAKER_01: Now, to start off with, I think before you look at resources, you need to look at how to learn C sharp.
- 1:02SPEAKER_01: Because, like I always say, if you're pointed in the wrong direction, it doesn't matter how fast you run that way, you're gonna end up at the wrong destination.
- 1:12SPEAKER_01: So we make sure we point at the right destination.
- 1:16SPEAKER_01: So if we're gonna learn C sharp, we should figure out how we should learn C sharp well.
- 1:23SPEAKER_01: Now, looking back over my career, I have done it well and I have done it poorly.
- 1:29SPEAKER_01: And so I want to make sure that I teach you the way that I found that works the best in my experience and the experience of what I've watched others do as well as I've trained them.
- 1:41SPEAKER_01: I think it's a four-step process.
- 1:43SPEAKER_01: So step one, I think you need to learn bits at a time.
- 1:47SPEAKER_01: If you try and learn all of C sharp all at once, that's overwhelming, it's confusing, it's tough, and you'll probably get frustrated by it.
- 1:56SPEAKER_01: So step one, you learn little bits at a time.
- 1:58SPEAKER_01: Don't learn all of C sharp, learn just an if statement or just a variable.
- 2:03SPEAKER_01: Start there.
- 2:04SPEAKER_01: And so no matter where you are in the learning process, when you need to learn something, learn just a little bit.
- 2:10SPEAKER_01: Just that little bit.
- 2:12SPEAKER_01: Now, there's a lot of great resources out there, and we'll talk about those in just a minute, but that's where you start.
- 2:18SPEAKER_01: Then the next step is on you.
- 2:22SPEAKER_01: You have to practice what you've learned.
- 2:25SPEAKER_01: My recommendation is two to five practice projects for everything you learn.
- 2:31SPEAKER_01: This is what's gonna trip a lot of people up, is they're not gonna do that.
- 2:35SPEAKER_01: They're gonna skip from I learned one thing to I learned the next thing and the next thing and the next thing.
- 2:41SPEAKER_01: And you're not retaining it, you're not making sure that you really understand it.
- 2:46SPEAKER_01: When you um watch even one of my videos, doesn't matter whose videos you watch or what blog posts you read, when you watch these videos or read these resources, when you look at them, it kind of makes sense.
- 3:01SPEAKER_01: And I know because I I'm there too.
- 3:03SPEAKER_01: I read it and go, yep, yep, got it, got it, got it.
- 3:06SPEAKER_01: And you think you have it, but then you figure out later that you didn't really grasp it fully or something's missing.
- 3:15SPEAKER_01: That's where the practice kind of reveals that stuff.
- 3:18SPEAKER_01: So I always recommend create two to five practice projects, but don't try and create real projects.
- 3:26SPEAKER_01: Instead, create just enough code to test out what you're doing.
- 3:32SPEAKER_01: It shouldn't actually do anything, it should just make sure that you can put your code into place, the stuff that you're trying out.
- 3:41SPEAKER_01: So if you're trying an if statement, just get an if statement working.
- 3:44SPEAKER_01: Don't worry about asking for information or hard code everything except for the if statement.
- 3:50SPEAKER_01: Figure that out, okay?
- 3:52SPEAKER_01: Those are practice projects.
- 3:54SPEAKER_01: So that's step two.
- 3:55SPEAKER_01: Step three is after you've got a few of those under your belt where you've done a few little chunks, then you go back and say, okay, let's put this into a bigger practice project.
- 4:07SPEAKER_01: So you take five, ten, fifteen of the things you've learned, and it's gonna be cumulative.
- 4:12SPEAKER_01: So maybe you've done this a few times, now it's 50 or 60 things, they're kind of fitting in as you know as possible into this practice project.
- 4:22SPEAKER_01: Again, this practice project should be very, very small, but now it should do more things.
- 4:27SPEAKER_01: If you've learned about if statements and variables and switch statements and loops, then see if you can figure out a practice project that would have all those in it.
- 4:37SPEAKER_01: Maybe a simple little guest book or a little little game that again doesn't have to be perfect.
- 4:44SPEAKER_01: Don't make it perfect, don't concentrate on the application itself, concentrate on the code and how it works together.
- 4:53SPEAKER_01: See, that's where you kind of you're starting to put things together and start to see some practice in you know real projects, but they're not really real.
- 5:01SPEAKER_01: And you'll start to get some more experience in building something.
- 5:06SPEAKER_01: Okay, now it's very, very small because you want to be quick in this.
- 5:10SPEAKER_01: So that's steps one, two, and three.
- 5:12SPEAKER_01: Step one, you learn something little.
- 5:15SPEAKER_01: Step two, you practice it multiple times.
- 5:17SPEAKER_01: Step three, you put those little things into a little bit bigger application that's still a test project.
- 5:24SPEAKER_01: Step four is the real world, it's where you actually build a quote unquote real application, an application that actually does something that kind of uses some of the things you've learned.
- 5:36SPEAKER_01: Those are the four steps that I recommend to learn C sharp.
- 5:41SPEAKER_01: So that's kind of the foundation here.
- 5:42SPEAKER_01: Now let's talk about resources that you can use.
- 5:46SPEAKER_01: See if you've if you're subscribing to the four-step process, and I do recommend you do, then you need to look at those resources as where do they fit along the process, not just grabbing resources randomly.
- 6:01SPEAKER_01: So, step one, those little resources, that can be anywhere.
- 6:07SPEAKER_01: My YouTube channel has over 200 C sharp videos on it.
- 6:10SPEAKER_01: Go crazy, you'll find lots of individual things on there.
- 6:15SPEAKER_01: Docs.microsoft.com, great resource.
- 6:19SPEAKER_01: Um, it used to be I'd never recommend people go to the documentation for Microsoft because it was just horrible.
- 6:25SPEAKER_01: But now it's actually really, really good.
- 6:28SPEAKER_01: So docs.microsoft.com will teach you those little things that you might have missed.
- 6:34SPEAKER_01: There's blogs out there, tons of blogs.
- 6:36SPEAKER_01: There's other YouTube channels.
- 6:38SPEAKER_01: Try them all out.
- 6:40SPEAKER_01: Find those little individual nuggets that you're missing.
- 6:43SPEAKER_01: Okay, so you have that individual nugget.
- 6:47SPEAKER_01: Learn that in step one.
- 6:49SPEAKER_01: Step two, that's on you.
- 6:51SPEAKER_01: You've got to practice what you've learned.
- 6:54SPEAKER_01: All right, that's a really big one because people often want somebody else to lead them.
- 7:02SPEAKER_01: So you're saying, you know what, just mentor me, lead me.
- 7:05SPEAKER_01: Well, I'm doing the mentoring right now.
- 7:08SPEAKER_01: I want you to listen.
- 7:10SPEAKER_01: When you learn something little, if you don't practice it, it will not be nearly as good for you.
- 7:18SPEAKER_01: And it becomes almost an entertainment mindset.
- 7:22SPEAKER_01: The idea that just entertain me with a new thing to learn.
- 7:27SPEAKER_01: Instead of actually being a knowledge transfer where you're actually understanding how these things work.
- 7:34SPEAKER_01: So, step two, that's on you.
- 7:37SPEAKER_01: Step three, that can be on you, or you can be led in that.
- 7:42SPEAKER_01: This is where I have the C sharp application from start to finish course, and also the Timco Retail Manager series.
- 7:50SPEAKER_01: Both of those are the real-world practice.
- 7:55SPEAKER_01: They're step three, where you're putting things together that um you may have learned beforehand, and now you're trying to figure out how these parts all fit together.
- 8:04SPEAKER_01: Now, the C sharp application from start to finish course, that course is more beginner to intermediate, where I don't try and pull everything from everywhere.
- 8:14SPEAKER_01: Some people ask, well, Tim, where is the dependency injection?
- 8:17SPEAKER_01: Where is this other, you know, these design patterns or these uh systems over here?
- 8:23SPEAKER_01: They're not there.
- 8:24SPEAKER_01: And the reason why is because I wanted something a little bit lower, not lower as in bad, but lower as in a lower barrier to entry to build a real program.
- 8:36SPEAKER_01: Because you can't always just say we're not going to practice until we get to the top level.
- 8:42SPEAKER_01: That's just it's not gonna be successful that way.
- 8:46SPEAKER_01: So there's a lower resource or lower barrier to entry right there in the C sharp application from start to finish course.
- 8:53SPEAKER_01: Now, the Timco retail manager series, that's a bit higher of a barrier to entry.
- 8:58SPEAKER_01: We are gonna do things like APIs and swagger and logging and a.NET uh framework to.NET Core conversion and Caliburn Micro and JPF and authentication, authorization, lots of stuff we're throwing at it.
- 9:14SPEAKER_01: Well, if you're just starting out, that's not the place to start.
- 9:18SPEAKER_01: But it's a step three anyway, and it's a step three after you've learned those individual pieces.
- 9:24SPEAKER_01: Okay, so you see how it's going?
- 9:26SPEAKER_01: And step four, that's kind of back on you.
- 9:29SPEAKER_01: It's you have to figure out what to build or how to make your um your skills useful in the real world.
- 9:40SPEAKER_01: I've got a blog post on imtimcore.com.
- 9:42SPEAKER_01: If you have a blog and you look for how do I get C sharp experience, you don't have to have a job to do this.
- 9:49SPEAKER_01: And so I talk you through some ways you can do that step four, that uh ability to build a real application that's gonna give you real world experience, but not for an employer yet.
- 10:02SPEAKER_01: Okay, so those are the four steps, and there's where the resources come in.
- 10:06SPEAKER_01: So you're really looking at resources for step one and for step three.
- 10:11SPEAKER_01: Those are the two places you want resources.
- 10:13SPEAKER_01: Step one resources, like I said, there's lots of them out there.
- 10:17SPEAKER_01: Step three resources, there's not a ton.
- 10:19SPEAKER_01: Like I said, the start-to-finish course, um, that's what I usually try and do, is I try and provide that step three to help you get into the groove of building a real application.
- 10:33SPEAKER_01: But there's still some missing pieces here.
- 10:35SPEAKER_01: I think the biggest missing piece, and this is the one that a lot of C sharp developers miss.
- 10:42SPEAKER_01: A lot of C sharp developers struggle in.
- 10:45SPEAKER_01: And this is the missing piece of finishing what you started because it's so easy to move on to the next thing.
- 10:55SPEAKER_01: I mean, I'm guilty of this, so don't think I'm I'm pointing fingers, I'm pointing fingers myself first.
- 11:01SPEAKER_01: Okay.
- 11:02SPEAKER_01: The idea that you start a project and you're very enthusiastic about it, and you got all these great ideas and you start working on it.
- 11:08SPEAKER_01: Oh man, that's gonna be amazing, and it kind of runs out of steam at some point.
- 11:13SPEAKER_01: And then another project comes along.
- 11:15SPEAKER_01: Oh, I want to do that, and so you go down that path.
- 11:18SPEAKER_01: Before you know it, you have four, five, six applications or ideas that are half baked, they're not done, and in some ways it can feel discouraging, it can feel like you never get anywhere.
- 11:32SPEAKER_01: Maybe your education is the same way where you feel like, man, I'm so enthusiastic to start.
- 11:38SPEAKER_01: And so, you know, I I bought the foundation and C sharp complete series because I'm gonna learn C sharp.
- 11:44SPEAKER_01: And you got two courses into it, and you're like, what, how about Java or JavaScript or you know, Rust?
- 11:52SPEAKER_01: I want to learn Rust.
- 11:53SPEAKER_01: And so you got distracted.
- 11:56SPEAKER_01: That's a big struggle in our industry.
- 11:59SPEAKER_01: And I'll tell you what, if you can conquer that, you will go far because so many of us struggle with this.
- 12:08SPEAKER_01: If you can get beyond it, you can do a lot of great things.
- 12:12SPEAKER_01: And so there's one resource.
- 12:14SPEAKER_01: Normally I don't recommend books.
- 12:16SPEAKER_01: Normally I don't recommend specific series because it all depends on you and how you learn.
- 12:22SPEAKER_01: There's some books that are great.
- 12:23SPEAKER_01: Um, John Skeet wrote a book that is very technical on C sharp and is really great.
- 12:30SPEAKER_01: But if you're not gonna learn through just a almost a technical manual, then that's not gonna be a great book for you.
- 12:37SPEAKER_01: And some books are great, but they are five years out of date.
- 12:42SPEAKER_01: Or they're great in one specific area, like unit testing.
- 12:46SPEAKER_01: And so it's hard to recommend any one resource, except one.
- 12:52SPEAKER_01: I have one resource that I will give to any developer that is trying to figure out how I should improve as a developer.
- 13:03SPEAKER_01: There's one resource that I think is both timeless and super important to understand and learn.
- 13:10SPEAKER_01: And so when I show you this, when I tell you, tell you this, you're probably gonna laugh and say, Tim, you're you're crazy.
- 13:17SPEAKER_01: Were you sponsored or what?
- 13:18SPEAKER_01: I'm not sponsored.
- 13:20SPEAKER_01: Um John doesn't know I'm doing this, but there's one book that I recommend above all others for a C sharp developer to read, and that's the book Finish, okay, by John A.
- 13:32SPEAKER_01: Cuff.
- 13:32SPEAKER_01: Get it at Amazon.
- 13:33SPEAKER_01: I'll link down below to this to um this book.
- 13:37SPEAKER_01: Get this book and read this book.
- 13:39SPEAKER_01: This is a business book.
- 13:41SPEAKER_01: This has nothing to do specifically with C sharp.
- 13:44SPEAKER_01: But I tell you what, this book will change you.
- 13:49SPEAKER_01: It will change how you approach projects.
- 13:51SPEAKER_01: And the best part about it is it doesn't make you feel bad doing it.
- 13:57SPEAKER_01: And that's that's something that that really hurts me sometimes.
- 13:59SPEAKER_01: Is sometimes we get these these great concepts.
- 14:04SPEAKER_01: Okay, here's what you need to do.
- 14:06SPEAKER_01: And so they they lay out these great plans, and it's like, oh man, it's one more thing I'm not doing.
- 14:12SPEAKER_01: Or it's one more thing I failed at.
- 14:14SPEAKER_01: You know, we got this diet.
- 14:16SPEAKER_01: Great, it's one more thing that I had too many cheat days on.
- 14:20SPEAKER_01: This is not that.
- 14:22SPEAKER_01: This even tells you, let's make this fun, otherwise it won't work.
- 14:26SPEAKER_01: Okay, let's take your goal and cut it in half.
- 14:29SPEAKER_01: There's some great stuff in here where you're like, that, but but I have to I have to be miserable in order to get this thing done, right?
- 14:36SPEAKER_01: No, you can have fun doing it, you can succeed having fun.
- 14:42SPEAKER_01: Definitely check that book out, read it.
- 14:45SPEAKER_01: It's a it's not hard to read.
- 14:46SPEAKER_01: Um, I don't read a ton of books because I just don't have time.
- 14:50SPEAKER_01: I'm going, going, going.
- 14:52SPEAKER_01: But that's why I read cover to cover, and it changed how I approached a lot of things.
- 14:58SPEAKER_01: It made me a better developer, it made me a better YouTuber, it made me better at my job.
- 15:06SPEAKER_01: So I definitely recommend that you read that book.
- 15:10SPEAKER_01: It's going to help you with the finishing of the process.
- 15:15SPEAKER_01: You see, we all can start, and we all have this ability to you know dream of new ideas or or new training mechanisms, or you know, just get really enthusiastic about something, whether it's learning C sharp or learning a piece of C sharp or building an application, whatever it is, we can get really enthusiastic about starting it.
- 15:38SPEAKER_01: But really where the success happens isn't in the start, it's in the finish.
- 15:45SPEAKER_01: What are you actually finishing?
- 15:48SPEAKER_01: Because there's where you're gonna see the the uh the growth day over day, week over week, month over month.
- 15:56SPEAKER_01: And so I want to see the people that are they're watching this, they're listening to this, I want to see you succeed.
- 16:04SPEAKER_01: I want to see you finish things, I want to see you grow by leaps and bounds, and that's the way I do it.
- 16:11SPEAKER_01: Finish what you start.
- 16:13SPEAKER_01: Okay.
- 16:14SPEAKER_01: So when you ask me what C sharp book should I learn or read, you're gonna get a weird answer.
- 16:21SPEAKER_01: You're gonna get finished because that's the book that's most going to impact how you learn C sharp.
- 16:28SPEAKER_01: Because, well, I could teach you or someone could teach you in a book how to do C sharp syntax if you don't have the discipline to actually finish going through that, to put the hard work in of practicing what you learn, to build the start-to-finish application, to actually put it into a real-world application.
- 16:49SPEAKER_01: If you don't have the the uh fortitude, the the strength to go from the start all the way to the finish, then it's not gonna be nearly as helpful to you.
- 17:01SPEAKER_01: So I'm gonna try and equip you to succeed in C sharp by succeeding also in life.
- 17:09SPEAKER_01: This is gonna teach you more than just C sharp training.
- 17:11SPEAKER_01: Okay, so that's my weird answer to which C sharp book is best.
- 17:17SPEAKER_01: Um, hopefully that you know makes sense.
- 17:20SPEAKER_01: Hopefully you understand where I'm saying what I'm coming from or what I'm saying.
- 17:25SPEAKER_01: I would love to hear your thoughts on this.
- 17:26SPEAKER_01: If you've read it, let me know what your thoughts are.
- 17:29SPEAKER_01: Okay, if you haven't read it yet, I would encourage you to read it and then let me know what your thoughts are.
- 17:33SPEAKER_01: Okay.
- 17:33SPEAKER_01: So post them in the comments, let me know what your thoughts are.
- 17:36SPEAKER_01: If you have other book recommendations, whether it's you know a just a general life book like Finish is or a specific C sharp book that you know this really helped in this specific area, that's great.
- 17:48SPEAKER_01: Leave them down in the comments.
- 17:49SPEAKER_01: Just one note.
- 17:50SPEAKER_01: Um, try not to link to the book.
- 17:53SPEAKER_01: I know it's weird.
- 17:54SPEAKER_01: It'd be great if you could link to the book, but if you link to the book, typically you'll get filtered out of the comment section.
- 18:00SPEAKER_01: Okay, and that's that's just a YouTube filter thing.
- 18:03SPEAKER_01: So just put the name of the book and the author, that'd be great.
- 18:07SPEAKER_01: And let us know what your thoughts are on the best C sharp book to learn or the best C sharp resource to learn.
- 18:13SPEAKER_01: Um, also, if you have other questions that you want answered in this dev question series, I'd love to know them.
- 18:19SPEAKER_01: Leave those down in the comments, and I'll get back to you.
- 18:21SPEAKER_01: Also, there is that link to listen to this on a podcast, and also there's a link to on I am Tim Corey.
- 18:28SPEAKER_01: Under podcast, there's a link to leave your questions, and I'll get back to those questions as soon as I can in this dev question series.
- 18:37SPEAKER_01: Okay?
- 18:37SPEAKER_01: Thanks for watching, and as always, I am Tim Corey.
- 18:41SPEAKER_00: Thank you for joining us for this episode of Dev Questions.
- 18:44SPEAKER_00: Tim is committed to making it easier for you to become a developer.
- 18:47SPEAKER_00: If you would like to help make more content like this possible, please like, subscribe, rate, and share Dev Questions.
- 18:55SPEAKER_00: You can also send your questions to questions at IamTimcorey.com.
- 19:00SPEAKER_00: Until next time, remember, you are too smart and your time too valuable to waste it making all the mistakes Tim did.
- 19:07SPEAKER_00: When you're ready to learn to think and code like a professional developer, head over to imtimcore.com and enroll in a course.