Coding

Is it possible? My Thoughts!

  • 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