What technologies should a Full stack developer know?

First and foremost, we must recognize that the term “full-stack developer” refers to a mixture of two terms:

  • Development of the front end (what the end-user sees, for example - Instagram)
  • Back-end development (what the end-user cannot see; for example, he may be able to upload things on Instagram, but he has no idea how or where the data that appears in the feed is stored).

Let’s get started with front-end development.

Here, you’d create web, mobile, and hybrid applications that end-users could see and engage with. The following is how it works:

  1. A structure is laid out → HTML5
  2. Add some design to the structure, fill it up with colors, animations, etc → CSS/Javascript
  3. Handle data → Javascript

Go ahead and learn them in order as shown above.
There are a ton of frameworks out there to handle points 1 & 2

  1. Bootstrap
  2. Material design
  3. SCSS/SASS and many more.

Experiment with a few of the frameworks to get a sense of how they work. Point 3 is next, and there are a plethora of frameworks to choose from.

  1. Angular
  2. React
  3. Vue and many others.

Do some projects in each and strive to improve your ability to learn new things rapidly. I recommend starting with React because it has a less steep learning curve than the others. However, it is all up to you. Many real-world tasks necessitate the use of some new technology, so it’s best to keep learning.

The backend technologies come next.

Before you begin, familiarize yourself with the internet, transfer protocols, servers, proxies, DNS, APIs, IPs, authentication, sessions, and cookies, among other concepts.

Then you can delve into one of the following topics in-depth:

  • js/Express.js (Javascript)
  • Flask (Python micro framework)
  • Django (Python out-of-the-box ready framework); and many others.

Choose one and begin working on it on your own. There is no such thing as a decent technology that can be learned. Every technology has advantages and disadvantages.

As a result, whatever the project necessitates, you select the appropriate technology.

You can learn about the various types of databases available today, such as MongoDB (document-oriented), Postgres (table-oriented), and use them in your own projects. Again, there is no one-size-fits-all solution; it all depends on what you want to build.

You can also begin learning about a variety of other important technologies, including

Jest, Mocha, and other testing tools are available.

  • Gulp, Grunt js are task runners that let you to host and distribute code with version control.
  • Github/Gitlab → system
  • Docker → Containers
  • Jenkins, Travis → CI-CD
  • Kubernetes → Container orchestration → and so much more!

What you should take away from this response is that there are numerous technologies that can be used to construct practically anything. All you have to do now is learn and apply what you’ve learned as rapidly as possible.