Escaping Tutorial Hell
Show notes
Max' also has his own Podcast: https://maximilian-schwarzmueller.com/podcast
Show transcript
00:00:00: - Hi Manuel.
00:00:00: - Hi Max.
00:00:01: - Learning is great, isn't it?
00:00:03: - It is, it is.
00:00:03: And specifically nowadays,
00:00:05: we actually never had better options
00:00:08: to learn new things. - Yes.
00:00:09: - I mean, we have the internet,
00:00:10: we have tutorials, we have articles,
00:00:13: so many things to learn new topics on your own.
00:00:15: - Yeah, exactly.
00:00:16: It's never been easier to pick up a new topic,
00:00:19: to learn something.
00:00:21: And yet at the same time, this can also be a problem.
00:00:24: - Yes. - Tutorial hell,
00:00:25: in which you can get stuck.
00:00:27: You know, what is tutorial hell?
00:00:29: - Well, I think we have plenty of definitions
00:00:31: for this terms that you say,
00:00:33: but one common one is,
00:00:34: that you basically start learning something new,
00:00:38: specifically something related to programming actually.
00:00:41: - Yeah.
00:00:42: - I mean, you can apply this to other topics,
00:00:43: but we'll focus onto this programming focus.
00:00:46: And you start learning JavaScript, for example.
00:00:49: - Yeah.
00:00:50: - And then you watch the tutorial
00:00:51: and you watch it and you code along.
00:00:52: And then you have two problems.
00:00:54: The first problem is that you are coding along,
00:00:57: but you're not really learning
00:00:59: because you just code along
00:01:00: but you don't think about the problems on your own.
00:01:02: - You don't understand what you're learning.
00:01:04: - Indeed. - Yeah.
00:01:05: - And the second problem is that you,
00:01:07: whilst learning JavaScript, find out in a course
00:01:11: that there is also no jazz, for example.
00:01:13: - Yeah.
00:01:14: - Or that there are databases and then you...
00:01:16: Or before finishing the initial learning process,
00:01:20: you already think about other things you should learn
00:01:22: and then you are kind of stuck in tutorial hell.
00:01:25: - Yeah.
00:01:26: - Because you keep watching tutorials and keep learning,
00:01:28: but you don't apply what you learned.
00:01:30: You...
00:01:31: - Exactly yeah.
00:01:32: You keep on learning,
00:01:33: and then learning is the goal,
00:01:35: but you maybe forgot what your original goal was
00:01:39: to use what you learned. - Yeah.
00:01:40: - And not to keep on learning,
00:01:41: but it can be hard to get out of tutorial hell
00:01:45: because as you mentioned,
00:01:47: there are so many things you can learn.
00:01:50: So you might always feel like you have to continue learning
00:01:54: because you're not good enough.
00:01:55: And because with what you learned thus far,
00:01:58: you would not be able to solve a problem in the best way
00:02:03: or to build what you wanna build in the best possible way.
00:02:07: And in addition, as you said,
00:02:09: it's this problem that you follow along in a course
00:02:13: and you feel like, "Yeah, I got this down.
00:02:14: I understand this."
00:02:16: And then once you have to get started on your own project,
00:02:19: once you have that blank state in front of you,
00:02:22: you sit there and you're like,
00:02:24: "Wow, I don't know how I should start.
00:02:26: How exactly do I do that?
00:02:28: It looks so easy in the course, but now I'm stuck."
00:02:30: And that's exactly what we wanna talk about today.
00:02:34: - Yeah.
00:02:34: - And I think it's also worth mentioning, of course,
00:02:36: that we create online courses.
00:02:38: So, of course, you could think tutorial hell is perfect
00:02:43: for us, right?
00:02:44: - Yeah. - Because we want people
00:02:45: to get stuck.
00:02:46: We earn money if people take our courses,
00:02:49: but that's actually not why we started creating courses.
00:02:53: Right? - No, no.
00:02:54: We wanted to transfer knowledge
00:02:56: or to help people learn new things.
00:02:58: And I think it's more satisfying, to be honest,
00:03:01: if students tell you that they really learned something
00:03:03: and got a job. - 100%.
00:03:04: - Instead of having students maybe that bought five courses,
00:03:08: which is nice, but if you see
00:03:09: that these people are just buying courses,
00:03:12: maybe not even starting the courses
00:03:13: because just by buying the courses,
00:03:15: they feel like, "Oh, I did something already."
00:03:17: - Yeah.
00:03:18: - That's not really something
00:03:19: that motivates us, to be honest,
00:03:20: because you wanna help people to start a new job,
00:03:23: to start a new hobby, whatever.
00:03:25: But by just buying courses or watching courses,
00:03:28: that's not the way how we learn new things.
00:03:30: It's what it is, so... - Yeah.
00:03:32: - We'll have to have a closer look at some problems
00:03:35: with tutorials as a first step.
00:03:37: - Yeah.
00:03:38: - And then we'll dive into ways how
00:03:39: to escape this hell, as you said,
00:03:41: because that's our goal of this podcast episode.
00:03:43: - Yeah, yeah.
00:03:44: - We're gonna help people that are stuck in this hell.
00:03:46: - Yeah.
00:03:47: - So let's maybe quickly have a look
00:03:49: at the problems coming with tutorials
00:03:52: in addition to this tutorial hell or maybe problems
00:03:55: also emphasizing this tutorial hell problem.
00:03:59: Because when watching a tutorial
00:04:01: or when preparing a course,
00:04:02: we have to think about the project
00:04:05: before creating the course, so to say.
00:04:08: So you have to find a project that is interesting,
00:04:11: but at the same time, that also incorporates many aspects
00:04:15: of a language of technology.
00:04:17: So, a course in the end is a step-by-step guide.
00:04:21: And it's intended to be that. - Yeah.
00:04:23: - But when just having the step-by-step logic in your mind
00:04:27: and then starting a project on your own,
00:04:29: you will find out that a project typically
00:04:32: is not a step-by-step project.
00:04:34: Problems come depending on the project.
00:04:36: So whilst understanding the basics
00:04:38: in the step-by-step guide is great,
00:04:40: you have to start as soon as possible
00:04:43: to work on these own projects
00:04:45: because the step-by-step logic will not help you.
00:04:47: - Yeah.
00:04:48: - That's one of the problems I, at least, see
00:04:50: with tutorials.
00:04:51: - Exactly, and just to make this really clear,
00:04:54: of course, when you build something,
00:04:56: if you are working on your own project,
00:04:58: you will also do that step by step.
00:05:01: But what you meant is that,
00:05:04: in a course which is about a specific topic,
00:05:07: we teach that topic step by step,
00:05:09: and we build some demo projects.
00:05:11: But those demo projects, of course, are simplified
00:05:15: and are tailored such that they allow us
00:05:18: to introduce certain topics,
00:05:21: to focus on certain topics
00:05:23: because that's the idea behind such a course.
00:05:25: We don't have a course that builds one project
00:05:30: and has that project as the main goal.
00:05:32: But instead the main goal
00:05:34: of a course is to teach a certain topic,
00:05:36: and then we have projects
00:05:37: that help us teach those topics or that topic.
00:05:40: And that's really important,
00:05:42: and it's also worth mentioning
00:05:44: that if you are working on a real project,
00:05:46: no matter how complex it may be,
00:05:49: it'll not be about just one topic.
00:05:52: I mean, if you are taking a CSS course,
00:05:54: that's nice, it's about CSS.
00:05:56: But if you're then building a real website, for example,
00:05:59: you don't just need CSS. - Yeah.
00:06:00: - You also need HTML and JavaScript
00:06:02: and maybe a backend and a database and so on.
00:06:06: But that's not what you got from this one course.
00:06:08: Now, of course you can take multiple courses,
00:06:10: but then again, combining these different pieces,
00:06:12: that is what you have to do,
00:06:14: and that is, of course, what can be challenging.
00:06:17: - Yeah.
00:06:17: - Of course, there also are some courses,
00:06:19: and we also have some courses
00:06:21: where we do combine different things like our MERN course
00:06:24: where we build full-stack apps
00:06:26: with React and MongoDB and so on.
00:06:28: But these are special courses
00:06:31: which you don't necessarily take.
00:06:32: And even if you do,
00:06:34: even those courses alone won't get you there
00:06:36: because that's not the only problem with tutorial hell
00:06:40: and with building things on your own.
00:06:42: - So applying the knowledge is tricky,
00:06:44: but there's also another problem
00:06:46: that we see specifically when it comes
00:06:48: to learning programming.
00:06:50: It's the overall complexity of technology nowadays.
00:06:53: And the fact that whilst learning one thing,
00:06:55: you always find out something else you could learn,
00:06:58: something a bit more advanced,
00:06:59: like I mentioned this JavaScript Node.js example.
00:07:02: You then explore databases,
00:07:04: you then explore maybe mobile apps, whatever,
00:07:05: because you think,
00:07:06: "Oh, I should also know how to create a mobile app."
00:07:08: And this brings you even further away
00:07:10: from really applying knowledge because you keep learning,
00:07:13: you keep watching tutorials, reading articles,
00:07:16: reading on Stack Overflow and so on.
00:07:18: So you never come to this point where you say,
00:07:19: okay, I got the basics now I need, let me try this out.
00:07:23: And if I find something I have to know,
00:07:25: I'll find it out at the point in time when it's required
00:07:28: in my project, in my application.
00:07:30: - And that's a very good point.
00:07:32: So this is, we'll talk about how to,
00:07:35: how we think that you could get out of tutorial hell,
00:07:37: but I think this is one part
00:07:39: that you have to get to the point
00:07:43: where you encounter problems
00:07:44: and you then look for a solution
00:07:47: instead of trying to get all the solutions
00:07:49: before even getting started, building stuff on your own.
00:07:53: Because as you mentioned, there are so many technologies,
00:07:55: there's so much to learn
00:07:56: and it's not just those different technologies.
00:07:59: Even if you just focus on React
00:08:01: or any framework or technology, whatever,
00:08:04: you can get started with it.
00:08:05: You can get more advanced with it.
00:08:07: You can learn best practices and patterns
00:08:09: and so on and so on.
00:08:11: And yes, this is all important for different reasons,
00:08:15: but it's not necessarily important
00:08:17: when you're learning something.
00:08:18: - Yeah.
00:08:19: - It's not important there.
00:08:20: It's important that you get a foundation
00:08:22: and that you then apply what you learn.
00:08:24: - Yeah.
00:08:25: - And you will always read a lot of strong opinions
00:08:27: on the internet on Reddit or X or wherever,
00:08:30: where people tell you how wrong it is
00:08:33: to do something in a certain way
00:08:34: or that you must use certain best practices.
00:08:37: And yeah, best practices are called best practices
00:08:41: for a reason,
00:08:42: but it can also be extremely overwhelming
00:08:45: and counterproductive
00:08:46: if you just think about getting everything right
00:08:49: right from the start.
00:08:50: Because you won't. - Yeah.
00:08:51: - Nobody will then do that
00:08:52: when you're getting started.
00:08:53: Even if you are a bit more advanced, even then,
00:08:56: you will always learn new stuff.
00:08:58: And when you learn new stuff, you will do it wrong initially
00:09:01: or not in the best possible way.
00:09:03: - But the thing is, you will do it.
00:09:05: And that's the important thing.
00:09:06: - That's important, yeah. - And we'll come to that.
00:09:07: But if you always think about,
00:09:08: "Oh, this is wrong, this is wrong.
00:09:09: I have to do this.
00:09:10: I have to do this in a better way,"
00:09:12: you'll keep thinking and thinking without doing anything.
00:09:15: And that's actually, as you said, a big thing.
00:09:17: You will do things incorrectly.
00:09:19: You will make mistakes,
00:09:20: but you will learn by doing these mistakes
00:09:22: and by just searching for the perfect solution,
00:09:25: by the perfect approach,
00:09:26: you will never achieve anything in the end
00:09:28: because learning things or watching things,
00:09:32: reading things is not knowing something.
00:09:33: - Yeah. - That's what it is.
00:09:35: - Yeah, your goal should not be to learn everything
00:09:39: in the best possible way before you get started.
00:09:43: Instead, the goal should be to get started
00:09:46: and only learn as much as you need
00:09:48: to do what you wanna do or what your next goal is.
00:09:53: And that's maybe the part where we could like-
00:09:55: - Yeah.
00:09:56: - Look into ways of getting out
00:09:58: of tutorial hell. - Indeed, indeed.
00:09:59: Because now we see the problem.
00:10:01: - Yeah. - And now we,
00:10:02: of course, also thought about a solution actually.
00:10:03: - Yeah.
00:10:04: - Because that's the core idea of this podcast.
00:10:05: And this will now be kind of a discussion, I guess,
00:10:09: because we'll see how we both think about that.
00:10:12: I would say for me, one way to escape this hell is,
00:10:15: as always the beginning of this whole learning process.
00:10:18: If you, for example, say that you want to learn Python,
00:10:22: that's a nice goal.
00:10:23: But in my opinion, this won't lead to anything
00:10:25: because then it will just get started
00:10:26: with a course or Google something.
00:10:28: But you don't have a specific goal in mind
00:10:30: because learning a language is not a goal.
00:10:32: - Yeah. - A goal would be:
00:10:33: I want to build a nice little game in Python.
00:10:36: - Yeah. - Some kind
00:10:37: of whatever application in Python.
00:10:40: Think about anything,
00:10:41: and then think about the basic knowledge you might need
00:10:44: to start this project,
00:10:46: not to finish it.
00:10:47: It's just about getting started.
00:10:48: And then you have the foundation
00:10:50: and then you can, for example, take a course
00:10:51: where you learn the basics about programming,
00:10:54: about Python maybe.
00:10:55: - Yeah.
00:10:56: - And once you have the feeling
00:10:57: that, okay, I got now some tools at hand,
00:10:59: then you should start as soon as possible
00:11:01: to try to apply this knowledge
00:11:03: and to try to build the first steps,
00:11:06: the first parts of your app.
00:11:08: - Yeah.
00:11:08: - But when I say this, something comes to my mind,
00:11:10: which I think you will agree on,
00:11:12: because this part of getting started isn't the process
00:11:16: of, okay, I have to start with one little thing,
00:11:19: because I think typically people see the big picture
00:11:22: and are a bit overwhelmed about all the things they have
00:11:25: to know to build this application.
00:11:28: And then they will be frustrated
00:11:30: because they think, "I can't do that."
00:11:31: I guess you have an opinion on that as I said.
00:11:34: - Yeah, I guess we're back to this,
00:11:36: I'm sitting in front of this blank space.
00:11:38: I decided I want to build like a tic-tac-toe game
00:11:42: with HTML and JavaScript.
00:11:44: Or I wanna build some game with Python.
00:11:46: Doesn't really matter.
00:11:48: And then I'm sitting there on my PC, on my laptop,
00:11:52: and I don't know how to start.
00:11:53: - Yeah.
00:11:54: - Now, of course, you are taking some course
00:11:58: or you're reading some tutorials
00:11:59: and there, you learn a lot.
00:12:02: But then once you're back to doing it on your own,
00:12:04: you don't know how to start. - Yeah.
00:12:05: - And I think the trick here,
00:12:07: at least what works for me, is to not try to build it all
00:12:13: in one step,
00:12:14: because that's not how you build software anyways.
00:12:17: But instead start simple.
00:12:19: If you wanna build,
00:12:20: let's say you want to build that tic-tac-toe game
00:12:22: in the browser with HTML and JavaScript, whatever.
00:12:25: Well then, start with writing some HTML code
00:12:29: that draws the game board.
00:12:30: You don't need the logic yet.
00:12:32: You don't need any styling yet.
00:12:34: Just write some HTML code. - Yeah.
00:12:35: - It can be super ugly.
00:12:36: Maybe it's just a grid,
00:12:38: so a couple of divs nested into each other.
00:12:40: And you then have that basic board,
00:12:45: but you won't see it without CSS.
00:12:47: So the next step is to add some CSS
00:12:49: to make sure that you got some borders,
00:12:51: that you got an actual grid there and so on.
00:12:53: And along the way, you'll encounter a couple of challenges.
00:12:56: Maybe not big ones,
00:12:57: maybe big ones, depending on your knowledge.
00:13:00: But that's great.
00:13:00: That's exactly what it's all about.
00:13:02: You then need solutions for these challenges.
00:13:05: And you either might've learned solutions in a course
00:13:09: or in a tutorial,
00:13:11: or you have to search for them.
00:13:12: - Yeah.
00:13:13: - If you have like a couple of divs
00:13:14: and you wanna organize them in a grid,
00:13:17: you can search for HTMLs, CSS grid
00:13:20: and you will find solutions.
00:13:21: And that is how you can then get started
00:13:25: and start building stuff.
00:13:27: And as you'll do that, you'll see progress
00:13:30: and it'll get easier and easier
00:13:32: because you don't have that one big project,
00:13:34: but multiple super small milestones.
00:13:37: I think that's one way- - Yeah, that's true too.
00:13:38: - That can work for getting started.
00:13:39: - Yeah.
00:13:40: Is there actually one specific,
00:13:43: let's call it source of information you recommend?
00:13:46: So not only video courses obviously,
00:13:49: but do you recommend to get started with maybe blog posts,
00:13:52: books, articles, tutorials, YouTube videos,
00:13:54: for example, not paid courses?
00:13:56: Is there any kind of blueprint?
00:13:57: Obviously not, I guess,
00:13:58: but do you think there is some kind of...
00:14:00: Or let's say in other words,
00:14:02: let's say you take a tutorial,
00:14:03: a video course, whatever,
00:14:04: how can students find the right point in time
00:14:07: where they say it's enough?
00:14:09: Because as I mentioned,
00:14:10: we figured to get started with Python.
00:14:12: I could say I need the basics to build my game,
00:14:15: as you also mentioned,
00:14:15: but it's hard to find that point where you say,
00:14:17: "Okay, I got enough, now I wanna try this on my own."
00:14:20: Is there any kind of thing you have in mind,
00:14:23: based on your experience where you say typically,
00:14:25: if you understood,
00:14:26: I don't know,
00:14:26: if you have the feeling you can write some code on your own,
00:14:29: then you're ready, or is there...
00:14:30: You have to say it, I guess. - Yeah.
00:14:31: So yeah, I think video courses are great
00:14:36: if you are starting with a topic
00:14:39: where you know very little about,
00:14:41: because the great thing about a video course
00:14:43: is that you got a clear structure,
00:14:45: that you got someone who's guiding you through a technology,
00:14:50: that you see it in action.
00:14:53: And that this structure is super helpful, at least to me.
00:14:58: But at a certain point,
00:14:59: if you watched, like, your first video course,
00:15:02: if you took our HTML bootcamp course,
00:15:05: our web development bootcamp course, which is a huge course.
00:15:07: - Yeah.
00:15:08: - But let's say you just went
00:15:09: through the first couple of hours
00:15:11: and I'll get back to when to leave a course in a second.
00:15:15: But let's say you watched it for a couple of hours.
00:15:18: Well, if you then decide,
00:15:20: "Okay, now I wanna build that tic-tac-toe game.
00:15:22: I learned something about HTMLs,
00:15:24: something about CSS and a bit about JavaScript.
00:15:27: I wanna build that game."
00:15:28: You leave the course and you start building
00:15:30: and then you encounter problems.
00:15:32: Now, you won't find the answers
00:15:34: to your problems, very likely at least,
00:15:36: not in that course.
00:15:37: Because in that course,
00:15:38: it's likely there won't be a tic-tac-toe game.
00:15:43: Maybe there is, but chances are there isn't.
00:15:45: There probably isn't the exact solution you need.
00:15:49: There might not be a project
00:15:50: where some grid is being drawn onto the screen, for example.
00:15:53: So, the course won't help you there.
00:15:55: It gives you the general knowledge, the foundation,
00:15:58: but it will not give you specific solutions
00:16:01: for specific problems.
00:16:02: What I prefer there is good old Google,
00:16:05: or nowadays, also ChatGPT.
00:16:09: Write down your problem, ask ChatGPT
00:16:12: and/or Google it and read Stack Overflow posts
00:16:15: and blog posts you might find,
00:16:16: and then piece together those different pieces
00:16:20: of information and apply them to your problem.
00:16:23: One note about ChatGPT,
00:16:25: it's of course a great help and you should use it.
00:16:28: What I would not recommend doing
00:16:30: when learning something is asking, copy and pasting,
00:16:33: and continuing,
00:16:34: because you might have a working solution
00:16:36: but you didn't understand it.
00:16:38: And that will be a problem
00:16:39: if you then face more complex problems
00:16:42: where ChatGPT does
00:16:43: maybe not give you the best solution right away.
00:16:46: Because if you don't understand
00:16:47: at all what you're copy and pasting,
00:16:49: that's not learning,
00:16:50: that's just hacking something together,
00:16:52: which sometimes can be right if you are under time pressure,
00:16:55: if you don't wanna learn something,
00:16:56: but you just want the result.
00:16:58: But if you wanna learn something,
00:16:59: I would recommend understanding what you're using
00:17:03: and not just copy and pasting.
00:17:05: - And I guess regarding the point when to leave the course,
00:17:07: I think the web dev example is a great one
00:17:09: for beginners specifically,
00:17:11: because I guess the course gives you the foundation,
00:17:13: the entry point into this web development world.
00:17:16: - Yeah.
00:17:17: - So it tells you the basics about what is a website,
00:17:19: what does the browser do, what is HTML,
00:17:21: what is CSS? - Yeah.
00:17:22: - How can my thoughts or my notes be transferred
00:17:25: into a website?
00:17:26: How can the...
00:17:27: Can I bring this to the screen in the browser?
00:17:29: So, these are the basics the course can teach you
00:17:32: very well structured
00:17:33: and quickly actually. - Yeah.
00:17:34: - And you can always come back to the course, I guess,
00:17:36: if you want to explore something.
00:17:38: - Yeah, absolutely. - In more detail.
00:17:40: But as you said, it's not required at the beginning.
00:17:42: You have to get the solid foundation,
00:17:44: as I mentioned, the entry point into this world,
00:17:47: and then start building projects, googling things,
00:17:50: checking Stack Overflow, ChatGPT, whatever.
00:17:52: And with that, you should be at the point quite soon,
00:17:55: quite fast depending on your knowledge level and so on.
00:17:59: But you build that first project.
00:18:01: And this brings us actually to the next step
00:18:03: when it comes to this escaping tutorial hell stuff.
00:18:05: Once you finish building your first project,
00:18:08: you probably faced lots of different problems.
00:18:10: And that's actually,
00:18:11: we have some list here obviously,
00:18:13: another point we wanna talk about, right?
00:18:14: - Yeah.
00:18:15: - So how can you then take the knowledge gained
00:18:17: in your first project,
00:18:19: so the problems you saw,
00:18:20: to further grow as a developer maybe.
00:18:22: - Yeah.
00:18:23: Just one note before I get there,
00:18:25: regarding leaving a course,
00:18:27: as you said, we have this web dev bootcamp
00:18:30: and it's just a great example because it's a huge course.
00:18:32: It's this 100 days course
00:18:34: where you can learn all the fundamentals you need
00:18:37: as a web developer in 100 days.
00:18:39: And therefore, it's a huge course with many hours.
00:18:41: It has over 70 hours, I think.
00:18:43: It's a really huge course,
00:18:45: and you can take it with that 100 days of code challenge,
00:18:50: and it's structured
00:18:51: such that you can finish it in 100 days easily.
00:18:54: But you should always stay flexible in your mind
00:18:58: and feel free to leave a course at some point
00:19:02: and come back to it later.
00:19:03: But we can only encourage students
00:19:05: to not just take the courses
00:19:07: and not just follow along with the course examples,
00:19:10: which, of course, you should do,
00:19:12: but also take a step back
00:19:15: and apply your knowledge to your own projects,
00:19:18: even if that means
00:19:19: that you don't have all the knowledge yet,
00:19:22: but that's now the point you meant.
00:19:24: When you build something,
00:19:26: you'll encounter problems,
00:19:27: you'll find solutions
00:19:29: with help of Google, ChatGPT and so on.
00:19:31: And you'll of course then also see
00:19:33: what you should learn next. - Yeah.
00:19:35: - Because you now know, okay,
00:19:38: I had a lot of problems with getting that thing to work
00:19:42: with JavaScript.
00:19:42: In the tic-tac-toe game,
00:19:44: I had a lot of problems with writing the JavaScript logic
00:19:48: that switches players and then places the X's and the O's
00:19:52: on the game board.
00:19:54: And therefore, I should probably dive deeper into JavaScript
00:19:58: and how to manipulate a website with JavaScript next.
00:20:02: And that's just one example.
00:20:03: And that's how you can then also go back
00:20:07: to courses or tutorials
00:20:09: and have a plan on what you wanna learn next.
00:20:12: - And that's a very good point, I think,
00:20:13: because this also is the difference
00:20:15: between just following tutorials
00:20:18: and finding out about this advanced topic
00:20:20: and that advanced topic without any background.
00:20:23: - Yeah.
00:20:24: - If you have the problem in your project
00:20:25: and see, okay,
00:20:26: I have to dive deeper into JavaScript, into databases,
00:20:29: you see the reason why a specific technology exists
00:20:32: because it solves a problem you faced.
00:20:33: - Yeah.
00:20:34: - But if you just keep adding technologies and technologies,
00:20:37: you never have the real world experience
00:20:39: to understand why these exist.
00:20:41: In theory, you understand it based on the course,
00:20:43: based on the blog post, whatever.
00:20:45: But that's actually the important thing about own projects
00:20:48: and about analyzing projects you build
00:20:50: because you then naturally dive deeper
00:20:53: into this programming world.
00:20:54: - Yeah.
00:20:55: - And this is also something a course can teach you.
00:20:57: Once again,
00:20:58: a course can then teach you the advanced technology,
00:21:00: of course. - Yeah.
00:21:01: - And get you started with this technology.
00:21:03: That's the good thing again.
00:21:04: - Yeah.
00:21:05: - In my opinion.
00:21:06: - That's absolutely right.
00:21:07: There is a high danger of totally over-engineering something
00:21:11: or trying to over-engineer something.
00:21:13: If you just listen to all the different experts
00:21:17: and influencers on X and YouTube and wherever,
00:21:20: and if you just listen or take courses
00:21:23: and then pick up what you learned there,
00:21:24: because, of course, all these different technologies
00:21:28: and frameworks and languages and things exist
00:21:31: for a good reason to solve certain problems.
00:21:34: But you might not have those problems in your project.
00:21:38: Take something like Docker for example, super useful tool
00:21:42: for creating basically encapsulated environments
00:21:46: in which your code runs,
00:21:47: which can simplify the process of deployment
00:21:50: or shared development.
00:21:52: But it's an advanced technology.
00:21:53: It will matter a lot if you're working on bigger projects
00:21:57: or in bigger companies,
00:21:58: in teams with many developers,
00:22:00: if you have like a highly dynamic deployment process.
00:22:03: But does not matter
00:22:04: if you are building your own first basic website,
00:22:08: or even if it's a bit of a more advanced website,
00:22:10: you don't necessarily need all these technologies.
00:22:14: You don't need a database that's automatically replicated
00:22:18: to 10 different locations all over the world.
00:22:21: That might be nice to have,
00:22:22: and it might be important for certain companies
00:22:25: or depending on the size you achieved
00:22:27: and the scale of your application,
00:22:29: but it's not important if you're getting started.
00:22:31: - And I guess it's the impression in the internet nowadays
00:22:33: that every developer has to be full stack,
00:22:35: has to know everything by heart.
00:22:37: I think that's not the truth, in my opinion.
00:22:39: Of course,
00:22:40: there are experts who know not everything, but a lot.
00:22:43: - Yeah.
00:22:44: - But you can also be an expert in your specific field,
00:22:45: in your area. - Yes, of course.
00:22:46: - I don't think it's the...
00:22:49: I don't think it motivates people
00:22:50: if they only see the people
00:22:52: that claim at least you to know everything,
00:22:54: because this is mostly not true, I guess.
00:22:57: - Absolutely not.
00:22:58: - And secondly, how can you ever become an expert
00:23:01: if you only look at these experts and say,
00:23:03: "Okay, this is so far away from my skill level,
00:23:05: I can never do that."
00:23:06: You won't get even started in the end
00:23:08: because you say, this is the mountain I have
00:23:10: to climb is so high, forget it.
00:23:11: And that's not a good thing to have in mind
00:23:14: when learning new things.
00:23:15: So you should actually, in our opinion at least,
00:23:17: follow this goal setting logic
00:23:19: and then apply the things you just talked about
00:23:21: to then continuously grow and evolve.
00:23:24: That's the more important thing.
00:23:26: And actually it doesn't stop there, right?
00:23:29: It's a repetition process or a repeating process actually.
00:23:34: So you build your first project,
00:23:35: you sort your problems,
00:23:36: you face these,
00:23:37: you analyze the projects,
00:23:38: then you can either refactor your initial project
00:23:40: or start a new one.
00:23:41: - Yeah. - Maybe more advanced one.
00:23:43: And so dive deeper into this whole topic
00:23:46: that you wanna explore. - Yeah.
00:23:47: - I think that's the next important step
00:23:48: or the maybe last, you could say,
00:23:51: of this whole escaping career, whole topic.
00:23:54: So you had the first basic Python game,
00:23:56: so would you then build a completely different project
00:23:59: that covers, like I said, other topics like databases?
00:24:02: Or is there a way how you would naturally dive deeper
00:24:05: into a programming language?
00:24:06: Is there anything you have in mind when it comes to this?
00:24:10: - Yeah, so I think as you said,
00:24:14: it's important lifelong learning.
00:24:16: It's a big term.
00:24:17: But, of course, there is always something new to learn.
00:24:20: And as you said, by the way,
00:24:21: of course nobody knows everything.
00:24:24: No matter how long you've been working as a developer,
00:24:27: there's always new technologies you can learn.
00:24:29: There will always be a lot of languages,
00:24:31: programming languages, a lot of technologies you don't know
00:24:35: and you don't wanna know because you don't need them.
00:24:37: So that's really important.
00:24:38: And I guess you can start playing soccer
00:24:41: without having the skillset
00:24:45: or even with knowing that you'll never have the skillset
00:24:47: of Cristiano Ronaldo, for example.
00:24:49: So, but yeah, that's just an extreme example.
00:24:52: Most people are not Cristiano Ronaldo and still successful.
00:24:55: So that's all great.
00:24:57: But when it comes to your main question,
00:24:59: how to continue and how to pick projects,
00:25:02: I'd say try building stuff
00:25:05: that's either useful to you.
00:25:07: So for example, my dad, it's a true story,
00:25:10: used to work as a programmer years ago,
00:25:13: so like dozens of years ago.
00:25:15: And then, yeah, he then became a project manager,
00:25:18: but now he's retired and he now needed a simple script,
00:25:22: a Python script that would basically,
00:25:25: that they have a pool in their garden
00:25:26: that would basically turn on the pump there
00:25:29: every couple of hours,
00:25:31: so to keep the water circulating
00:25:33: so that it doesn't freeze if it's super cold
00:25:36: as it's been the last days.
00:25:38: And so he had a project
00:25:40: where he needed that basic script
00:25:43: that would basically open a website by their,
00:25:47: the provider who...
00:25:49: well, and a website where he can administer that pump
00:25:52: and then turn it on and off every couple of minutes.
00:25:55: And he had that goal
00:25:56: and he then learned just what he needed
00:25:58: to write that script.
00:26:00: Obviously, because my dad now is not interested
00:26:03: in getting an expert in Python anymore.
00:26:05: He just wanted to solve the problem.
00:26:07: But that's one thing. - Yeah, that's cool.
00:26:08: - That you have like a specific problem you wanna solve
00:26:11: and you then set that as your goal.
00:26:14: Or maybe you don't have a specific application
00:26:17: or website you need,
00:26:18: but maybe you have a certain goal where,
00:26:21: what you want to use that technology for.
00:26:23: Do you want to work as a freelancer?
00:26:25: Do you want to get employed and get a job there?
00:26:28: And then you can simply start building a portfolio for that,
00:26:32: a portfolio of dummy projects, which you wanna show off.
00:26:34: And you can gradually get more complex
00:26:37: regarding those portfolio projects.
00:26:39: Start with your CV website,
00:26:41: build something like that tic-tac-toe game,
00:26:43: maybe build a to-do list management app next.
00:26:47: - Yeah.
00:26:48: - Or build a very simple e-commerce website.
00:26:49: Not super complex,
00:26:51: but a basic one with products, a shopping cart,
00:26:54: and a dummy checkout flow.
00:26:56: And that's also important, I think,
00:26:58: regarding the projects you pick,
00:26:59: you should also not become too complex
00:27:04: regarding the features they should include.
00:27:06: It's okay to build an online shop,
00:27:09: which only works partially.
00:27:11: Focus on the parts you wanna practice next.
00:27:15: That's one recommendation.
00:27:17: - That's great,
00:27:18: and I think the example of your dad is also great
00:27:19: because it shows you that the problem doesn't have
00:27:21: to be extremely complex, right?
00:27:23: - Yeah, absolutely. - It can be real world,
00:27:24: relatively simple problems,
00:27:26: but the solving of this problem
00:27:28: or solving this problem can be a bit complex.
00:27:30: So that's a cool thing, I guess.
00:27:31: - Yeah.
00:27:32: - So we shouldn't overthink things I guess here.
00:27:33: Once again, think about simple problems,
00:27:35: simple things you want to build.
00:27:36: And as you said, this portfolio page,
00:27:39: this simple e-commerce shop,
00:27:40: these are of course not new concepts.
00:27:43: - No, absolutely. - These are pretty well known,
00:27:45: but these are pretty well known
00:27:47: because they work,
00:27:47: in my opinion. - Yeah.
00:27:48: - These are things, if you create these, you learn.
00:27:51: And that's the core thing behind these projects, right?
00:27:53: - Yeah.
00:27:54: - So, I guess these are our main takes though,
00:27:57: on this whole tutorial hell thing.
00:28:00: Is there anything else you want to add?
00:28:01: - Yeah, I got one more thing,
00:28:03: and that's what I briefly mentioned
00:28:05: regarding what's your ultimate goal?
00:28:09: Are you learning it for as a hobby?
00:28:11: Well, in that case, great.
00:28:12: You can build lots of hobby projects
00:28:14: because that's why you started it, right?
00:28:16: Or build utility applications
00:28:19: that you can use in your day-to-day life
00:28:21: or your own personal mobile app
00:28:22: that solves a specific problem.
00:28:25: But if your goal is to get a job
00:28:27: or to work as a freelancer,
00:28:30: you, of course, have to make that jump at some point.
00:28:33: And don't postpone that
00:28:36: to learn just another technology, just a bit more.
00:28:39: Instead, no, get that foundation that you need
00:28:42: that's listed in the job description, for example.
00:28:45: And by the way, you never need to meet all the requirements
00:28:48: that are listed there.
00:28:49: just try to meet the majority, I'd say.
00:28:52: And you need the foundation
00:28:55: and then apply for the job.
00:28:56: It's the same thing when working as a freelancer.
00:28:59: I started off as a freelancer
00:29:01: and it can be super scary to, like, get your first clients
00:29:05: and to being afraid
00:29:07: that they may might have demands you can't meet
00:29:11: that they need something you don't have the knowledge for.
00:29:13: But guess what?
00:29:14: You'll find a solution.
00:29:16: you'll get it done.
00:29:17: And that is how you learn the most.
00:29:19: Because ultimately, if you never make that jump,
00:29:22: you'll be stuck in that tutorial hell forever.
00:29:25: And you need to get out of there.
00:29:26: You need to step out of your comfort zone, I guess.
00:29:29: And then also tackle your ultimate goals.
00:29:32: - Yeah.
00:29:33: And with all that in mind,
00:29:35: you should still enjoy the learning process.
00:29:37: - Oh, absolutely.
00:29:38: - It's not always pure pleasure.
00:29:39: That's obvious.
00:29:39: It can be hard, but in the end, you should enjoy this.
00:29:42: You should keep in mind,
00:29:43: as you said, you don't have to know everything by heart,
00:29:47: especially not at the beginning,
00:29:48: but also if you're more experienced,
00:29:50: you don't know everything by heart, right?
00:29:51: - I know.
00:29:52: - You also look up things that's not something-
00:29:53: - Of course, all the time.
00:29:54: - And that's not something bad.
00:29:55: That's pretty normal
00:29:56: because why would you remember all these things?
00:29:59: You don't have to,
00:29:59: but you have to understand the concepts behind it.
00:30:01: - Yeah.
00:30:02: - You have to know what you need at a certain point in time
00:30:04: in your project.
00:30:05: So I guess that's always important
00:30:07: because if it's only a, "I have to do this, this and that,"
00:30:10: this isn't fun.
00:30:11: And if you don't and show what you do,
00:30:12: you won't become good at it.
00:30:14: At least in my opinion. - Absolutely.
00:30:15: - So I don't think this works.
00:30:16: - Ultimately as a developer,
00:30:17: you must be able to find solutions for problems.
00:30:20: - Yeah.
00:30:21: - Because you'll face problems all the time.
00:30:23: And as you said, and that's a very good point,
00:30:25: you'll not know those solutions by heart
00:30:28: because all these problems are different.
00:30:30: I got years of experience,
00:30:32: dozens of years of experience by now.
00:30:34: And still, there's always some problem,
00:30:39: which I haven't encountered before,
00:30:41: where I don't know the solution by heart,
00:30:42: where I have to try things out,
00:30:44: where I have to do some research
00:30:45: and apply all the knowledge I got
00:30:48: to find and form a solution.
00:30:50: And that's ultimately what it means
00:30:52: to be a developer.
00:30:53: - And that's the point.
00:30:53: Experience makes you seeing the problem
00:30:56: and knowing the solution and finding the solution fast.
00:30:59: - Yeah. - That's the thing.
00:31:00: You know what you wanna achieve
00:31:00: and you find the way how to achieve it.
00:31:02: - Yeah.
00:31:03: - As a beginner, you see the problem
00:31:04: or maybe you don't even see the problem.
00:31:06: - Yeah.
00:31:06: - That's the problem.
00:31:07: You see one problem, but not the real one.
00:31:08: - Yeah. - And then you're stuck.
00:31:09: And that's basically what you have to avoid.
00:31:11: And this can hopefully be done
00:31:14: with the things we discussed now
00:31:15: in this episode of our podcast.
00:31:18: Is there anything else you want to add?
00:31:20: - No.
00:31:21: I think it's exactly about that.
00:31:24: Becoming a problem solver,
00:31:26: and you do that by gathering experience,
00:31:28: by building stuff,
00:31:29: and by stepping out of your comfort zone.
00:31:31: - And of course, also by buying our courses.
00:31:34: No its... - Yeah, of course no.
00:31:36: I mean, that's a fair point.
00:31:38: Of course, courses are a vital part, right?
00:31:40: - Yeah. - Tutorials are.
00:31:42: And they give you this structured learning experience.
00:31:44: We do create them for a reason.
00:31:46: - Yeah.
00:31:47: - But it's all,
00:31:48: as always in life,
00:31:49: it's the combination of things.
00:31:50: It's never the extreme.
00:31:51: - It's a package in the end, right?
00:31:53: - Yeah.
00:31:53: - So you have to have different things
00:31:54: to achieve what you wanna achieve.
00:31:56: But with that, I think we are done.
00:31:58: So yeah, thanks for listening to us.
00:32:01: - Yeah, thank you.
00:32:02: And feel free to share your thoughts on tutorial hell,
00:32:07: how you think you can get out of there,
00:32:09: what it means for you.
00:32:10: We're super interested in hearing about that.
00:32:12: - Indeed.
00:32:13: - Thank you.
00:32:13: - So then, see or hear you in the-
00:32:15: Oh, hear us in the next episode.
00:32:17: - Yeah, exactly.
00:32:18: - Bye. - Bye.
New comment