DEV Community

Discussion on: My Web Development Study Plan For 2021

Collapse
 
lexiebkm profile image
Alexander B.K.

Seeing that now I have sufficient time to learn things, I want to update my plan
according to the things mentioned in this fine article.

Back To Basics :

Number 1,3,6
The main reason is I am not a single full-stack developer anymore.
That means it is likely that I will be working in a team where codes will be reviewed by others.
I would add Closure, some methods like Call, Apply that relates to the this operator.

Refreshers :

Number 1: ReactJS documentation

  • Context, Render Props, HOC for Class Components
  • Hooks : I have just resumed my learning on this after long suspension, started yesterday Well, after reading fundamental topics in State and Effect Hooks, I think I will still like class components that have been working quite nicely in my last project. I will use Hooks only whenever I think they are suitable for those similar cases which are explained in the doc.

Number 3 and 4: Unit Testing and E2E with Cypress
Well, due to lack of time, I ignored all things about testing during my development of my last project which was also my 1st real project, except end to end (E2E) testing.
I only did E2E in my own way, not according to any standard or popular ways.
Now that I will have time, my mind is also on testing; when reading topic on testing in React doc, I find the tools for testing like you mentioned, including Jest which is supported by React by default when using Create-React-App.

Number 6 Typescript
Like I said elsewhere, this is necessary, because I have just got started with Angular a couple days ago, in more serious way. My mind is towards large scale/enterprise apps, in which according to experienced developers, Angular is more suitable.
I think I am starting to like the way, the paradigm, the approach Angular takes in building a SPA.
For me, having skills in both frameworks/libs will be useful as well as satisfying, like driving both automatic and manual transmittion cars.

Going outside of my comfort zone

Number 3 REST APIs :
This is always on my mind, as I haven't had used it in a real project. All of the backend code for routing in my last project using Laravel were done by my own way.
Now, even as for using Laravel itself, I need to do it in a correct way, according to best practices.

Number 4 Sequelize :
In this case, I will apply it for MySQL

Beyond those mentioned in the article for this backend section, I will explore the following things :

  1. Node.Js :
    Read thoroughly about fundamental concepts. Maybe I will try some APIs like filesystems, buffers, etc

  2. Continue learning Express, esp Middleware and writting a CRUD database app

  3. Resume exploring NestJs to see whether it will be the framework of choice among all available Node.js frameworks
    I am not really fond of NextJs for serverside rendering; it is NestJs that I am looking for. Both have similar names : Next and Nest, but serve for different purposes.

After all these things are covered, I plan to get started with Microservices. Prior to it, I want to resume my learning on Software Architecture.
Uh... actually I still have interest in mobile dev using React Native, Flutter or Java.
That's why Java is still always on my mind, not only for Android, but also for enterprise app. And .Net Core with C# are also very interesting. Not to mention Python, especially for AI, Machine Learning.

Well, sorry for lengthy response.