DEV Community

Solomon Eseme
Solomon Eseme

Posted on • Originally published at masteringbackend.com on

Introduction to Backend Development

In this article, we will discuss extensively what Back-end Development is all about, back-end development tools and technologies, we will go further to talk about the things to consider as a Backend developer, we will move down to roles of a Backend Developer.

Introduction to backend development

Outline

  1. What is Backend Development
  2. Who is a Backend Developer
  3. Backend Development tools and technologies
  4. Roles of a Backend developer

Prerequisites

  1. Basic knowledge of computers
  2. Basic knowledge of programming essentials
  3. Basic knowledge of software development

If you love videos, watch the live stream here

https://youtu.be/8V06Z1Y0Z94

What is Backend Development

Backend Development is the term for the behind-the-scenes activities that happens when you do anything on a website or web application. It is mostly referred to the server-side of an application and everything that communicates between the database and the frontend/browser.

You can also say that it’s the server side of development that focuses primarily on how the site works.

Who is a Backend Developer

By now you should guess right, who a Backend developer is, is based on what Backend development is all about.

A Backend Developer is a skilled software developer responsible for or skilled enough to understand, plan, develop and test the server-side/business logic of an application. In conjunction with other team members, he is responsible for deciding the best and suitable tools and technologies for the project at hand.

Backend Development Tools and Technologies

Servers:

A computer that listens for incoming requests from the clients (frontend). Example of web servers are Apache Nginx, IIS servers, Tomcat.

A list of few things a Backend developer should learn under servers.

Types of Servers

  • Static
  • Dynamic

According to MDN:

A static web server or stack consists of a computer (hardware) with an HTTP server (software). We call it “static” because the server sends its hosted files as it is to your browser”. It response/server static content.

A dynamic web server consists of a static web server plus extra software, most commonly an application server and a database. We call it “dynamic” because the application server updates the hosted files before sending them to your browser visa the HTTP server.

In a simple term, Dynamic Server responses/serves dynamic contents.

Communication protocol (HTTP)

It comprises of the formal description of rules and formats of a digital messages.

Others

  1. Load balancing
  2. Message queues

Databases

Databases are frequently used on the Backend of an application. These provides data persistence. These databases provide an interface to save data in a persistent way to memory.

Types of database

  1. MYSQL
  2. SQlite
  3. MongoDB
  4. PostgreDB
  5. etc

Things to learn in databases as a Backend developer

  • Schemas
  • Normalization
  • Indexes
  • Stored procedure and triggers
  • Wide knowledge of SQL, DDL & DML
  • Views
  • Strong database optimization skills

You can read more here..

Operating Systems

When it comes to operating systems, I think every software developer should have a strong knowledge of their operating system.

According to James Le

An operating system is a collection of software that manages computer hardware and provides services for programmes.

Types of Operating Systems

  • Linux
  • Windows
  • Mac OS
  • E.t.c

Every developer should have a basic knowledge of these OS concepts.

Things to learn in Operating Systems

  • Memory management
  • Cloud computing
  • Processes & process management
  • Inter process communication
  • Threads and concurrency
  • Input and output management
  • Scheduling
  • Distributed file system
  • Virtualization

Take a look at the 10 operating systems concept software developers need to remember by James Le.

Software Stack

There are great list of server-side programming languages and frameworks to choose from in building the business/server logic of any application.

Check out the top 5 Backend framework.

The list below shows a recommended list of common topics a Backend developer should master in any programming language of choice.

  • Session management
  • Authentication & Authorization
  • Caching Mechanisms
  • APIs & Web Services
  • Software architectures (MVC)
  • Software design patterns
  • Algorithms and data structures
  • Structured logging
  • Debugging, profiling and tracing
  • Deployment
  • Software testing
  • Frameworks and Package Managers

I will be releasing each of these topics in series in our official Youtube channel every Saturday, click to subscribe so you don’t miss it.

Things to consider as a Backend Developer

  • Scalability
  • Security
  • Robustness
  • Readability
  • Performance Oriented
  • Maintainability

Roles of a Backend Developer

  1. Understands the goals of the software and comes up with effective solutions.
  2. Compile and analyze data, processes and codes to troubleshoot problems and identify areas of improvement.
  3. Collaborating with the frontend developers and other teams to establish objectives and design models (architecture).
  4. Manipulating data and ensure authorized access to it at all times.
  5. Developing, managing and working with external API resources across all devices securely.
  6. Organizing the logic of the system using and implementing proper algorithms.

Conclusion

Thanks for reading my Introduction to Backend Development. Everything I have listed above is from my personal experience.

If you love watching videos, here you go:

https://youtu.be/8V06Z1Y0Z94

If you have been following this publication for a while now, you will notice that this publication is as a result of a Backend Developers Community using this medium to share, educate and train its members in all aspects of Backend Development.

Recently, our Backend Development Community launched a weekly Live Stream dedicated to discussions around Backend Development.

Subscribe to the official Youtube Channel

If you enjoy this post make sure you give 50 claps and Follow our publication to get more updates.

If you are interested in Backend development (or you’re an internet enthusiast) both (Mobile | Web | Desktop) subscribe to our Youtube channel, we will be posting a collection of helpful tutorials and guides like this one for artisans.


Top comments (6)

Collapse
 
miachrist profile image
Mia Christ

Solomon you shared such an informative introductory article about backend development. But I think companies and development team that want to complete their projects quickly can also consider using Backend as a Service or Mobile Backend as a Service platforms.

Whether you want to build an app, want to manage database or admin panel, this source can help you in perfectly performing all of these activities by using a BaaS platform. I think you should suggest few BaaS platforms like Backendless, Firebase and AWS Amplify and their features in backend section to expand its significance.

Collapse
 
jmmadubuike profile image
Joseph Mmadubuike

Can we connect?

Collapse
 
celnethub profile image
Celestine

Nice write up Solomon... I am an aspiring Backend Developer. Can I have you as a mentor?

Collapse
 
kaperskyguru profile image
Solomon Eseme • Edited

Sure. You can reach out to me anytime.

Collapse
 
iambenjamen profile image
Areo Benjamen

How is it going Celestine?