- 00:00:00 there is one question which I get quite
- 00:00:02 a bit how long does it take me to learn
- 00:00:05 react or whatever it is and in this
- 00:00:09 video I'll try to answer this though
- 00:00:11 I'll be very honest there is no exact
- 00:00:14 duration for this but I might still be
- 00:00:17 able to help
- 00:00:24 so how long does it take to learn react
- 00:00:27 what would you say
- 00:00:29 well the honest answer probably is that
- 00:00:32 there is no duration you can assign to
- 00:00:36 this there are way too many factors
- 00:00:38 affecting this and it all is important
- 00:00:41 you to find what you mean by learn react
- 00:00:44 because it's not like a recipe a cooking
- 00:00:47 recipe which you'll learn and even that
- 00:00:49 by the way will probably take a bit
- 00:00:51 longer than just the amount of time you
- 00:00:53 need to read it but let's have a look at
- 00:00:55 some of the factors which are important
- 00:00:58 when we speak about learning something
- 00:01:01 and there I'd say of course obviously it
- 00:01:04 matters whether you already have some
- 00:01:06 prior experience with that topic or not
- 00:01:09 is react and of course that's just one
- 00:01:13 example you can replace it with PHP with
- 00:01:16 JavaScript with laravel with angular
- 00:01:19 both note whatever it is so it's the
- 00:01:22 thing you're learning is that brand new
- 00:01:25 to you or have you worked with it years
- 00:01:27 ago for example have you seen it have
- 00:01:30 you seen some talks about it on a
- 00:01:32 conference so is it brand new to you or
- 00:01:34 not obviously that's a big thing because
- 00:01:37 if you already know roughly what react
- 00:01:40 is about and how it generally works then
- 00:01:43 learning it will be way faster now it
- 00:01:46 should be a no-brainer but it's
- 00:01:48 important to keep that in mind when you
- 00:01:50 ask someone how long something takes to
- 00:01:51 learn you need to provide that
- 00:01:53 information do you already know
- 00:01:55 something about it or are you a complete
- 00:01:57 newbie now then it's not just the topic
- 00:02:01 itself but also related topics let me
- 00:02:03 come back to the react.js example if
- 00:02:06 you're learning react and you have never
- 00:02:08 touched it you never read anything about
- 00:02:11 it or not that much but you know how to
- 00:02:14 work with let's say angular then it will
- 00:02:17 not take you as long to learn react as
- 00:02:20 it does for someone who's brand-new to
- 00:02:21 web development because even though
- 00:02:23 react works totally different than
- 00:02:26 angular or has a totally different
- 00:02:27 syntax and a different approach some
- 00:02:30 core ideas are the same you work with
- 00:02:33 components you build a user interface
- 00:02:35 you will need
- 00:02:36 to manage some state and whether you do
- 00:02:38 that with states were the state hook or
- 00:02:41 with properties and classes that might
- 00:02:44 be a different approach but the goal is
- 00:02:46 the same so it will be way easier for
- 00:02:49 you to understand some core principles
- 00:02:51 of react and how it incorporates those
- 00:02:54 if you already have experience with
- 00:02:56 their later topics of course it's not
- 00:02:58 just true for react and angular it's the
- 00:03:00 same for node and let's say PHP if
- 00:03:03 you're diving to know to build a
- 00:03:05 server-side application then there are
- 00:03:07 many many many things that are different
- 00:03:09 than they are in PHP and some things
- 00:03:12 might even be hard to translate or to
- 00:03:14 understand if you're new to know thas
- 00:03:17 but there also are similarities some
- 00:03:20 problems you had to solve in PHP our
- 00:03:23 problems you'll have to solve in no
- 00:03:25 chance something like managing sessions
- 00:03:27 or cookies the general idea behind that
- 00:03:30 it's not something you have to learn
- 00:03:31 again you just have to learn how it's
- 00:03:33 implemented with no chairs so that's
- 00:03:35 obviously important and programming
- 00:03:38 experience in general helps or
- 00:03:40 experience with the the topic or the the
- 00:03:43 area you're working in in general helps
- 00:03:46 if you want to learn let's say power bi
- 00:03:48 which is a tool business intelligence
- 00:03:51 tool provided by Microsoft if you want
- 00:03:53 to learn that and you have never worked
- 00:03:55 with it and you never worked with
- 00:03:57 tableau which is a competitor but you
- 00:03:59 might have worked as a business analyst
- 00:04:02 maybe with Microsoft Excel then a lot of
- 00:04:05 the things you can do with power bi will
- 00:04:07 be familiar to you the way you do these
- 00:04:09 things to where you solve problems
- 00:04:11 that's new that's what you have to learn
- 00:04:13 but you don't have to learn everything
- 00:04:15 from scratch you don't have to learn why
- 00:04:18 you're interested in a certain report
- 00:04:20 we're in a certain statistics so that's
- 00:04:23 the time for programming of course if
- 00:04:24 you've got some programming experience
- 00:04:26 and you're learning let's say a brand
- 00:04:28 new programming language which you never
- 00:04:30 had a look at before and which is all
- 00:04:34 the bread you chew regarding the
- 00:04:36 problems you solve with it let's say
- 00:04:38 you're learning no chess and all the
- 00:04:40 experience you have is with Python and
- 00:04:43 you have used that for server-side
- 00:04:45 development as far well then this whole
- 00:04:47 server-side thing is new
- 00:04:49 but things like variables if statements
- 00:04:52 and all of that that's not new to you so
- 00:04:54 you don't have to learn that from
- 00:04:56 scratch obviously that matters and last
- 00:04:58 but not least or the last important
- 00:05:01 point that comes to my mind is that of
- 00:05:03 course the affinity you have towards
- 00:05:06 programming or towards the the area of
- 00:05:09 the topic you're diving into that
- 00:05:11 matters of course I would say that
- 00:05:13 everyone can learn how to code that's
- 00:05:15 absolutely clear you don't have to be
- 00:05:17 particularly skilled for that but if you
- 00:05:20 have a stronger affinity towards that if
- 00:05:22 you've been that type of person who
- 00:05:24 always had a look at the the editors of
- 00:05:27 video games let's say so the level
- 00:05:30 editors which some video games provided
- 00:05:32 if you always had a look at that then
- 00:05:34 you always were kind of attracted to
- 00:05:37 this world of coding and of getting into
- 00:05:40 the behind the scenes stuff and then you
- 00:05:42 will probably have an easier time
- 00:05:43 learning a proper programming language
- 00:05:46 thereafter for me that was how I got
- 00:05:49 into coding I always started messing
- 00:05:51 around with these editors and in video
- 00:05:53 games you could work on the past like
- 00:05:55 let's say for me the West operation
- 00:05:57 flashpoint which had an amazing tooling
- 00:06:00 for building your own missions and so on
- 00:06:02 and I always worked with that and that's
- 00:06:04 how I got into programming or how I
- 00:06:06 accelerated my my programming learning
- 00:06:08 curve so I think these are some factors
- 00:06:11 that matter but even if all of these
- 00:06:14 factors are clear the duration takes you
- 00:06:17 to learn something depends on what you
- 00:06:20 mean with learn it because it's not just
- 00:06:23 one thing or there is not just one
- 00:06:25 single definition for this here are some
- 00:06:28 possible steps you could think about
- 00:06:30 when we talk about learning a new topic
- 00:06:33 and that's now not from some objective
- 00:06:36 study you were not an official document
- 00:06:38 these are just some steps I came up with
- 00:06:40 and when you learn something new be that
- 00:06:43 a programming language or be that let's
- 00:06:45 say a tool or whatever it is I'd say
- 00:06:48 that the first step you typically dive
- 00:06:50 into is that you have to gather some
- 00:06:52 general information you have to get as
- 00:06:55 much information about how it works and
- 00:06:57 how the syntax looks like which features
- 00:06:59 it has as on as possible you
- 00:07:02 have to dive into every detail yet but
- 00:07:04 you want to get the big picture you want
- 00:07:06 to build some basic things for Dad you
- 00:07:09 would typically use tutorials official
- 00:07:11 documentation some blog articles things
- 00:07:14 like that
- 00:07:15 that's how we all typically learn I'd
- 00:07:17 say and that's the important first step
- 00:07:19 now after that or in combination with
- 00:07:22 that probably you also want to
- 00:07:24 experiment with your knowledge you want
- 00:07:26 to build some some basic very basic
- 00:07:28 dummy projects dive into some examples
- 00:07:31 maybe have a look at some official code
- 00:07:33 examples so that you get a feeling for
- 00:07:36 what you do with that knowledge and how
- 00:07:38 you apply it and you will then also
- 00:07:40 encounter first problems which allow you
- 00:07:43 to get a deeper understanding of why you
- 00:07:45 do something in a certain way or that
- 00:07:47 you might need an alternative to that
- 00:07:50 approach I would say that is that the
- 00:07:52 basics part of learning something and
- 00:07:55 after that you probably have a first
- 00:07:57 understanding for the language or the
- 00:08:00 tool or whatever it is that you learned
- 00:08:02 but you certainly didn't master it you
- 00:08:05 certainly are not an advanced user or
- 00:08:07 developer but you got the basic
- 00:08:09 understanding if that is your goal the
- 00:08:11 learning process is over now and that is
- 00:08:14 then well the duration you can measure
- 00:08:16 but of course the wait time it takes you
- 00:08:18 to learn this depends on the factors
- 00:08:20 which I mentioned now most of the time
- 00:08:23 you don't want to stop at this point
- 00:08:25 maybe you're fine with the basics maybe
- 00:08:27 you just want to get a rough
- 00:08:28 understanding but maybe you also want to
- 00:08:31 dive deeper you really want to become a
- 00:08:33 nodejs developer let's say well then you
- 00:08:36 don't stop here but you progress the
- 00:08:39 logical next step is to deepen your
- 00:08:41 knowledge and that means you now dive
- 00:08:43 into the nitty-gritty details you have a
- 00:08:46 look at the API reference of the
- 00:08:48 documentation you dive into advanced
- 00:08:51 examples into the advanced parts of
- 00:08:53 tutorials and you continue building
- 00:08:56 stuff you continue facing problems and
- 00:08:58 you solve these problems with Google
- 00:09:00 with Stack Overflow so that's where you
- 00:09:02 now get a deeper understanding for the
- 00:09:04 language or for the framework or for the
- 00:09:06 tool which you're working with that's
- 00:09:08 the part where you now really become an
- 00:09:11 advanced where you're on the way to
- 00:09:14 becoming a
- 00:09:15 developer I'd say hand-in-hand with that
- 00:09:18 you then typically also start to explore
- 00:09:20 your own dummy projects more complex
- 00:09:23 projects maybe still focused on certain
- 00:09:26 aspects but still more than just a
- 00:09:29 simple button which you can click which
- 00:09:31 then opens a window so you start
- 00:09:33 exploring and experimenting with the
- 00:09:35 knowledge you gained you dive into some
- 00:09:37 advanced niche cases that process of
- 00:09:40 course will take way longer than the
- 00:09:43 basics getting a big picture getting a
- 00:09:45 first idea that's possible in a
- 00:09:47 relatively short amount of time
- 00:09:50 depending on your prior knowledge and
- 00:09:52 these factors outside of course but now
- 00:09:54 getting an advanced developer
- 00:09:56 encountering certain challenges and so
- 00:09:58 on that will take way longer obviously
- 00:10:01 now last but not least or also
- 00:10:04 simultaneously to the other two steps
- 00:10:06 here to these advanced steps I'd say you
- 00:10:09 also typically dive into the community
- 00:10:11 maybe not actively maybe by only reading
- 00:10:14 on Stack Overflow diving into the github
- 00:10:16 repository if we are working with the
- 00:10:18 open source technology so did you stay
- 00:10:20 updated what's happening there what
- 00:10:22 they're changing what the new next
- 00:10:24 version will bring which issues there
- 00:10:26 are maybe you also contribute you pose
- 00:10:30 the issues you help on issues you
- 00:10:31 provide pull requests you help out on
- 00:10:34 Stack Overflow and that of course also
- 00:10:36 is an important part of growing and of
- 00:10:38 getting better because by well by diving
- 00:10:41 into problems you really get a deep
- 00:10:44 understanding you'll learn about
- 00:10:46 workarounds why something works the way
- 00:10:48 it does and how you can become better
- 00:10:51 how you can grow so which amount of
- 00:10:54 hours would I now assign to each step
- 00:10:56 how long does each step take well it
- 00:10:59 would be nice if we could provide
- 00:11:01 answers your but to be very honest you
- 00:11:03 can't it depends on all these factors I
- 00:11:05 outlined it depends on the technology
- 00:11:07 you're working and it depends on your
- 00:11:09 goal if you are happy with the big
- 00:11:11 picture you can probably get that for
- 00:11:14 most technologies most languages in in a
- 00:11:17 couple of hours if you have some prior
- 00:11:21 programming experience let's say if
- 00:11:23 you're brand new to programming and
- 00:11:25 you're learning a programming language
- 00:11:26 your first programming language
- 00:11:28 it will certainly take you longer than
- 00:11:30 that will take you a couple of hours
- 00:11:32 certainly maybe dozens of hours because
- 00:11:35 you have to learn everything from
- 00:11:36 scratch so really unfortunately there is
- 00:11:40 a clear label you can assign to these
- 00:11:42 steps a clear amount of hours but there
- 00:11:45 is one thing I sometimes also get
- 00:11:48 messages like hey I got an interview
- 00:11:50 next week I need to learn let's say
- 00:11:54 angular how long does it take what
- 00:11:56 should I focus on well first if you've
- 00:11:59 got to interview next week on angular
- 00:12:01 and you don't know anything about it I'm
- 00:12:04 not sure about the recruiters who
- 00:12:05 invited you or I'm not sure about your
- 00:12:07 your resume because it sounds like you
- 00:12:10 kind of lied there and if it's a role
- 00:12:13 where angular knowledge is expected you
- 00:12:15 should maybe think about getting it
- 00:12:17 before you are invited but that's just a
- 00:12:20 side note so if you are now in in a
- 00:12:23 pressured situation if you need to learn
- 00:12:25 it fast well then obviously there is no
- 00:12:27 time to dive into all the advanced stuff
- 00:12:29 instead you focus on the basics stuff
- 00:12:31 then and there you can of course get
- 00:12:36 that big picture in a short amount of
- 00:12:38 time just skip over the docs learn a lot
- 00:12:41 of things by heart so that you maybe
- 00:12:43 don't fully understand them but you hope
- 00:12:46 that in the interview it's enough to
- 00:12:47 learn them by heart and obviously it
- 00:12:49 will depend on the person having you you
- 00:12:52 have to interview with whoever that
- 00:12:54 suffice it or not it might for a lot of
- 00:12:56 interviews but it also does the might
- 00:12:58 not for for others so learning by heart
- 00:13:01 getting that big picture that might be
- 00:13:03 enough and if you were for example
- 00:13:04 needing that knowledge as quick as
- 00:13:07 possible for for a project you have in
- 00:13:10 university or somewhere else you can of
- 00:13:12 course also get away with copy and
- 00:13:14 pasting some snippets which you maybe
- 00:13:15 don't fully understand but which do the
- 00:13:17 job and therefore you might be able to
- 00:13:19 get an application up and running with a
- 00:13:21 rough basic understanding and some copy
- 00:13:24 and paste examples now it's needless to
- 00:13:26 say that neither of these two things
- 00:13:28 even if you combine them makes you a
- 00:13:30 real developer and whilst you might
- 00:13:33 master your interview with that whilst
- 00:13:36 you might complete your project with
- 00:13:38 that if you plan on content
- 00:13:41 Ewing NASA let's say angular developer
- 00:13:44 or whatever it is you should also dive
- 00:13:47 into the advanced part because otherwise
- 00:13:49 it's just like like cheating and at some
- 00:13:52 point of time you'll probably not have
- 00:13:54 success with that so the whole learning
- 00:13:58 process is something you will then still
- 00:14:00 have to go through but you might be able
- 00:14:02 to get that first rough idea in in a few
- 00:14:06 hours so yes that is possible if you
- 00:14:08 have at least some prior experience in a
- 00:14:10 related topic but if you really want to
- 00:14:13 learn it in a sense of I want to be a
- 00:14:16 good developer I want to feel confident
- 00:14:18 using it well that there will take you
- 00:14:20 certainly way longer and actually I'd
- 00:14:23 say it's a process that never ends you
- 00:14:25 might be confident in using that after a
- 00:14:29 certain amount of hours that might all
- 00:14:30 be the case but learning never stops and
- 00:14:33 that's not just a phrase it is the way
- 00:14:35 it is everyone continues learning
- 00:14:37 because also there are new patterns and
- 00:14:39 new packages new approaches emerging all
- 00:14:41 the time so that never stops if that's
- 00:14:43 your goal programming in general might
- 00:14:46 not be your thing so that's it that's my
- 00:14:50 these are my two cents on this topic
- 00:14:53 obviously if you came here to get a
- 00:14:55 clear amount of hours I'm very sorry for
- 00:14:58 disappointing you I hope that these
- 00:15:00 steps and factors still help you judge
- 00:15:03 how long it will take you to ruin
- 00:15:05 something on your own so that you have a
- 00:15:07 realistic estimate and they're realistic
- 00:15:09 expectation of how long it will take
- 00:15:12 hopefully see you in future videos too
- 00:15:14 and all the best in whatever you are
- 00:15:16 learning at the moment bye