DEV Community

Discussion on: Should I quit my career?

Collapse
 
ggorantala profile image
Gopi Gorantala • Edited

This is a common mis-conception most of the developers have. No one has become expert in a single day. It takes time for mastering a skill. All it requires is a little bit of your time and dedication.

The people who you are comparing yourself with aren't some giant warriors with gifted knowledge. They spent time and understood things, learned from their mistakes and advises from others.

I am no master myself and trying to get better of me everyday.

Try this,

  1. Don't start learing React, right now. Before starting with react you need to know some basics of JS, destructuring, ES6 syntaxes, promises etc.
  2. Learn JS basics, do problem solving for couple months to get strong with JS and logical thinking. This helps you ace coding interviews as well. I would recommend structy.net by Alvin.
  3. Once you get a good hold of JS, now start with React.

Here is my advise!!

Developers, you can buy React course by Stephen Grider and Andrei Neagoie on Udemy. BUT.. why can't you learn by doing?? Start writing something it won't come up... read documentation reactjs.org its the best site that gives insights on each and every line of code you write.

I am a Full Stack developer will over 10 years and been working on React for over 4 years now. I would say you don't mimic already existing applications.

Here are some of my ideas which if it helps, try it and if it not, please don't hesitate to ask questions.

For starters, learn the basics that's enough, don't go deep...

  • First bootstrap a react application with CRA or any boilerplate code.

  • I would recommend using functional components with hooks and materialUI, react-hook-form for form data, react-query for queries, etc..

  • Now think of an idea or app you wanna build. I recommend you build an app that represents your resume (more or so a portfolio website). You can showcase this to recruiters once it's production-ready. ;)

  • Don't build re-usable components right away..

  • Start simple, go check StackOverflow and get some ideas in building navbar, sidebar, or check for ideas to do them.

  • Now, write some code and bring up the app.

  • Hardcode data, for now, there is no rush in getting data from API, and don't mess the code right aways with APIs, databases, etc.

  • Once your app is ready with hardcoded data.

  • I would recommend FIREBASE as your database, everything JSON and you'll love it.

  • Connect the Firebase with your app. Get some data and refactor the hardcoded data with API data.

  • Now where you feel you duplicated code, make them a reusable component. Like Modal, Button, TextField, Notification, Select, Image, FileUpload, ToolTip, Router Link, etc.

  • Now once this is up and working... install redux and inflate the state. Connect the store and get it ready.

  • By this time you're hands are dirty and you know what's happening within the app.

  • So now you are an intermediate React developer --------------

Do you want to become an expert?

  • Have an API wrapper that takes the request and serves you API data. This will be a pattern all your XHR requests follow.

  • Each Component should serve a single purpose, if you think the feature you're adding should be separated, don't hesitate... Just separate, and later you can more shine on this code.

  • Check for code quality, your code should not flood the state.

  • Now, check how many times each of your components is rendered. use useCallback or useMemo to reduce the number of re-renders, this will lower the burden on DOM.

Note: You can use NextJS to do the same and it will really be cool. GoodLuck.

Don't buy all the paid courses. There are plenty of online free resources available and they would definitely help you. Spend a week determined and if you still feel there are bits and pieces missing. You can always buy a paid course.

Collapse
 
gauravsoni97 profile image
Gaurav Soni

Thanks you so much for detailed explanation