DEV Community

Cover image for 5 Free Tutorials You Should Complete to Master the Back-End
Saeed Ahmad
Saeed Ahmad

Posted on • Updated on

5 Free Tutorials You Should Complete to Master the Back-End

BackEnd

Recently, I came across an article, which listed famous frameworks for Back-End Development. In this regard, I compiled this piece of information for beginners. It contains a short intro of framework in discussion, usage in industry and free tutorial which beginners can use to master that framework.

So, let's dive in!

1. Express :

Express.js

Due to skyrocketing popularity of Node.js, Express is quickly becoming one of the most trending frameworks nowadays.

Express provides a fast, minimal and quick API to make RESTful APIs. It's relatively easier to setup and is easy to learn.

Usage in Industry : Popular in Accenture, Uber, IBM and many other companies.

Tutorial : Express.js & Node.js for Beginners - Full Tutorial

2. Django :

Django

Django is an MVC framework of Python. It's also one of the most popular frameworks of the modern times.

It provides built-in APIs and generic classes for building secure web applications.

Usage in Industry : Google, YouTube, Instagram and many other companies.

Tutorial : Python Django Web Framework - Full Course for Beginners

3. Rails :

Ruby on Rails

Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License.

Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pages. It encourages and facilitates the use of web standards such as JSON or XML for data transfer, HTML, CSS and JavaScript for user interfacing.

In addition to MVC, Rails emphasizes the use of other well-known software engineering patterns and paradigms, including convention over configuration (CoC), don't repeat yourself (DRY), and the active record pattern.

Usage in Industry : Popular in Airbnb, GitHub, Hulu, Shopify and many other companies.

Tutorial : Rails Beginner's Tutorial

4. Laravel :

Laravel

Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller architectural pattern and based on Symfony.

Usage in Industry : Popular in 9GAG, Pfizer, BBC, Shopify and many other companies.

Tutorial : Laravel PHP Framework Tutorial - Full Course for Beginners

5. Spring Boot:

Spring Boot

Spring Boot is a Model-View-Controller framework that uses Java, the all-time popular language.

Spring Boot possesses many sister projects that boost its performance and let you scale your business quickly. The fact that it uses Java, a strongly typed language, is a severe pro to many web developers. The learning curve might be quite steep tho, especially if you don’t know Java.

Usage in Industry : Websites like Wix, TicketMaster, and BillGuard are users of this framework.

Tutorial : Spring Boot Tutorial for Beginners

Happy Learning !!!


I am Saeed Ahmad. I love to write about programming, new technologies and innovation. Follow me for more posts like this one here :

[deleted user] image

[Deleted User]

Top comments (55)

Collapse
 
astr0sl0th profile image
Joe Hill • Edited

I'm not sure it's that important to learn all those frameworks/languages as you never really become a master at anything why not pick one and do it well?

Collapse
 
valentinogagliardi profile image
Valentino Gagliardi

this!

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Learning all is not necessary but a mid-level dev should at least know them. For beginners mastery of one language should be the goal. Afterwards, they can move to others.

Thread Thread
 
astr0sl0th profile image
Joe Hill • Edited

You never really master anything in the world of programming and to say you have mastered anything is arrogant. I think you've done well with the title of the post it's very click baity. I just hope new junior developers don't think they have to learn them all as you don't and knowing one well will serve you well throughout your whole career

Thread Thread
 
mrsaeeddev profile image
Saeed Ahmad • Edited

Mastery means one should be good on that language or framework. Everyone knows that you cannot master anything being a human being. I never advised new devs to learn all of them. I re-iterate that one language should be focused. I disagree that knowing one will suffice through whole career. If you work on some fast paced environment technologies also change rapidly and you accordingly as a dev have to evolve with that.

Thread Thread
 
z2lai profile image
z2lai • Edited

While I do appreciate the benevolent intention of introducing new devs to these frameworks, the title definitely sounds like you're suggesting one to complete all five tutorials. To add value to this article, I would suggest leaving out the descriptions of all the frameworks since they all sound the same, and talk about why you're recommending these tutorials - which should be the focus of this article.

Thread Thread
 
mrsaeeddev profile image
Saeed Ahmad

