Minimum Back-End Technologies to learn

For EXPERIENCED Web DEVELOPERS (full-Stack preferably), PLEASE I NEED GUIDANCE! Please read everything to understand my situation :pray::pray:t6:.

I’ve been learning to code from @freeCodeCamp, and I didn’t know anything about programming before.
I learned a lot like: HTML, CSS, Responsive Web Design (RWD), javaScript & Data Structures, REGEXP, Debugging, React, Redux, Sass, jquery, bootstrap, … And many more.
And after building a lot of projects, I’m not an expert, but I can say that I have a “global view” and understanding of Front-End Technologies ACCORDING TO WHAT I NEED TO BUILD And For MY GOALS About PROGRAMMING.
And out of all these technologies, and knowing what I know now, if I had to learn again, I would just pick HTML, CSS, RWD, JavaScript & DS, React, Redux, SASS. And learn the other Tech Along the way and according to specific project’s needs ( like what I do when I learn a new library for a project ).

Now I finished the Front-End Part, and I want to learn the back end part, but I see a lot of Tech that I don’t have any/little idea about, like DATA VISUALISATION ( D3, JSON, AJAX ), API, NPM, Node, Express, MongoDB, Mongoose, SQL, NoSQL, MicroServices,…
A lot of these are like Chinese for now to me, but I know I’ll understand them once I learn them, … But I don’t just want to learn for the sake of learning, and forget what I might not be using in the future, and waste valuable time, …

Now I want to adopt a more “Standalone” kind of learning by learning things that I need for a specific goal. And my question is?: could you clarify to me what all these Back-End technologies do?
considering that I already know some JS ( not pretentious expert though ), what is the minimum I should know to start building useful Apps?
And by the way, I’ve been reading that MERN Stack is better for various reasons that I don’t really understand for now.
Please help me so I can know what to pick to learn first, instead of learning just all of them at once…

Thank you so much for reading all the Bible, and thanks for your answers​:pray:t6::pray:t6::pray:t6:

The back-end is the term applied to everything that isn’t the “front-end”, where the front-end is code that runs on the client-side browser. (IE HTML, CSS and JS, along with whatever is used to create those things, such as React and SASS).

At the highest level this usually includes 2 main parts:

  1. The server-side code, such as nodejs using expressjs (E and N in the MERN stack)
  • where nodejs is the JavaScript runtime that allows you to write JS, that runs on nodejs, to create “server-side” code, such as using…
  • expressjs, which is a library that helps you create web servers, IE respond to HTTP requests.
  1. The database, such as mongodb (the M in the MERN stack). A database is a service/software that your server-side code interacts with, and it holds/stores/handles the actual data for users. Most apps are backed by some form of database, but not all.

Its possible you can build useful apps without a back-end at all, or use some sort of service that acts as your back-end to some degree. But a traditional full-stack app will have a database, a server-side and client-side code.

The MERN stack’s advantage is you only need to know really 1 language, which is JavaScript. You could however use React, and some other back-end language+frameworks, along with a whole different database. It doesn’t matter.

For example, you could use React on the client-side, and call a web server written in Python, or GoLang, or C#, or Java, etc etc, all of which could be backed by a different database other than Mongodb.

You essentially can replace any part of the stack with other alternatives, but the general idea is almost always the same, where you have a database+server-side and some client-side code.

Its worth mentioning that the Data Visualization curriculum goes over things you’d need for web development of any kind, but also touches on things you might not need.

I’d skim through this section at least to get an idea of what its about, and what you’d learn and decide for yourself if its worth your time. Otherwise you can skip it and focus on the back-end curriculum. If anything, this section can give you more practice on using JavaScript, as you’ll need to be solid with it if your going to be using the MERN stack, as its the only language used within the entire stack.

Hopefully that helps a bit :slight_smile:

Good luck, keep learning, keep building :+1:

1 Like

Thank you so much @bradtaniguchi for your clean and detailed explanation !, I appreciate it!
Yes, indeed, your answers do help, I understand now that there are 2 main parts in the back-end, the MERN stack is advantageously using only one language, and Data visualization is an important but optional for web development section!

I have a practical question If I don’t abuse your time!
Let’s say I built a “built a drum machine app” ( one of the front-end Projects on FCC linkOfTheProject ) and I want to implement a system where a player can log in, play the drum, see his progress over time, and compare himself to other players on the platform, and transfers some data from players to players, …
What are the main technologies from MERN I would use?

Everything but the “R” - that’s React and it is the front end. Mongo, Express, and Node are backend technologies. And you could of course use a MEN backend with any frontend - if they’re designed correctly, they don’t know or care what tech the other is using.

2 Likes

Thank you @kevinSmith !:pray:t6:
So, what about SQL, NoSQL, Microservices, …? what are their main purpose and use in the application or web app?
Sorry for my dumb questions, but I just want to have a clear idea of what I’m about to learn. Thanks again.
@bradtaniguchi @kevinSmith

I highly recommend looking into each of these terms yourself, the same way you’d look into most terms. At least to get an idea of what it is, in relation to what you know. Over time you’ll need to do this less and less, but anytime you run into a word that is “new” you’ll need to find how it relates to what you currently know.

SQL, stands for Structure Query Language, its basically the “language” you’d use to interact with databases. NoSQL, is the term applied to databases that don’t use SQL (which is kinda obvious haha). An example of an SQL database would be MySQL, which is a relational open source database. A NoSQL database would be Mongodb, which uses JSON-like syntax instead of SQL syntax.

Microservices is a term that is applied to an architecture of your application. So for example, if you build out your MERN stack app for the drum machine. You could have 1 back-end nodejs instance running, and 1 database. Except what if your app becomes very popular, and people start asking for more features? Over time this 1 instance can become large, and unwieldy, or whats called a “monolith”. Or it’s a single big piece of code.

You could end up refactoring the code to split up functionality into smaller “services”, that you can then manage separately. They could also talk to each other, and “share the computation” load. This separation allows you to build larger systems, have more fine to control over how it’s built and ran, and provide other advantages.
FreeCodeCamp goes into it more as an example, rather than doubles down on the entire principle. As taking this route all the time has massive drawbacks. All of those services can get unorganized and confusing. However larger companies like Google, and Twitter leverage such architectures, as would any company that has enough resources and demand for such services.

So as you can see these 2 topics aren’t similar in the sense it’s both “tech related”, but there isn’t much in common between them. So grouping them up with something like JavaScript, or Data structures is similar to comparing apples and oranges, or maybe more like apples and burgers ;D

Also keep asking questions and learning about each of these things, but we can only provide short descriptions to most topics. There are vast resources out there to learn each of these on your own (thx Google!) to any depth you’d like. You don’t have to become an expert in all of this, but understanding where they stand, and how they could help (or even hurt!) you will help you on your way! :smiley:

Good luck, keep learning, keep reading :+1:

3 Likes

Thank you so much for making thing much more clear for me :pray:t6::pray:t6::pray:t6:

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.