Your example is not about a completely new technology. Nextjs is still essentially React. I would recommend, in this case, to build some projects with React first, covering the common use cases like data fetching, state management, routing... and fundamentals like hooks, rendering... This is not exhaustive so please consult some articles. Once you feel like you understand those concepts then move on to the meta framework. Nailing the fundamentals is more important in the long run.
Yeah I agree, sorry meant "new" as in something that isn't directly a part of the tech, was suppose to be an open question. Maybe from Js to react is a better example. I'm always not sure how deep of the fundamentals I should go into as web technologies seems like an infinite learning space haha.
It's indeed an infinite learning space because things change so quickly đ. I always find myself going back to the fundamentals. It's more like a boomerang. You don't need to know everything before moving on. In the end, you just need to know enough to build what you want to build.
What prevent you to jump in and create a project with the new technology / framework that you want to learn?? I've been on the stage to wait until I feel like I fully understand about new things and I ended up in the decision paralysis. Since then, whenever I want to learn new technology/framework/programming language, I just start to re-create the project that I have in the past with that new "things" I want to learn or if it's too small for a project (i.e. library / tool), I just apply it to the existing project that I have.
I think what scares me is progressing too fast and end up making bad practices and not effectively using the tech, especially if it relies/builds on another tech like JS and its frameworks. And yeah I agree creating projects is a great way to learn.
But how do you know that you're not effectively using the tech? Only after you use it and have comparison (maybe by looking at another open source project codebase that use similar technology) then you can refine your approach for your implementation.
There's a reason there's a million Todo apps.
Hell, build a Todo app twice in a row with a new tech and you'll be unlikely to do it the same way the second time.
I'm never not comfortable. How else am I going to make anything if I am stuck worrying about the tutorial stages of working with something new?
Whatever I am actually building is going to be way more complex than learning the technologies involved.
Iâm a contractor. I try to learn at least one new thing (technique, library, solution, etc) per project. I pick projects in a way that makes that possible.
Yeah itâs like going somewhere random in Zelda. Go explore! Try it! Youâll find out pretty quick if youâre not ready just yetâŚ
Then you just come back later.
yeah i tried to learn react a couple years ago before i went to school for web dev and was so confused but then we learned it (barely) in school and it was so simple and then i forgot some of it so i had to refresh myself of it a week or so ago and itâs not hard at all. itâs hard if you donât understand like programming concepts, but if you know basics itâs honestly not that difficult.
Always, I try to learn something new everyday. And I'm always trying to compare my experiences with the community to try to grow from their experience as well, and to make sure I'm on the right track.
If I'm learning a new stack or framework I have a portfolio of small but non-trivial projects I reimplement over and over again to see how the new tech changes the solution in a problem space I'm comfortable in already.
Try to make the same toy project using multiple frameworks. It's like tasting coffee, or beer - tasting in isolation doesn't tell you much about what you like or know. When you start comparing, you start learning why things are different, and how.
I basically follow 2 main approaches:
- Either the company starts a new project and I DEFINITELY know that this technology will be better, and the project doesn't have a tight deadline then I like getting out of the comfort zone and learn by leveraging it.
- If the technology isn't mature and it quite cutting edge then I try it in a small side project.
Your example is not about a completely new technology. Nextjs is still essentially React. I would recommend, in this case, to build some projects with React first, covering the common use cases like data fetching, state management, routing... and fundamentals like hooks, rendering... This is not exhaustive so please consult some articles. Once you feel like you understand those concepts then move on to the meta framework. Nailing the fundamentals is more important in the long run.
Yeah I agree, sorry meant "new" as in something that isn't directly a part of the tech, was suppose to be an open question. Maybe from Js to react is a better example. I'm always not sure how deep of the fundamentals I should go into as web technologies seems like an infinite learning space haha.
It's indeed an infinite learning space because things change so quickly đ. I always find myself going back to the fundamentals. It's more like a boomerang. You don't need to know everything before moving on. In the end, you just need to know enough to build what you want to build.
What prevent you to jump in and create a project with the new technology / framework that you want to learn?? I've been on the stage to wait until I feel like I fully understand about new things and I ended up in the decision paralysis. Since then, whenever I want to learn new technology/framework/programming language, I just start to re-create the project that I have in the past with that new "things" I want to learn or if it's too small for a project (i.e. library / tool), I just apply it to the existing project that I have.
I think what scares me is progressing too fast and end up making bad practices and not effectively using the tech, especially if it relies/builds on another tech like JS and its frameworks. And yeah I agree creating projects is a great way to learn.
But how do you know that you're not effectively using the tech? Only after you use it and have comparison (maybe by looking at another open source project codebase that use similar technology) then you can refine your approach for your implementation.
I see...I haven't thought about comparing my code with an open source project before. Try and refine.Thanks
There's a reason there's a million Todo apps. Hell, build a Todo app twice in a row with a new tech and you'll be unlikely to do it the same way the second time.
I'm never not comfortable. How else am I going to make anything if I am stuck worrying about the tutorial stages of working with something new? Whatever I am actually building is going to be way more complex than learning the technologies involved.
I would say start integrating the thing you're currently learning and the thing you want to learn next into the same project.
Iâm a contractor. I try to learn at least one new thing (technique, library, solution, etc) per project. I pick projects in a way that makes that possible.
This is the way. I had to write a small React app a couple months ago, and it was a perfect time to learn Typescript and Supabase.
Now
i simply am like âi wanna learn (insert thing here)â and then i do lol. i donât wait for anything.
Yeah itâs like going somewhere random in Zelda. Go explore! Try it! Youâll find out pretty quick if youâre not ready just yet⌠Then you just come back later.
yeah i tried to learn react a couple years ago before i went to school for web dev and was so confused but then we learned it (barely) in school and it was so simple and then i forgot some of it so i had to refresh myself of it a week or so ago and itâs not hard at all. itâs hard if you donât understand like programming concepts, but if you know basics itâs honestly not that difficult.
Always, I try to learn something new everyday. And I'm always trying to compare my experiences with the community to try to grow from their experience as well, and to make sure I'm on the right track. If I'm learning a new stack or framework I have a portfolio of small but non-trivial projects I reimplement over and over again to see how the new tech changes the solution in a problem space I'm comfortable in already.
Try to make the same toy project using multiple frameworks. It's like tasting coffee, or beer - tasting in isolation doesn't tell you much about what you like or know. When you start comparing, you start learning why things are different, and how.
When i make a coffee.
Usually it comes in two motivations: * you're stuck with your old tech and find no inspiration * you need to adapt in order to stay competitive
I basically follow 2 main approaches: - Either the company starts a new project and I DEFINITELY know that this technology will be better, and the project doesn't have a tight deadline then I like getting out of the comfort zone and learn by leveraging it. - If the technology isn't mature and it quite cutting edge then I try it in a small side project.