Yup I agree to that. As a developer you are correct, but if you think as a writer, titles have to be a bit of attractive. So, that's why I have made the title like that. Yup. Soon, I would be listing all frameworks, listing their advantages and disadvantages so that the decision is more easier for juniors to pick up the framework of their choice. Thanks for you input BTW.

Collapse
 
__orderandchaos profile image
Order & Chaos Creative

Each solves the same problems in slightly different ways you learn more by trying out a few of them at least.

Some patterns are explained more clearly in the documentation of one or another framework and their popular libraries.

Sure master one of them, but it doesn't hurt to try out alternatives every now and then.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Yeah master one of them and then also taste others. You never know whenever that one becomes trendy.

Collapse
 
etampro profile image
Edward Tam

Because there is not a single one-size-for-all framework that deals with every situation possible in the most optimized manner. It is always good to explore different languages, frameworks and ecosystems to compare pros and cons.

Though, it is probably a good idea to focus one first so that you know what to compare with others.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Exactly Edward. I suggest the same. Thanks for your input.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

No. It is not. It's just to give beginners of an idea of which framework they should choose. Like, if someone knows PHP, then it will be good to get proficient in Laravel as it's more in-demand these days.

Collapse
 
laughingraven profile image
Laughing Raven

Learning frameworks won't help with mastery. Learn HTTP, basic cryptography and database fundamentals. The specific programming language is the least important aspect.

Collapse
 
edimeri profile image
Erkand Imeri • Edited

Not at all. HTTP, basic cryptography, and database fundamentals are quite good to know. But, knowing the art of programming is essential too. Frameworks come and go, but they add quite a value in the market. Since they were built to add business value. Fastening the speed of development.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Yeah I agree it's essential. But knowledge of frameworks is also necessary. And it's not only limited to frameworks, every technology comes and goes but you have to learn that accordingly.

Collapse
 
molecula451 profile image
Paul

These are not programming languages. These are frameworks based on the programming language and they have many different aspects that should be learned in order to actually build something useful.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Yeah exactly.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

You are correct. Concepts should be focused more. But learning frameworks is also an aspect of mastery of backend.

Collapse
 
lampewebdev profile image
Michael "lampe" Lazarski

What? You should learn every popular backend language and its most popular framework on top?

No! Please don't do that

Pick one language and one framework and then stick with it for one year!

If you go the path of the author you will be the master of nothing!

also the first graph is complete bul***it. The frontend was never as complex as it is right now. Just looking at all the new browser API and PWA's.

and yes the backend is also complex but that because of the trend of starting your project that could be a monolith for the next 5 years with 30 micro services but that is a complete different topic.

The first use of that picture I could find on google reverse image search was in 2017. Even back then it was not true.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

No. One should focus on a particular language and stick to that until he's good at it in both backend and frontend. I have just listed them so that newbies can know which frameworks of languages known to them are trending currently.

Collapse
 
lampewebdev profile image
Michael "lampe" Lazarski

your title is saying "X X Tutorials you should complete to master the back-end". that's just not true.

A more fair title would be: "You should focus on one of these 5 back-end technologies" or something in that direction.

Collapse
 
samsonludo profile image
Samson Ludo

Why learn a framework when you haven't learned it's language? And why would you want to be a jag of all trade, master of none?

Collapse
 
ortonomy profile image
🅖🅡🅔🅖🅞🅡🅨 🅞🅡🅣🅞🅝

I LOVE being a jack of all trades, master of none. It gives me the flexibility to work on almost any project I want. That's EXACTLY why I do it. Take some time to develop a sense of empathy. THAT will make you a better developer!

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

I think yes concepts should be focused on. Afterwards, if you reach mid-level of your career, then you need to know at least basics of other frameworks.

Collapse
 
anaibol profile image
Anibal • Edited

I don't think backend is 80% of the effort. I think it's the opposite: front-end apps (spa) take most of the work and logic of an application, the backend just serves authentication, authorization and get and saves data.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Yeah you are correct if we think in the server-side which is older concept and pic in the article also reflects that. If you think in terms of modern web apps, I will say it's 50/50 now. Backend also has many advanced things like caching, different layers, different DBs for different tasks, load balancing etc and client also has got more complex with state management, real time updates to DOM etc.

Collapse
 
woddell profile image
Chris Weir

