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

Your name or nickname, will be shown publicly
At least 10 characters long
By submitting your comment you agree that the content of the field "Name or nickname" will be stored and shown publicly next to your comment. Using your real name is optional.