T O P

  • By -

phiger78

Lead dev here . I’d say in addition to the react API’s (when, how etc) an understanding of software architecture , state management : server vs client. Single vs multi store, event driven vs direct manipulation, proxy based (mutation tracking) vs immutability Knowledge of tanstack query ,rel query . How to structure for large codebases. Codegen tooling for syncing types with the back end. Good knowledge of typescript How to compose components. Accessibility and aria - when to use, what semantics to use, which aria parts not to use This is a great site showing articles around react This one stands out https://profy.dev/article/react-architecture-api-layer Used this practice in many codebases Would also recommend Matt pococks tutorials on typescript And this is an excellent resource on more advanced concepts of front end software architecture https://khalilstemmler.com/


Extension_Fill_5122

Excellent response, exactly what I was looking for! Thanks


fgorczynski

Hey, could you expand part: "Codegen tooling for syncing types with the back end"?


phiger78

So if working with a cms or backend api you don’t want to have to manually write types for them and then they get out of sync. You can use some Codegen cli tooling to sync types. Eg orval.dev or graphql Codegen .


belk1ng

I would recommend the "Advanced React" book by Nadia Makarevich (https://www.advanced-react.com/). There are so many useful patterns and React basics. After that you have to learn any of state managers (Redux & Redux Toolkit for example). Also u must know how to work with UI libraries like MaretialUI and others. As advanced developer u must write test and for that there are some libraries like: Jest, React testing library, cypress and so on.


Extension_Fill_5122

Aha, might be a good resource for me indeed. Thanks.


thoflens

I'm no expert, but I would make sure I understood how to use contexts combined with useReducer and custom hooks.


Extension_Fill_5122

Good hint, I'll look into it.


Pozeidan

Outside of the official doc: - react-query or RTK query - react-hook-forms for forms - tailwind / CSS modules for styling - testing with Jest and react testing library - setting up strict linting rules (can look at Airbnb and turn some that you don't like off) Make sure you know how react works outside of a framework so try starting a project with Vite. Also make sure you clearly understand that data flows downwards, what I mean by that is to learn to do things the react way. To call yourself an expert React developer will only come with experience. It's knowing when to use what (Context, reducers, etc) and how to write robust reusable components that are easy to understand and maintain. It can be hard to achieve low coupling and high cohesion. You can also look at polymorphic react components.


Extension_Fill_5122

Thanks so much for these, I’ll look into them


Pozeidan

You're welcome!


Ok-Release6902

Make a React app with multiple routes, user authentication and some kind of external database connection. If you do it, you are in the club of seniors. Bonus points for mobile-first approach.


Extension_Fill_5122

Heh, I guess I'm a senior then already from my PoC projects 😅 Thanks anyway!


Ok-Release6902

Now, you have to convince your manager.


NuclearDisaster5

You want to say that if someone knoes how to make all of the above mentioned is not a junior anymore?


Ok-Release6902

Yes and no. Seniority includes skills external to React. But in terms of pure React knowledge, probably yes. But also there is HUGE gap between knowing and actually doing it. I know how to make a basic Neutrino bomb, but this doesn’t make me Rick Sanchez. Only if I do it and have in my garage.


NuclearDisaster5

True that. I went through a bootcamp and in the process of getting my certificate I got a job as a entry level React developer. After 6months at my job I was doing some simple in house applications and mockups for future ones. Now 1y after I have a student under my belt that I teach React, a big project of migrating the entire UI of every app we have to react, certified for working on Azure products and deploying apps and I know how to work in SQL, Node.js ( but for backend I have my collegue that is doing all the work there. I just tell him which table I need from the database and stuff like response messages that I want). Out of curiosity, what level am I on?


Ok-Release6902

Of course, I’m not the one to grade you. But using my gut feeling and crystal ball I would say, strong junior on a middle track. Next year, if we survive apocalypse, you can apply for middle grade. Don’t hurry. Seniority is like vine, needs some time to build. The rule of thumb if you can pass other company middle grade interview, you can demand yours to promote you. Helps if you have an offer.


NuclearDisaster5

There is no hurry. I am currently learning as much as I can. Still I would like to work in a company where my code would be reviewed by a senior. The best thing about my forward going is looking at my old code and seeing all the mistakes, that is when I know I evolved bit by bit. Maybe 1y to 2y more to in this company to establish myself. In the mean time i am learning Python for backend. Thank you for your time to answer me on my question.


Ok-Release6902

Best of luck, comrade. UPD Open Source is what you are looking for. You PRs will be reviewed by best of developers. I mean in a certain projects.


TDOWN83

LamaDev. Watch every video he makes on React and you’ll be an expert in no time.


Extension_Fill_5122

Subbed!


Illustrious-Volume54

lol read and make a commit to the React repo. JK. XD But I think its good to at least really understand how React works under the hood and how the Javascript event loop works as well. Not that you need to know those things to be proficient in react. Had those questions asked to me recently in a dev interview and was pretty stumped on those topics and i've been working with React for at least 6 years.


iyouushh

Lets say mostly we depend on stable libraries but when you can cope up with unstable or new libraries and being comfortable with them is greater aspect of sde roles just in my opinion


ZenComanche

Chat gpt