Think that really depends on the application. If you're working on applications that handle things like billing, email reminders, automated tasks and so on most of the logic would be in the backend.

Collapse
 
safinghoghabori profile image
Safin Ghoghabori

I am confused in between node.js and django and Laravel. Which i have to prefer.?
Actually i am BCA student. Still i am learning new and new language. Although i can't develope any complete website as my own hand. So give me best advise please.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Hey. Thanks for your comment. I think if you are good on JS, then you should pick up Node.js . Django and Laravel are good but they are a bit complicated when compared to Node.js . Then, practice on it so that you can develop a complete web app. In this way, you will feel more confident.

Collapse
 
safinghoghabori profile image
Safin Ghoghabori

First of thank uh for your reply. Btw it means i should learn node.js right. And if i want to be full stack developer based on it,then which languages i should also learn. Or from these which should i learn first ?tell me also this.

Collapse
 
blazephoenix profile image
Tanmay Naik

Neat list. But you don't have to do everything all at once. It might do more harm than good when learning backends. Better to learn the underlying principles which stay more or less the same irrespective of language or framework.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Yup. I have just listed them in case any beginner wants to pursue a language then he can chose given frameworks. However, I completely agree that concepts should be focused instead of languages or frameworks.

Collapse
 
uptoeleven profile image
Simon Brown

Note to newbies: don't get intimidated if you don't know them all by tomorrow. Just make a start.
Note to oldies like me: always a good idea to learn new stuff and this is a great list to start with.
Thanks Saeed.

Collapse
 
edimeri profile image
Erkand Imeri

Don't forget Golang for Microservices. It's getting quite popular.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Yeah exactly.

Collapse
 
rachelsoderberg profile image
Rachel Soderberg

What about C#? Surprised at the lack of mention since the title claims doing these will help you "Master the Back-End" - C# is the preferred language used for Windows backend development...

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Hey Rachel. Thanks for your comment. But my article is more focused towards new trends. So, I don't think it is a good idea for a junior to learn C#, if he's starting backend nowadays.

Collapse
 
rachelsoderberg profile image
Rachel Soderberg

If I may make a suggestion then, I'd change the title to something that indicates that it's focused on trending frameworks/stacks.

As for not suggesting a Junior to learn C#, why not? That's where I started about a year and a half ago and it's treated me very well so far.

Thread Thread
 
mrsaeeddev profile image
Saeed Ahmad

Yeah Rachel. I think that it's great if you have enjoyed working with C#, but my personal opinion in this regard is that one should look forward to learn JS or Python. I think that JavaScript has great ecosystem and also you can move on to hybrid or cross-platform like React Native, Ionic or NativeScript. Plus for Python, I recommend it because of it's extensive usage in Data Science and ML.So, if you work on these languages there's a great chance that you would stumble upon something different which may help you in long term in your career. However, overall I think one needs to be familiar with general programming concepts and once you are done with that you can harness the power of any programming language to solve problems. Yeah exactly, it's more about trending frameworks.

Collapse
 
jcadima profile image
Juan J Cadima

It is good to know these frameworks or at least learn 2 of them.
I work mainly with Laravel and recently getting into django and was surprised at how similar they are, also RoR. Although at the moment i am working only with PHP based frameworks, getting familiar with one or 2 will not only give you a different point of view. Also it will help you jump ship if that time comes later in your career.

Collapse
 
lucian2403 profile image
Lucian2403

What about ASP.NET? Isn't it worth it to be in this list?

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Yeah it is. But I have focused primarily for newbies. So, I personally don't think it's not a good idea to do ASP.NET if someone is starting with web development nowadays.

Collapse
 
mbougarne profile image
Mourad Bougarne

You won't master something just by reading but by practice. Besides it's better to get familiar with a tech then move to another one.

Collapse
 
mrsaeeddev profile image
Saeed Ahmad

Yup bro. Tutorials are meant to be practiced. Agreed 100%.

Collapse
 
trasherdk profile image
TrasherDK

Sadly, I got click-baited again by a headline from dev.to

The title should have said How to avoid mastering the back-end using middleware.

Collapse
 
codeperfectplus profile image
Deepak Raj

Little Correction:- Django is MVT not MVC.

The Model-View-Template (MVT) is slightly different from MVC.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.