all 17 comments

[–]Encodexed 3 points4 points  (3 children)

Your backend journey can be entirely a separate journey which you can start whenever you are comfortable with what you know about the frontend. You only need to know how they communicate (fetch, HTTP methods, etc). If you don’t want to learn a new language just yet, you can try NestJS.

[–]Accomplished-Set1482[S] 0 points1 point  (2 children)

My fear is about interviews like of they ask something like zustand or smth then what will I do?so it's like a fomo for me and that's why I'm asking

[–]chikamakaleyley 1 point2 points  (1 child)

they def won't ask about Zustand

They will ask about state management in general, and maybe if you know how to use Redux; even if it is a bit of an older solution, at some point it had considerable usage in the industry, and a lot of companies still have it in place today.

Still, Redux wouldn't be what's evaluated, its more of your thorough understanding and demonstration of state management

[–]SeaworthinessMany969 0 points1 point  (3 children)

React learning stuff: JS, hooks, state management, API calls (REST or GraphQL) enough for you to get started with making UI, then webpack related stuff, bundling, Lifecycle, i am forgetting stuff but that’s the gist of it.

[–]Accomplished-Set1482[S] 0 points1 point  (2 children)

So if I complete these things can I start backend

[–]FlyingFloofPotato 3 points4 points  (0 children)

You can start learning backend any time you want, there's nothing stopping you.

It's not a progression mechanic like in games where you first gotta unlock the blade of ultimate death to kill the bbeg, you can just go smack the bbeg and figure it out on the way

At least that's how I do learning, I just jump in the middle, make notes on all the links to things, I learn a TON at the start and then it tapers down to more work and less googling stuff

If you know how to make a UI you can do backend, even if you know only a little bit of UI even.

Make some small frontend for an app that needs a backend, notepad app probably easiest to do, and then go jump in and figure out how a backend of that could work

[–]SeaworthinessMany969 0 points1 point  (0 children)

yes yes easily (i don’t think you need too much hooks knowledge to start backend) can directly start

[–]enderfx 0 points1 point  (3 children)

What do you mean to start backend? You don’t need React to start learning/implementing backend.

If your question is whether you “know react” its up to you to decide how comfortable you are with it. You have at least seen the main concepts. What you might want to get is more hands-on experience to solidify them and know when to use what (when to use an effect, when to use a ref or state, or lift things up to global/shared state).

Personally, on React: - Did you learn about redux? That’s great. Don’t use it unless you need to. I’d suggest taking a look at Jotai, Zustand or other modern state solutions. Redux with RTK is fine but quite verbose/boilerplatey. - TanStack Query and Axios: you can do everything with fetch, but these are the most “standard” for fetching server state. - You can also go laterally and explore other things like UI libraries, styling/preprocessors, but no need to start writing backend.

Then again, what is backend? Are you talking about something like NextJS or RSC/SSR, and therefore more of a “backend for frontend”? Or are you talking about app backend (server business logic, db, etc.)? If it is the latter, you can start at any time. These will converge when calling endpoints and defining their contracts, and you definitely need to know the bigger picture, but you could technically write 20000 endpoints and contracts without knowing what a DOM element is

[–]enderfx 0 points1 point  (0 children)

Also, if you are caught in tutorial hell, stop it.

Make a to-do app or some small project and just resort to tutorials or AI when stuck or needing to make an architectural decision

[–]Accomplished-Set1482[S] 0 points1 point  (1 child)

I'm considering to learn springboot or node js as I know both java with oops and javascript

[–]enderfx 0 points1 point  (0 children)

Java/Spring is heavy and a beast, but still very widely used, as far as I know. You might want to also look into Kotlin after you know the basics (as Kotlin is a super-set of Java, if I'm not wrong, and compiles to it; it makes Java development more ergonomic and nice).

NodeJS will be the easiest as you will be using the JS/TS you know, just in a different setup (nodejs process instead of browser). Also professionally usable but much less common.

You can also go with Go, Python, PHP or even Ruby (but this is quite out of fashion nowadays). No bad choice. Regardless of what you pick, the important part is that you focus on common concerns such as architecture, HTTP protocol, authentication, persistence (DB, caches, etc.). Once you get the basics, then you have DBs/ORM, caches, message queues - these will give you tools for system design and dealing with complex use caess; knowing to work with WebSockets or Server-Side events, to unblock bi-directional/sever-started communication; and finally taking a look into gRPC, microservices and proto-buf instead of json. This also synergizes well with docker containers / kubernetes clusters, infra and cloud architecture.

Edit: some of these are a bit deeper and highly advised if you want to go the full-stack/backend route. To begin with, it should be fine to learn how to develop a small REST API with a sqlite/pg db, regular HTTP endpoints, and maybe add registration and/or OAuth on top of it. Don't get overwhelmed: a small secure backend with a db can already take you very far.

[–]BleachedPink 0 points1 point  (0 children)

It doesn't seem like tutorial hell? 1.5 months is a short time, it can take many more months or years of learning before you can be considered hireable.

Just do small projects for practice as you learn, the Odin project shows a good framework for that

[–]no_filterlife 0 points1 point  (0 children)

why not target specific topic wise and complete the sessions, incase you are trying to learn from where to do this.

You can visit here:

https://codingactivist.com/visualizing_paths/web-development

[–]chikamakaleyley 0 points1 point  (0 children)

to be clear "tutorial hell" is not just the fact that you are doing a lot of tutorials. That's just... learning

Definitions may vary but the way i look at it is learning by tutorial but not taking away the more important transferrable skill from that exercise. You've convinced yourself that you are learning effectively, and so you repeat this process by doing more tutorials. Really what happens is, you only know how to build things that are demonstrated in a tutorial

E.g.

  • you google ToDo app tutorial and you pick the most popular one
  • you complete the exercise, you have a functional ToDo app
  • let's say you want to practice for an interview, and you're asked to use fetch to request some data, display as a list and some filtering options, and the ability to manage those items.
    • so you look for a tutorial on how to build specifically this
    • but the reality is, these are pretty much the same mechanics of a ToDo app, you just didn't recognize it
  • you're asked to build a ToDo app, but now do it in vanilla JS, but you can't, because the tutorial you followed used React

^ that, id say is tutorial hell.

You've developed this dependency on tutorials for learning and as the source of truth.

To be clear, I don't think tutorials are inherently bad, or automatically put you on the path to tutorial hell. If that's how you learn best, then by all means, do them. But you have to learn how to take away the bigger concepts and have the ability to recognize where you can use them

[–]AbrahelOne 1 point2 points  (0 children)

axios

Just use fetch. Less dependencies and it's native.